Implements Template:Infoboxes
local mArguments --initialize lazily
local getArgNums = require('Module:Common').getArgNums
local p = {}
--Implements {{infoboxes}} from the frame
function p.infoboxes(frame)
mArguments = require('Module:Arguments')
return p._infoboxes(mArguments.getArgs(frame), frame)
end
function p._infoboxes(args, frame)
if not args then
return 'Missing arguments'
end
local html = mw.html.create('div'):addClass('tg-infoboxes floatright')
local tabber = require('Module:Tabber').renderTabber
local tabberData = {}
local tabCount = 1
for i, _ in ipairs(getArgNums('content', args)) do
local num = tostring(i)
local content = args['content' .. num]
local label = args['label' .. num]
if not content and label then return end
tabberData['label' .. tabCount] = label
tabberData['content' .. tabCount] = content
tabCount = tabCount + 1
end
html:wikitext(tabber(tabberData))
return frame:extensionTag {
name = 'templatestyles', args = { src = 'Module:Infoboxes/styles.css' }
} .. tostring(html)
end
return p