Module:Harvapbrouillon
Apparence
La documentation de ce module est générée par le modèle {{Documentation module}}.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- brouillon
-- brouillon
-- brouillon
local p = {}
--
--
local function _coulerr (objet) -- rouge
local objet ='<span style="color:#d00000;">' .. objet .. '</span>'
return objet
end --fin _coulerr
--
local function _coulok (objet) -- vert
local objet ='<span style="color:#00A030;">' .. objet .. '</span>'
return objet
end --fin _coulok
--
local function _xist(objet) --> transforme localement un objet "qui n'existe pas" nil & '' (taille 0) en valeur " "
if (tostring(objet) ~= nil and #tostring(objet) > 0 ) then return objet else return " " end
end --fin _xist
--
-- élaboration du clicbleu test de la date
--
local function _clicbleu (texteaf, toggle, p1val, p2val, p3val, p4val, p5val) -- ébauche de fonction appelée
local nb_erreurs = 0 -- au brouillon dates à tester si ce sont des nombres
local toggle = toggle --mesparams sont transmis depuis l'appel
if (texteaf ~= "") then texteaf = texteaf
else
if (toggle == "5") then
if (type(p5val) ~= 'number') then nb_erreurs = nb_erreurs + 1 else
texteaf = p1val.." ''& al.'' "..p5val
end
end
if (toggle == "4") then
if (type(p4val) ~= 'number') then nb_erreurs = nb_erreurs + 1 else
texteaf = p1val.." "..p2val.." ".." "..p3val.." et ".." "..p4val
end
end
if (toggle == "3") then
if (type(p3val) ~= 'number') then nb_erreurs = nb_erreurs + 1 else
texteaf = p1val.." et "..p2val.." "..p3val
end
end
if (toggle == "2") then
if (type(p2val) ~= 'number') then nb_erreurs = nb_erreurs + 1 else
texteaf = p1val.." "..p2val
end
end
end
return texteaf, nb_erreurs
end --fin _mafonc
local function _syntax (mesparams,nb_erreurs,liste_erreurs, liste_opt) -- les positionnels sont abrégés des espaces avant et arrière
local renvoi = ""
local trim = ""
local liste_erreurs = ""
-- récupérer d'abord iden et texte pour l'ancre Harvard
local liste_par_nom = ""
local liste_optaf = ""
local clicbleu = ""
-- local iden = ""
-- local texteaf = ""
for ind, parval in pairs(mesparams.args) do --tous les params positionnels et nommés
if (type(ind) ~= 'number') then -- que les nommés
liste_par_nom = liste_par_nom.."{{,}}"..ind.."="..parval--liste indicative envoyée à la fin
-- test nom paramètres nommés
if not ((ind == "texte")
or (ind == "id")
or (ind == "p") or (ind == "pp")
or (ind == "loc")
or (ind == "ps")
or (ind == "gr") or (ind == "group") or (ind == "groupe")
or (ind == "dpar"))
then
-- sous else
-- repporter ici le chargement des nommés
-- repporter ici le chargement des nommés
-- repporter ici le chargement des nommés
--ok brouillon rien chargé
-- else --aucun
nb_erreurs = nb_erreurs + 1
liste_erreurs = liste_erreurs .."<br>;paramètre ".." ; "..ind.." : mal nommé "
end
end
end
--
-- https://fr.wikipedia.org/w/index.php?title=Module:Bac_%C3%A0_sable&diff=prev&oldid=213169114
local toggle = 0
local p1val = ""
local p2val = ""
local p3val = ""
local p4val = ""
local p5val = ""
-- local idx, parmval --supprimer les déclarations d'indice index
for idx, parmval in ipairs(mesparams.args) do --paramètres non nommés
toggle = toggle + 1
-- if toggle == 1 then p1val = parmval end
-- if toggle == 2 then p2val = parmval end
-- if toggle == 3 then p3val = parmval end
-- if toggle == 4 then p4val = parmval end
-- if toggle == 5 then p5val = parmval end
--
trim = mw.text.trim(parmval)
-- if (#trim ~= #parmval) then
-- nb_erreurs = nb_erreurs + 1
-- liste_erreurs = liste_erreurs .."<br>;paramètre "..idx.." prenant la valeur '"..parmval.."' : espace(s) avant arrière du paramètre"
-- else
clicbleu = clicbleu..parmval
-- end
end -- fin xtraction positionnels
if (toggle > 5) then
nb_erreurs = nb_erreurs + 1
--KO parmval null liste_erreurs = liste_erreurs .."<br>;paramètre "..idx.." prenant la valeur '"..parmval.."' : paramètre en trop"
end
-- brouillon clicbleu = p1val..p2val..p3val..p4val..p5val.." valeur du toggle :"..toggle --Brouillon
--en attendant suivant toggle _clicbleu mis en forme
--
--
--constitution de référence affichée en détail
--
local paf = ""
local locaf = ""
local psaf = ""
local texteaf = ""
local iden = ""
local graf = ""
for ind, parval in pairs(mesparams.args) do --tous les params
if (type(ind) ~= 'number') then
-- constitution liste_opt
if (ind == "p") or (ind == "pp" ) then paf = ", p. "..parval end
if (ind == "loc") then locaf = ", "..parval end
if (ind == "ps") then psaf = ", « "..parval.." »" end
if (ind == "texte") then texteaf = parval clicbleu=parval end
if (ind == "id") then iden = parval end
if (ind == "gr") or (ind == "group") or (ind == "groupe") then graf = parval end
end
end
if (toggle < 2) and (iden == "") then
nb_erreurs = nb_erreurs + 1
liste_erreurs = liste_erreurs .."<br>;manque paramètres, au moins un auteur+date sinon paramètres id et texte" end
if (iden ~= "" and texteaf == "") then
nb_erreurs = nb_erreurs + 1
liste_erreurs = liste_erreurs .."<br>;paramètre id présent sans paramètre texte"
end
if (iden ~= "" and p1val ~= "") then
nb_erreurs = nb_erreurs + 1
liste_erreurs = liste_erreurs .."<br>;paramètre id présent avec paramètre(s) auteur(s)+date"
end
liste_optaf = locaf..paf..psaf
return nb_erreurs, liste_erreurs, liste_par_nom, liste_optaf, textaf, graf, iden, clicbleu
end --fin _syntax
--
-- Cette fonction est accès p.harvap_
--
function p.harvap_ (frame) --Cette fonction fabrique un renvoi en bas de page
--le frame renvoyé 'table' est la récup sans traitement indexé des params du modèle
-- (les définitions des zones de travail à portée p sont ici
-- en fait ce qui suit est la définition des variables pour toutes fonctions appelées
-- par leur chargement x, y = _mafonc(params, x, y)
local renvoi = ""
local cat_erreurs = "North Park" --récup prov
local liste_erreurs = ""
local liste_opt = ""
local texteaf = "inutile, initialisation défaut"
local nb_erreurs = 0 -- pour l'analyseur interne
local trax = '' --trax est le dump pour bench
local clicbleu = "auteur-date (défaut)" --brouillon pour test initial
local paf = "pas p"
local locaf = "pas loc"
local pasaf = "pas ps"
local texteaf = "pas texte"
local idenaf = "pas iden"
local graf = "pas gr"
local iden = "pas de parms"
-- nb_erreurs, liste_erreurs, liste_par_nom, liste_optaf, textaf, graf, iden, clicbleu = _syntax (frame, nb_erreurs)
-- utiliser XIST?
local argsTemplate = frame:getParent().args --parms de l'article passés au modèle appelant ce module, pour l'instant auteur-date
local Tauteur1 = _xist(argsTemplate[1])
local Tauteur2 = _xist(argsTemplate[2])
local Tauteur3 = _xist(argsTemplate[3])
local Tauteur4 = _xist(argsTemplate[4])
local Tdate = _xist(argsTemplate[5])
local Tpage = _xist(argsTemplate["p"])
local Tloc = _xist(argsTemplate["loc"])
local Tps = _xist(argsTemplate["ps"])
local Tid = _xist(argsTemplate["id"])
local Ttexte = _xist(argsTemplate["texte"])
local Tgr = _xist(argsTemplate["gr"])
local Tdpar = _xist(argsTemplate["dpar"])
-- local argsModule = frame.args --parms passés à ce module
iden = Tauteur1..Tdate
if (nb_erreurs ~= 0) then
renvoi = _coulerr("nb erreurs :"..nb_erreurs.."<br> "..liste_erreurs.." <br>") --ok
else
clicbleu = Tauteur1.."space A MODIFIER "..Tdate
local ancre = frame:preprocess("[[#"..iden.."{{!}}"..clicbleu.."]]") --ok
renvoi = renvoi..liste_opt
rname = "LE name"
-- {{ #tag:ref |some text |name=foo |group=bar}}
--renvoi = frame:callParserFunction( '#tag', { 'ref', 'some text', name = 'foo', group = 'bar'} )
renvoi = frame:callParserFunction( '#tag', { 'ref', ancre , name = rname, group = Tgr} )
end
renvoi = renvoi .. Tauteur1
.. Tauteur2
.. Tauteur3
.. Tauteur4
.. Tdate
.. Tpage
.. Tloc
.. Tps
.. Tid
.. Ttexte
.. Tgr
.. Tdpar
-- return frame:preprocess(renvoi)
return (renvoi);
end --fin harvap_
return p