Modul:Infocasetă
Aspect
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
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')
:css('color', '#000') -- Asigură text negru lizibil pe fundal deschis
:wikitext(titlu)
-- Rânduri (Forțăm interpretarea ca wikitext/HTML prin preprocess)
if args['rows'] and args['rows'] ~= '' then
-- Aici se întâmplă magia: frame:preprocess transformă textul brut în HTML curat
local randuriParsate = frame:preprocess(args['rows'])
html:wikitext(randuriParsate)
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(frame:preprocess(args['footer']))
end
return tostring(html)
end
return p