Modul zur Erstellung von Infoboxen, Siehe Vorlage:Infobox für mehr Informationen
local p = {}
local function infoboxTemplate(frame)
local args = frame:getParent().args
local root = mw.html.create('div')
:addClass('infobox')
:css('width', '22em')
if args['title'] then
root:tag('div')
:addClass('infobox-title')
:wikitext(args['title'])
end
if args['image'] then
root:tag('div')
:addClass('infobox-image')
:wikitext(string.format('[[Datei:%s|center|280px|%s]]', args['image'], args['image-alt'] or ''))
end
if args['subtitle'] then
root:tag('div')
:addClass('infobox-subtitle')
:wikitext(args['subtitle'])
end
for i = 1, 50 do
local label = args['label' .. i]
local data = args['data' .. i]
if not label or not data then break end
root:tag('div')
:addClass('infobox-row')
:tag('div')
:addClass('infobox-label')
:wikitext(label)
:done()
:tag('div')
:addClass('infobox-data')
:wikitext(data)
:done()
end
return tostring(root)
end
function p.infobox(frame)
return infoboxTemplate(frame)
end
return p