« Module:Bandeau » : différence entre les versions
Aller à la navigation
Aller à la recherche
Modèle>Hlm Z. Aucun résumé des modifications |
Modèle>Hlm Z. Aucun résumé des modifications |
||
| Ligne 63 : | Ligne 63 : | ||
function p.bandeauAvertissement(args) | function p.bandeauAvertissement(args) | ||
local htmlTexte = mw.html.create() | |||
local icones = { | local icones = { | ||
grave = 'Fairytale no.svg', | grave = 'Fairytale no.svg', | ||
| Ligne 69 : | Ligne 70 : | ||
['ébauche'] = 'Nuvola apps kedit.svg' | ['ébauche'] = 'Nuvola apps kedit.svg' | ||
} | } | ||
htmlTexte | |||
:tag('strong') | :tag('strong') | ||
:wikitext(args.titre or erreur('Paramètre |titre= introuvable')) | :wikitext(args.titre or erreur('Paramètre |titre= introuvable')) | ||
| Ligne 78 : | Ligne 79 : | ||
:wikitext(args.texte) | :wikitext(args.texte) | ||
local | local parametres = { | ||
classe = 'article', | classe = 'article', | ||
niveau = args.niveau, | niveau = args.niveau, | ||
image = args['icône'] or icones[niveau], | image = args['icône'] or icones[niveau], | ||
texte = tostring(htmlTexte) | texte = tostring(htmlTexte) | ||
} | } | ||
return | return p._bandeau(parametres) | ||
end | end | ||
Version du 26 juillet 2014 à 00:04
La documentation pour ce module peut être créée à Module:Bandeau/doc
--Ce module implémente le modèle {{Bandeau}}.
--Standardisation des bandeaux ([[Catégorie:Modèle de bandeau]]).
--Créer une fonction exportable pour le modèle {{Bandeau}} (ns:all).
--Créer une fonction exportable pour les bandeaux d'article (ns:0).
--Créer une fonction exportable pour les bandeaux de section (ns:0).
--Créer une fonction exportable pour les bandeaux d'ébauche (ns:0).
--Créer une fonction exportable pour les bandeaux de discussion (ns:1).
--Créer une fonction exportable pour les bandeaux système (ns:8).
local p = {}
local format = mw.ustring.format
p.classeSimple = 'simple'
p.niveauNeutre = 'neutre'
p.styleStructureImage = 'display:table-cell; vertical-align:middle; width:50px;'
p.styleStructureTexte = 'display:table-cell; vertical-align:middle;'
p.erreurArgumentTitre = 'Paramètre « texte » manquant'
function p.bandeau(frame)
local args = {}
local argsParent = frame:getParent().args
--Paramètres vides interprétés par Lua
for cle, val in pairs(argsParent) do
if val ~= '' then
args[cle] = val
end
end
return p._bandeau(args)
end
function p._bandeau(argsBandeau)
args = argsBandeau
local res = mw.html.create('div')
res
:addClass('test-bandeau-' .. (args.classe or 'simple'))
:addClass('test-bandeau-niveau-' .. (args.niveau or 'neutre'))
:addClass('plainlinks')
:cssText(args.style) --Provisoire
if args.image then
local imageFormat = res:tag('div')
:addClass('test-bandeau-image')
if mw.ustring.sub(args.image, 1, 1) == '[' then
imageFormat:wikitext(args.image)
else
imageFormat:wikitext(format('[[Fichier:%s|40px|alt=%s|link=]]',
args.image,
args['légende'] or ''))
end
end
res
:tag('p')
:addClass('test-bandeau-texte')
:wikitext(args.texte or erreur(p.erreurArgumentTitre))
return tostring(res)
end
function p.bandeauAvertissement(args)
local htmlTexte = mw.html.create()
local icones = {
grave = 'Fairytale no.svg',
['modéré'] = 'Emblem-important.svg',
information = 'Information icon.svg',
['ébauche'] = 'Nuvola apps kedit.svg'
}
htmlTexte
:tag('strong')
:wikitext(args.titre or erreur('Paramètre |titre= introuvable'))
:done()
:tag('br')
:done()
:wikitext(args.texte)
local parametres = {
classe = 'article',
niveau = args.niveau,
image = args['icône'] or icones[niveau],
texte = tostring(htmlTexte)
}
return p._bandeau(parametres)
end
function erreur(texte)
return '<span class="error">Erreur : ' .. texte .. '</span>'
end
function p.ebauche(frame)
--Construction HTML du bandeau d'ebauche
args = frame:getParent().args
local res = mw.html.create('div')
res:addClass('test-bandeau-article test-bandeau-niveau-information plainlinks')
if args.image then
res
:tag('div')
:addClass('test-bandeau-image')
:wikitext(args.image)
end
res
:tag('p')
:addClass('test-bandeau-texte')
:wikitext(args.texte or erreur(p.erreurArgumentTitre))
return tostring(res)
end
return p