跳至內容

模組:Infobox

出自轻之舟百科

此模塊的文檔可以在Module:Infobox/doc創建

local p = {}

function p.main(frame)
    local args = frame.args
    local title = args['名称'] or mw.title.getCurrentTitle().text
    
    local html = mw.html.create('table')
    html:addClass('infobox')
    :css('width', '250px')
    :css('border', '1px solid #aaa')
    :css('background', '#f9f9f9')
    
    -- 标题行
    local caption = html:tag('caption')
    caption:wikitext("'''" .. title .. "'''")
    
    -- 添加数据行
    local fields = {'姓名', '出生日期', '职业', '国籍'}
    for _, field in ipairs(fields) do
        if args[field] and args[field] ~= '' then
            local row = html:tag('tr')
            row:tag('th'):css('text-align', 'left'):wikitext(field)
            row:tag('td'):wikitext(args[field])
        end
    end
    
    return tostring(html)
end

return p