« 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 53 : | Ligne 53 : | ||
function p.ebauche(frame) | function p.ebauche(frame) | ||
--Construction HTML du bandeau d'ebauche | |||
args = frame:getParent().args | args = frame:getParent().args | ||
local res = mw.html.create('div') | |||
res:addClass('test-bandeau-article test-bandeau-niveau-information plainlinks') | |||
if argument('image') then | if argument('image') then | ||
res | |||
:tag('div') | |||
:addClass('test-bandeau-image') | |||
:wikitext(args.image) | |||
end | end | ||
res | |||
:tag('p') | |||
:addClass('test-bandeau-texte') | |||
:wikitext(argument('texte') or erreur(p.erreurArgumentTitre)) | |||
return | return tostring(res) | ||
end | end | ||
function argument(parametre) | function argument(parametre) | ||
| Ligne 78 : | Ligne 80 : | ||
function erreur(texte) | function erreur(texte) | ||
return '<span class="error">Erreur : ' .. texte .. '</span>' | return '<span class="error">Erreur : ' .. texte .. '</span>' | ||
end | end | ||
return p | return p | ||
Version du 20 février 2014 à 13:49
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 TableBuilder = require('Module:TableBuilder')
p.classStructureBoite = 'bandeau-simple plainlinks'
p.styleStructureBoite = 'background:#f9f9f9;'
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)
args = frame:getParent().args
--Code HTML brut
if args.raw then
res = frame:preprocess('<nowiki>' .. p._bandeau() .. '</nowiki>') .. '\n:Éxecution : ' .. os.clock() .. 's'
return res
else
return p._bandeau()
end
end
function p._bandeau()
--Construction HTML du bandeau
local res = mw.html.create('div')
res
:addClass(argument('class') or p.classStructureBoite)
:cssText(tostring(argument('style')))
if argument('image') then
res
:tag('div')
:addClass('test-bandeau-image')
:wikitext(args.image)
end
res
:tag('p')
:addClass('test-bandeau-texte')
:wikitext(argument('texte') or erreur(p.erreurArgumentTitre))
return tostring(res)
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 argument('image') then
res
:tag('div')
:addClass('test-bandeau-image')
:wikitext(args.image)
end
res
:tag('p')
:addClass('test-bandeau-texte')
:wikitext(argument('texte') or erreur(p.erreurArgumentTitre))
return tostring(res)
end
function argument(parametre)
--Test de paramètre vide interprété par Lua
if args[parametre] == '' then return nil end
return args[parametre]
end
function erreur(texte)
return '<span class="error">Erreur : ' .. texte .. '</span>'
end
return p