« Module:Bandeau » : différence entre les versions

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
Aucun résumé des modifications
0x010D (discussion | contributions)
Aucun résumé des modifications
Ligne 18 : Ligne 18 :


function p.bandeau(frame)
function p.bandeau(frame)
args = frame:getParent().args
local args = {}
local argsParent = frame:getParent().args


--Code HTML brut
--Paramètres vides interprétés par Lua
if args.raw then
for cle, val in pairs(argsParent) do
res = frame:preprocess('<nowiki>' .. p._bandeau() .. '</nowiki>') .. '\n:Éxecution : ' .. os.clock() .. 's'
if val ~= '' then
return res
args[cle] = val
else
end
return p._bandeau()
end
end
return bandeau(args)
end
end


function p._bandeau()
function _bandeau(argsBandeau)
--Construction HTML du bandeau
args = argsBandeau
local res = mw.html.create('div')
local res = mw.html.create('div')


res
res
:addClass(argument('class') or p.classStructureBoite)
:addClass(argument('class') or p.classStructureBoite)
:cssText(tostring(argument('style')))
:cssText(args.style or '')
if argument('image') then
if argument('image') then
res
res
Ligne 45 : Ligne 47 :
:tag('p')
:tag('p')
:addClass('test-bandeau-texte')
:addClass('test-bandeau-texte')
:wikitext(argument('texte') or erreur(p.erreurArgumentTitre))
:wikitext(args.texte or erreur(p.erreurArgumentTitre))
 
--Code HTML brut
if args.raw then
return frame:preprocess('<nowiki>' .. tostring(res) .. '</nowiki>')
.. '\n:Éxecution : ' .. os.clock() .. 's'
end


return tostring(res)
return tostring(res)
end
function erreur(texte)
return '<span class="error">Erreur : ' .. texte .. '</span>'
end
end


Ligne 56 : Ligne 68 :


res:addClass('test-bandeau-article test-bandeau-niveau-information plainlinks')
res:addClass('test-bandeau-article test-bandeau-niveau-information plainlinks')
if argument('image') then
if args.image then
res
res
:tag('div')
:tag('div')
Ligne 65 : Ligne 77 :
:tag('p')
:tag('p')
:addClass('test-bandeau-texte')
:addClass('test-bandeau-texte')
:wikitext(argument('texte') or erreur(p.erreurArgumentTitre))
:wikitext(args.texte or erreur(p.erreurArgumentTitre))


return tostring(res)
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
end


return p
return p

Version du 24 mai 2014 à 23:05

--Ce module implémente le modèle Modèle:Bandeau.

--Standardisation des bandeaux (). --Créer une fonction exportable pour le modè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 = {}

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) 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 bandeau(args) end

function _bandeau(argsBandeau) args = argsBandeau local res = mw.html.create('div')

res :addClass(argument('class') or p.classStructureBoite) :cssText(args.style or ) if argument('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))

--Code HTML brut if args.raw then return frame:preprocess('' .. tostring(res) .. '') .. '\n:Éxecution : ' .. os.clock() .. 's' end

return tostring(res) end

function erreur(texte) return 'Erreur : ' .. texte .. '' 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