模块:Error:修订间差异

    来自中国珂学院
    wp>Xiplus
    小 (已更改“模块:Error”的保护等级:高风险模板([编辑=仅管理员](无限期)[移动=仅管理员](无限期)))
     
    小 (导入1个版本)
    (没有差异)

    2020年3月1日 (日) 18:26的版本

    可在模块:Error/doc创建此模块的帮助文档

    -- 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