« Module:Introduction de page-liste » : différence entre les versions

De Les Archives de Vault-Tec
Kharmitch (discussion | contributions)
Page créée avec « local p = {} local abb = require('Module:Abréviation') function p.build(frame) local args = require('Module:Outils').extractArgs(frame) local game = args['jeu']… »
 
Kharmitch (discussion | contributions)
mAucun résumé des modifications
Ligne 30 : Ligne 30 :
}
}
local categories = abb.categories({ game, subject, '*' })
local categories = abb.categories({ game, plural, '*' }) or ''
if contentBox then
if contentBox then

Version du 21 juin 2021 à 10:09

La documentation pour ce module peut être créée à Module:Introduction de page-liste/doc

local p = {}

local abb = require('Module:Abréviation')

function p.build(frame)
	local args = require('Module:Outils').extractArgs(frame)
	
	local game     = args['jeu']
	local gameName = abb.name(game)
	
	local subject     = args['sujet'] or ''
	local plural      = (args['pluriel'] or (subject .. 's')):lower()
	local description = args['description']

	local mainSubjectLink = args['lien du sujet'] or subject
	
	local contextBox = args['boîte de contenu'] ~= 'non'
	
	local intro = ''
	if description then
		intro = description
	else
		intro = "Cette page fait l'inventaire des '''" .. plural .. "''' de " .. "''[[" .. gameName .. "]]''."
	end
	
	local puce = {
		"Vous pouvez cliquer sur le nom d'un élément pour obtenir plus d'informations à son sujet.",
		"Si vous voulez en savoir plus sur les " .. plural .. " de la série, vous pouvez vous rendre sur la page suivante : [[" .. mainSubjectLink .. "|" .. subject .. "]].",
		"Utilisez le [[Portail:" .. gameName .. "|portail]] pour obtenir une vue d'ensemble du contenu de ''" .. gameName .. "''."
	}
	
	local categories = abb.categories({ game, plural, '*' }) or ''
	
	if contentBox then
		contentBox = require('Module:Boîte de contenu de jeu').build({ args = { nom = gameName }})
	else
		contentBox = ''
	end
	
	local intro = mw.html.create('div')
		:addClass('avt-introduction')
		:tag('p')
			:wikitext(intro)
			:done()
		:tag('ul')
			:tag('li'):wikitext(puce[1]):done()
			:tag('li'):wikitext(puce[2]):done()
			:tag('li'):wikitext(puce[3]):done()
		:allDone()
		
	return contentBox .. tostring(intro) .. categories
end

return p