Module:Error
Appearance
| This Lua module is used on approximately 52,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
| This module is rated as ready for general use. It has reached a mature state, is considered relatively stable and bug-free, and may be used wherever appropriate. It can be mentioned on help pages and other Wikipedia resources as an option for new users. To minimise server load and avoid disruptive output, improvements should be developed through sandbox testing rather than repeated trial-and-error editing. |
| This module is currently protected from editing. See the protection policy and protection log for more details. Please discuss any changes on the talk page; you may submit an edit request to ask an administrator to make an edit if it is uncontroversial or supported by consensus. You may also request that this page be unprotected. |
This module implements {{Error}}. It creates an html message with class "error". Please, see the documentation page there for usage instructions.
See also
-- This module functions a lot like {{error}}, but uses fancier css.
local p = {}
local HtmlBuilder = require('Module:HtmlBuilder')
local function _error(args)
local s = args.message or args[1] or error('no message specified', 2)
local tag = mw.ustring.lower(tostring(args.tag))
local t
if tag == 'p' or tag == 'span' or tag == 'div' then
t = tag
else
t = 'strong'
end
local root = HtmlBuilder.create(t)
root
.addClass('error')
.css('float', 'left')
.css('white-space', 'nowrap')
.wikitext('Error: ' .. tostring(s))
return tostring(root)
end
function p.error(frame)
local origArgs
if frame == mw.getCurrentFrame() then
-- We're being called via #invoke. If the invoking template passed any args, use
-- them. Otherwise, use the args that were passed into the template.
origArgs = frame:getParent().args
for k, v in pairs(frame.args) do
origArgs = frame.args
break
end
else
-- We're being called from another module or from the debug console, so assume
-- the args are passed in directly.
origArgs = frame
end
-- ParserFunctions considers the empty string to be false, so to preserve the previous
-- behavior of the template, change any empty arguments to nil, so Lua will consider
-- them false too.
local args = {}
for k, v in pairs(origArgs) do
if v ~= '' then
args[k] = v
end
end
local args = origArgs
return _error(args)
end
return p