Sari la conținut

Modul:Infocasetă

De la Enciclopedia Trimeria
Versiunea din 29 mai 2026 18:21, autor: Tzipirigu (discuție | contribuții) (test infocasete)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

Documentația acestui modul poate fi creată la Modul:Infocasetă/doc

local p = {}

function p.infobox(frame)
    local args = frame.args
    local parentArgs = frame:getParent().args
    
    local html = mw.html.create('table')
    html:addClass('infobox')
        :css('float', 'right')
        :css('width', args.width or '300px')
        :css('border', '1px solid #a2a9b1')
        :css('background-color', '#f8f9fa')
        :css('padding', '5px')
        :css('font-size', '88%')
        :css('margin', '0 0 1em 1em')
        :css('border-collapse', 'collapse')

    -- Titlu / Nume (folosește parametrul 'nume' sau numele paginii)
    local titlu = parentArgs['nume'] or mw.title.getCurrentTitle().text
    html:tag('tr')
        :tag('th')
            :attr('colspan', '2')
            :css('text-align', 'center')
            :css('font-size', '125%')
            :css('font-weight', 'bold')
            :css('background-color', '#def')
            :css('padding', '5px')
            :wikitext(titlu)

    -- Randuri (conținutul generat de sub-șabloane)
    if args['rows'] then
        html:wikitext(args['rows'])
    end

    -- Footer (Notițe)
    if args['footer'] and args['footer'] ~= '' then
        html:tag('tr')
            :tag('td')
                :attr('colspan', '2')
                :css('font-size', '90%')
                :css('border-top', '1px solid #a2a9b1')
                :css('padding', '5px')
                :wikitext(args['footer'])
    end

    return tostring(html)
end

return p