Module:Boîte de contenu de jeu

La documentation pour ce module peut être créée à Module:Boîte de contenu de jeu/doc

local p = {}

function addItem(item)
	local type = type(item)
	
	if type == 'string' then
		return '<li>' .. item .. '</li>'
	elseif type == 'table' then
		local sublist = '<ul>'
		for i, subitem in pairs(item) do
			sublist = sublist .. addItem(subitem)
		end
		list = list .. '</ul>'
		return list
	end
end

function p.build(frame)
	local args = require('Module:Outils').extractArgs(frame)
	
	-- chargement du module de paramétrage
	local moduledata = require('Module:Boîte de contenu de jeu/' .. args.nom)
	
	local list = '<ul class="avt-content-game-box-list" aria-labelledby="avt-content-game-box-title">'
	for i, item in pairs(moduledata.items) do
		list = list .. addItem(item)
	end
	local list = list .. '</ul>'
	
	local contentBox = mw.html.create('aside')
		:addClass('avt-content-game-box')
		:tag('div')
			:att('id', 'avt-content-game-box-title')
			:wikitext('Contenu de \'\'[[' .. moduledata.game .. ']]\'\'')
			:done()
		:node(list)

	return tostring(contentBox)
end

return p