模块:Error:修订间差异
wp>Xiplus 小 (已更改“模块:Error”的保护等级:高风险模板([编辑=仅管理员](无限期)[移动=仅管理员](无限期))) |
小无编辑摘要 |
||
| (未显示另一用户的1个中间版本) | |||
| 第4行: | 第4行: | ||
local function _error(args) | local function _error(args) | ||
local message = args.message or args[1] or error(' | local message = args.message or args[1] or error('没有指定的信息', 2) | ||
message = tostring(message) | message = tostring(message) | ||
local tag = mw.ustring.lower(tostring(args.tag)) | local tag = mw.ustring.lower(tostring(args.tag)) | ||
2020年4月24日 (五) 09:29的最新版本
可在模块:Error/doc创建此模块的帮助文档
-- This module implements {{error}}.
local p = {}
local function _error(args)
local message = args.message or args[1] or error('没有指定的信息', 2)
message = tostring(message)
local tag = mw.ustring.lower(tostring(args.tag))
-- Work out what html tag we should use.
if not (tag == 'p' or tag == 'span' or tag == 'div') then
tag = 'strong'
end
-- Generate the html.
local root = mw.html.create(tag)
root
:addClass('error')
:wikitext(message)
return tostring(root)
end
function p.error(frame)
local args
if frame == mw.getCurrentFrame() then
-- We're being called via #invoke. The args are passed through to the module
-- from the template page, so use the args that were passed into the template.
args = frame.args
else
-- We're being called from another module or from the debug console, so assume
-- the args are passed in directly.
args = frame
end
-- if the message parameter is present but blank, change it to nil so that Lua will
-- consider it false.
if args.message == "" then
args.message = nil
end
return _error(args)
end
return p