「モジュール:Error」の版間の差分
提供: ひつじ小屋別館2代目
細 (1版) |
細 (1版) |
(2人の利用者による、間の2版が非表示) | |
(相違点なし)
|
2014年1月25日 (土) 22:59時点における最新版
This template is used on 1,180,000 pages. To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its /sandbox or /testcases subpages, or in your own user space. The tested changes can then be added to this page in one single edit. Please consider discussing any changes on the talk page before implementing them. |
This module is subject to page protection. It is a highly visible module in use by a very large number of articles, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is is protected from editing. |
This module creates an html message with class "error". It is a replacement for {{error}} - please see the documentation page there for usage instructions.
-- This module implements {{error}}.
local p = {}
local HtmlBuilder = require('Module:HtmlBuilder')
local function _error(args)
local message = args.message or args[1] or error('no message specified', 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 = HtmlBuilder.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