跳转到内容

模块:Tabs

来自SS唯基

此模块的文档可以在模块:Tabs/doc创建

local p = {}

function p.render(frame)
    local args = frame:getParent().args
    local container = mw.html.create('div'):addClass('tabs-container')
    
    local ul = container:tag('ul'):addClass('tabs-pages')
    local firstTab = true
    for i = 1, 20 do
        local tabName = args['tab' .. i]
        if tabName and tabName ~= "" then
            local li = ul:tag('li'):addClass('tab')
            if firstTab then li:addClass('active') end
            li:tag('strong'):wikitext(tabName)
            firstTab = false
        end
    end

    local contentDiv = container:tag('div'):addClass('tabs-contents')
    local firstContent = true
    for i = 1, 20 do
        local content = args['content' .. i]
        if content and content ~= "" then
            local tabC = contentDiv:tag('div'):addClass('tab-c')
            if firstContent then tabC:addClass('active') end
            
            tabC:tag('div'):addClass('inner-content')
                :wikitext('\n' .. frame:preprocess(content) .. '\n')
            
            firstContent = false
        end
    end

    return tostring(container)
end

return p