Difference between revisions of "Module:Infobox"
From WikiTemp, the GBAtemp wiki
(Created page with "--- Simple infobox module local p = {} --- Main function function p.infobox( frame ) local args if frame == mw.getCurrentFrame() then args = frame:getParent().args else...") |
(No difference)
|
Revision as of 11:46, 22 October 2016
↑ Module Documentation ↓ [Create • Reload] |
---|
No documentation available. Add new documentation.
|
The Module documentation will automatically appear in this box after the documentation page is created. |
--- Simple infobox module local p = {} --- Main function function p.infobox( frame ) local args if frame == mw.getCurrentFrame() then args = frame:getParent().args else args = frame end local infobox = mw.html.create('table'):addClass('infobox') -- Title local title = args.title if not title or title == '' then title = mw.title.getCurrentTitle().text end infobox:tag('tr'):addClass('infobox-title'):tag('th'):attr('scope','col'):attr('colspan',2):wikitext(title) -- Image local image = args.image if image and image ~= '' then if image:sub(1,2) ~= '[[' then if not image:find(':') then image = 'File:' .. image end image = '[[' .. image .. '|' .. (args.imagesize or '200px') .. ']]' end local imgcell = infobox:tag('tr'):addClass('infobox-image'):tag('td') :attr('colspan',2):wikitext(image) local caption = args.imagecaption if caption and caption ~= '' then imgcell:wikitext("<br />''" .. caption .. "''") end end -- Rows for i = 1, 20 do local header = args['header' .. i]; if header == '' then header = nil end local label = args['label' .. i]; if label == '' then label = nil end local data = args['data' .. i]; if data == '' then data = nil end if header then infobox:tag('tr'):addClass('infobox-header') :tag('th'):attr('scope','col'):attr('colspan',2):wikitext(header) end if data then if label then infobox:tag('tr') :tag('th'):attr('scope','row'):addClass('infobox-label'):wikitext(label):done() :tag('td'):addClass('infobox-data'):wikitext(data) else infobox:tag('tr') :tag('td'):addClass('infobox-data'):attr('colspan',2) :css('text-align','center'):wikitext(data) end end end -- Below local below = args.below if below and below ~= '' then infobox:tag('tr'):addClass('infobox-below'):tag('td'):attr('colspan',2):wikitext(below) end return infobox end return p