模块:Navbox

你好,领航员,欢迎来到地球联合百科!

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

local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.box(frame)
    local args = getArgs(frame)
    return p._box(args, frame)
end

function p._box(args, frame)
    local navbox = mw.html.create('table') --外层

    local editButton = mw.html.create('div'):addClass('navbox-edit plainlinks')
    if args['tl'] then
        editButton
            :attr('title', '编辑此模板')
            :wikitext('[' .. mw.getCurrentFrame():callParserFunction('fullurl', 'Template:' .. args['tl'], 'action=edit') .. ' 编]')
    end

    navbox
        :addClass('navbox mw-collapsible')
        :tag('tr')
        :tag('th')
        :addClass('navbox-name')
        :attr('style', args['nstyle'] or '')
        :attr('colspan', '2')
        :wikitext(tostring(editButton or '') .. args['name'])

    local i = 1
    while args['title' .. i] do
        navbox
            :tag('tr')
            :tag('th')
            :addClass('navbox-title')
            :attr('style', args['tstyle'] or '')
            :wikitext(args['title' .. i])
            :done()
            :tag('td')
            :attr('style', args['cstyle'] or '')
            :wikitext(args['content' .. i])

        i = i + 1
    end

    if args['bottom'] then
        navbox
            :tag('tr')
            :tag('td')
            :attr('colspan', '2')
            :attr('style', args['bstyle'] or '')
            :addClass('navbox-bottom')
            :wikitext(args['bottom'])
    end

    return navbox
end

return p