模块:R-18:修订间差异

跳到导航 跳到搜索
添加983字节 、​ 2014年5月18日 (星期日)
无名测试
无编辑摘要
Zev讨论 | 贡献
(无名测试)
第1行: 第1行:
local p = {}
-- 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)endfunction 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)endreturn p
function p.modules(frame)
    local names = {};
    for k,v in pairs(package.loaded) do table.insert(names, k); end
    return table.concat{ '{|\n!Modules\n|-\n| ', table.concat( names, '\n|-\n| ' ), '\n|}' };
end
return p;
515

个编辑

导航菜单