« Module:Bandeau de rubrique » : différence entre les versions
Page créée avec « local p = {} -------------------------------------------------------- ----- Référentiel des bandeaux de rubrique ----- -----------------------------------------… » |
(Aucune différence)
|
Version du 6 juillet 2021 à 17:44
La documentation pour ce module peut être créée à Module:Bandeau de rubrique/doc
local p = {}
--------------------------------------------------------
----- Référentiel des bandeaux de rubrique -----
--------------------------------------------------------
data = {
["principal"] = {
warning = false,
text = function(args)
local link = args[1]
local display = args['t1'] or link
if not link then return end
text = '[[' .. link .. '|' .. display .. ']]'
local many = false
for i = 2, 5 do
local link = args[i]
local display = args['t' .. i] or link
if link then
many = true
text = text .. ', [[' .. link .. '|' .. display .. ']]'
else
break
end
end
if many then
text = 'Articles principaux : ' .. text
else
text = 'Article principal : ' .. text
end
return text
end
},
["extrait"] = {
warning = false,
text = function(args)
local article = args[1]
local section = args[2]
return 'Extrait de l\'article [[' .. args[1] .. ']], section '
.. args[2] .. '. ([{{fullurl:' .. article .. '|action=edit}} modifier])'
end
}
}
-----------------------------------------------------------
function p.build(frame)
local args = {}
args.nom = frame.args.nom
local argsParent = frame:getParent().args
for cle, val in pairs(argsParent) do
if val then
args[cle] = mw.text.trim(val)
end
end
return p._build(args)
end
function p._build(args)
local banner = data[args.nom:lower()]
local image = banner.image or ''
local text = banner.text
local category = banner.category or ''
if category ~= '' then
if game ~= '' then
game = require( 'Module:Abréviation' ).name(game) or ''
if game ~= '' then
game = ' (' .. game .. ')'
end
end
category = '[[Catégorie:' .. category .. game .. ']]'
end
if image ~= '' then
image = mw.html.create( 'span' )
:addClass( 'avt-section-banner-img' )
:wikitext( '[[Fichier:' .. image .. '|x30px|link=|alt=]]' )
:done()
end
if type(text) == 'function' then
text = text(args)
end
local res = mw.html.create( 'div' )
:addClass( 'avt-section-banner noexcerpt' )
:wikitext(tostring(image) .. text)
:done()
return tostring(res) .. category
end
return p