Module:Bandeau : Différence entre versions
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