Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Please sign up or log in to edit the wiki.

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