Module:HhakP
Apparence
La documentation de ce module Scribunto écrit en Lua est incluse depuis sa sous-page de documentation.
Projet Scribunto : Aide · Catégorie:Modules · Index complet des modules et de leur documentation ·
{{Module|nom du module}}
· {{Modèle utilisant les modules Lua}}
Modules de base :
Documentation module
· String
· List
· Wikibase
· TNT
Utilisation
[modifier]Fonctions exportables
[modifier]Construire( frame )
: met en page les paramètres passés à Modèle:HhakP
Autres fonctions
[modifier]ConstruireEnPage( frame )
: met en page les paramètres passés à Modèle:HhakP lorsqu'inscrit dans une pageConstruireHorsPage( frame )
: met en page les paramètres passés à Modèle:HhakP lorsque PAS inscrit dans une page (par transclusion le plus souvent)
Modules externes et autres éléments dont ce module a besoin pour fonctionner
[modifier](Rien)
Exemples
[modifier]Voir les exemples dans Modèle:HhakP.
local p = {}
local szCode = ''
local nLONGUEUR_REPLIQUE_MAX = 250
local szNom = ''
local szRepl = ''
local szDida = ''
local szDebut = ''
local szFin = ''
local szLong = ''
function p.Construire( frame )
--------------------------------------------------------------------------------------------------------
-- Noter les paramètres évalués dans le code du modèle :
-- |2={{{1}}} |3={{{2}}} |4={{{di}}} |5={{{début}}} |6={{{fin}}} |7={{{long}} |8={{{3}}} (de trop)
---------------------------------------------------------------------------------------------------------
szNom = frame.args[2]
szRepl = frame.args[3]
szDida = frame.args[4]
szDebut = frame.args[5]
szFin = frame.args[6]
if szDebut ~= '' and szFin ~= '' then szCode = '<span style="color:red; font-size:200%;">Ne pas utiliser |fin= et |début= dans l’appel de modèle.</span>' end
szLong = frame.args[7]
if ( mw.ustring.len(frame.args[8]) > 0 ) then szCode = '<span style="color:red; font-size:200%;">HhakP, trop de paramètre(s).</span>' end
if mw.ustring.len(szCode) == 0 then
--------------------------------------
-- Choisir fonction selon le namespace
--------------------------------------
if (frame.args[1] == 'Page') then
szCode = p.ConstruireEnPage()
else
szCode = p.ConstruireHorsPage()
end
end
return szCode
end
function p.ConstruireEnPage( )
-------------------------
-- Créer le wikicode/HTML
-------------------------
-- Si paramètre long=1 ou longueur de la réplique plus grande que ..., alors le nom du personnage et la réplique sont distincts ds PDF
if szLong ~= '' or nLONGUEUR_REPLIQUE_MAX < mw.ustring.len(szRepl) then
szCode = '<div>'
else
szCode = '<div style="page-break-inside:avoid;">'
end
if szNom ~= '' then szCode = szCode .. '<div style="text-align:center; line-height:115%; margin:0; border:0; padding:0.5em 0 0 0;"><span style="font-variant:all-small-caps; font-weight:bold;" class=sc>' .. szNom .. '</span>' end
if szDida ~= '' then szCode = szCode .. '<span style="font-size:90%; ">' .. szDida .. '</span>' end
if szNom ~= '' then szCode = szCode .. '</div>' end
if szRepl ~= '' then
if szDebut ~= '' then szCode = szCode .. '<p class=hhakp_vio style="margin:0; border:0; padding:0;">' .. szRepl .. '</p>' end
if szFin ~= '' then szCode = szCode .. '<div class=hhakp_vio style="margin:0; border:0; padding:0;">' .. szRepl .. '</div>' end
if szDebut == '' and szFin == '' then szCode = szCode .. '<p class=hhakp_rou style="margin:0; border:0; padding:0;">' .. szRepl .. '</p>' end
end
szCode = szCode .. '</div>'
return szCode
end
function p.ConstruireHorsPage( )
-------------------------
-- Créer le wikicode/HTML
-------------------------
if szDebut ~= '' and szFin == '' then
-- Si paramètre long=1 ou longueur de la réplique plus grande que ..., alors le nom du personnage et la réplique sont distincts
if szLong ~= '' or nLONGUEUR_REPLIQUE_MAX < mw.ustring.len(szRepl) then
szCode = '<div>'
else
szCode = '<div style="page-break-inside:avoid;">'
end
if szNom ~= '' then szCode = szCode .. '<div style="text-align:center; line-height:115%; padding:0.5em 0 0 0;"><span style="font-variant:all-small-caps; font-weight:bold;" class=sc>' .. szNom .. '</span>' end
if szDida ~= '' then szCode = szCode .. '<span style="font-size:90%;">' .. szDida .. '</span>' end
if szNom ~= '' then szCode = szCode .. '</div>' end
if szRepl ~= '' then
szCode = szCode .. '<p class=hhakp_rou style="margin:0;">' .. szRepl
end
end
if szDebut == '' and szFin ~= '' then
if szRepl ~= '' then
szCode = szCode .. szRepl
end
szCode = szCode .. '</p>'
szCode = szCode .. '</div>'
end
if szDebut == '' and szFin == '' then
-- Si paramètre long=1 ou longueur de la réplique plus grande que ..., alors le nom du personnage et la réplique sont distincts
if szLong ~= '' or nLONGUEUR_REPLIQUE_MAX < mw.ustring.len(szRepl) then
szCode = '<div>'
else
szCode = '<div style="page-break-inside:avoid;">'
end
if szNom ~= '' then szCode = szCode .. '<div style="text-align:center; line-height:115%; padding:0.5em 0 0 0;"><span style="font-variant:all-small-caps; font-weight:bold;" class=sc>' .. szNom .. '</span>' end
if szDida ~= '' then szCode = szCode .. '<span style="font-size:90%;">' .. szDida .. '</span>' end
if szNom ~= '' then szCode = szCode .. '</div>' end
if szRepl ~= '' then
szCode = szCode .. '<p class=hhakp_ver style="margin:0;">' .. szRepl .. '</p>'
end
szCode = szCode .. '</div>'
end
return szCode
end
return p