Jump to content

Module:Blocks

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Harej (talk | contribs) at 00:01, 7 May 2023 (accept contentN parameter). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

local p = {}

function p.main(frame)
    local parent = frame:getParent()
    local pages = {}
    local index = 1

    while parent.args['page' .. index] or parent.args['content' .. index] do
        local pageName = parent.args['page' .. index]
        local content = parent.args['content' .. index]
        local sectionName = parent.args['section' .. index]
        local pageDiv = mw.html.create('div'):addClass('blocks-block')

        if sectionName then
            pageDiv:wikitext('\n==' .. sectionName .. '==')
        end

        if pageName then
            local transcludedContent = frame:expandTemplate{title = pageName}
            pageDiv:wikitext('\n' .. transcludedContent)
        elseif content then
            pageDiv:wikitext('\n' .. content)
        end

        table.insert(pages, pageDiv)
        index = index + 1
    end

    if #pages == 0 then
        return ''
    end

    local mainDiv = mw.html.create('div')
    for _, pageDiv in ipairs(pages) do
        mainDiv:node(pageDiv)
    end

    return tostring(mainDiv)
end

return p