Module:Bandeau d'avertissement
La documentation pour ce module peut être créée à Module:Bandeau d'avertissement/doc
local p = {}
-----------------------------------------------------------
----- Référentiel des bandeaux de maintenance -----
-----------------------------------------------------------
data = {
["ébauche"] = {
image = "Atelier de rédaction.png",
title = "Cet article est une ébauche et mériterait un meilleur développement.",
description = "Vous pouvez aider les Archives de Vault-Tec en partageant vos connaissances sur le sujet ([[Aide:Modifier les pages|comment ?]]) ; n'hésitez pas à consulter le [[Les Archives de Vault-Tec:Guide de l'utilisateur|guide de l'utilisateur]] pour connaitre toutes nos recommandations.",
category = "Ébauches"
},
["en cours"] = {
image = "Atelier de rédaction.png",
title = function(args)
local user = args.utilisateur
if user then user = '[[Utilisateur:'..user..'|'..user..']]' else user = 'utilisateur ?' end
return "L'utilisateur " .. user .. " travaille en ce moment sur cet article."
end,
description = "Merci de le contacter sur sa page de discussion avant de modifier l'article. Sans réponse de sa part 72 heures après votre demande, vous êtes autorisé à modifier la page.",
category = "Articles en cours"
},
}
-----------------------------------------------------------
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 'bandeau de maintenance - defaut.png'
local title = banner.title or 'Titre ?'
local description = banner.description
local category = banner.category or ''
local game = args[1] or ''
local note = args[2]
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 type(title) == 'function' then
title = title(args)
end
title = mw.html.create( 'p' )
:addClass( 'avt-maintenance-banner-title' )
:wikitext( title )
:done()
if description then
if type(description) == 'function' then
description = description(args)
end
description = mw.html.create( 'p' )
:addClass( 'avt-maintenance-banner-desc' )
:wikitext( description )
:done()
end
if note then
note = mw.html.create( 'p' )
:addClass( 'avt-maintenance-banner-note' )
:wikitext( 'Note : ' .. note )
:done()
end
local res = mw.html.create( 'div' )
:addClass( 'avt-maintenance-banner noexcerpt' )
:tag( 'div' )
:addClass( 'avt-maintenance-banner-img' )
:wikitext( '[[Fichier:' .. image .. '|x50px|link=|alt=]]' )
:done()
:tag( 'div' )
:addClass( 'avt-maintenance-banner-text' )
:node(title)
:node(description)
:node(note)
:done()
:done()
return tostring(res) .. category
end
return p