模组:Error
外观
| 此模块已评为稳定版,稳定可靠,可各处使用无误。已可在帮助页面和其他维基百科资源中提及,以帮助新用户学习。为降低服务器负载和错误输出,改善本模块前应进行沙盒测试,而不是重复的试错性编辑。 |
| 此模块已被保护。此高度可见模块具有高风险,或已用于大量页面或被频繁替换引用。由于破坏或失误影响程度严重,因此已被保护,只有模板编辑员可以编辑。 |
| 此模块被引用于约459,000个页面,占全部页面的5%。 为了避免造成大规模的影响,所有对此模块的编辑应先于沙盒或测试样例上测试。实施修改前,建议先在讨论页发起讨论。 模板引用数量会自动更新。 |
本模块用于生成class属性为error的错误提示,可用于{{error}},用法详见模板说明。
-- This module implements {{error}}.
local p = {}
local function _error(args)
local message = args.message or args[1] or error('没有指定的-{zh-cn:信息; zh-tw:資訊}-', 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