• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正

模块:error

来自THBWiki
跳到导航 跳到搜索
Template-info.svg 模块文档[创建]
local p = {}

function p.error(args)
    local tag = tostring(args.tag):lower()

    if tag ~= 'p' and tag ~= 'span' and tag ~= 'div' then
        tag = 'strong'
    end

    return tostring(mw.html.create(tag)
        :addClass('error')
        :cssText(args.style)
        :wikitext(tostring(args.msg or args[1] or '错误'))
    )
end

function p._main(args)
    args = args or {}
    local err = p.error(args)

    if args.cat then
        return err .. args.cat
    end

    local key = args.key or args[2] or nil

    local cat = key and '[[分类:有模板错误的页面|^' .. key .. '^]]' or '[[分类:有模板错误的页面]]'

    return err .. cat
end

function p.main(frame)
    local parent = frame:getParent()
    local title = tostring(parent:getTitle())

    local args = (title == '模板:error') and parent.args or frame.args

    -- 找出错误来自什么模板
    if not args.key and mw.ustring.sub(title, 1, 3) == '模板:' and title ~= '模板:error' then
        args.key = title
    end

    return p._main(args)
end

return p