Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:InfoboxTool

From North Forge
Revision as of 21:51, 2024 May 29 by Ttenbergen (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This was set up to generate infoboxes via Scribunto/Lua, but hasn't been developed further.


local p = {}
-- test with =p.infobox{args={["title"]="my title",["avalue"]="acontent"}}

function p.infobox(frame)
    -- Get parameters passed from the template call
    local params = frame.args

    -- Create the HTML for the infobox
    local infobox = mw.html.create('table')
        :addClass('infobox')
        :css('width', '22em')

    -- Add a title row if a title is provided
    if params.title then
        infobox:tag('tr')
            :tag('th')
                :attr('colspan', '2')
                :css('text-align', 'center')
                :wikitext(params.title)
    end

    -- Add rows for each parameter
    for key, value in pairs(params) do
        if key ~= 'title' then
            infobox:tag('tr')
                :tag('th')
                    :wikitext(key)
                :done()
                :tag('td')
                    :wikitext(value)
        end
    end

    return tostring(infobox)
end

return p