Module:Bandeau : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
Ligne 6 : Ligne 6 :
  
 
p.classStructureBoite = 'bandeau-simple plainlinks'
 
p.classStructureBoite = 'bandeau-simple plainlinks'
p.styleStructureBoite = ''--background:#f9f9f9;
+
p.styleStructureBoite = 'background:#f9f9f9;'
 
p.styleStructureImage = 'display:table-cell; vertical-align:middle; width:50px;'
 
p.styleStructureImage = 'display:table-cell; vertical-align:middle; width:50px;'
 
p.styleStructureTexte = 'display:table-cell; vertical-align:middle;'
 
p.styleStructureTexte = 'display:table-cell; vertical-align:middle;'
Ligne 25 : Ligne 25 :
 
function p._bandeau()
 
function p._bandeau()
 
--Construction HTML du bandeau
 
--Construction HTML du bandeau
structureHtml('div', args.class or p.classStructureBoite, p.styleStructureBoite)
+
structureHtml('div', arg(class) or p.classStructureBoite)
if args.image then
+
if argument(image) then
 
structureHtml('div', 'test-bandeau-image', nil, args.image)
 
structureHtml('div', 'test-bandeau-image', nil, args.image)
 
structureHtmlFin('div')
 
structureHtmlFin('div')
Ligne 35 : Ligne 35 :
  
 
return tab.concat()
 
return tab.concat()
 +
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
  

Version du 15 février 2014 à 22:32

La documentation pour ce module peut être créée à Module:Bandeau/doc

--Ce module implémente le modèle {{Bandeau}}.
 
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;'

function p.bandeau(frame)
	args = frame:getParent().args
	tab = TableBuilder.new()

	--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
	structureHtml('div', arg(class) or p.classStructureBoite)
	if argument(image) then
		structureHtml('div', 'test-bandeau-image', nil, args.image)
		structureHtmlFin('div')
	end
	structureHtml('p', 'test-bandeau-texte', nil, args.texte)
	structureHtmlFin('p')
	structureHtmlFin('div')

	return tab.concat()
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

function structureHtml(balise, class, style, contenu)
	tab.insert('<')
	   .insert(balise)

	if class then
		tab.insert(' class="')
		   .insert(class)
		   .insert('"')
	end

	if style then
		tab.insert(' style="')
		   .insert(style)
		   .insert('"')
	end

	tab.insert('>')
	   .insert(contenu)
end

function structureHtmlFin(balise)
	tab.minsert('</', balise, '>')
end

return p