Module:Outils/Documentation
Apparence
Ce module contient différentes fonction pratiques.
Résumé des fonctions
Fonctions exportables :
trim( texte )
– similaire à mw.text.trim mais retourne nil lorsque la chaine est vide ou lorsque le paramètre n'est pas une chaine (ne génère pas d'erreur).erreur( texte )
– destiné à afficher une message d'erreur en gros et rouge. Retourne la chaine transmise dans un span de class "error". Par défaut erreur : raison non précisée.extractArgs( frame, ... )
– retourne une table avec les paramètres, à partir d'un objet frame, d'une table ou d'une liste de paramètre.validTextArg( args, name, ... )
– retourne le premier paramètre chaine non vide à partir de la table des paramètres et d'une liste de nom de paramètre.notEmpty( var, ... )
– retourne le premier élément non vide.abr( frame, ... )
– génère une abréviation discrète (ou non)nobr( texte )
– équivalent de {{nobr}}, transforme le texte fournie en texte insécable.ordinal( nombre, feminin )
– retourne un ordinal abrégé comme {{1er}}, {{2e}}… à partir d'un nombre ou d'une chaine contenant uniquement des chiffres. Si le deuxième est défini, retourne 1re au lieu de 1er.nombre2texte_reel(pnombre, plangue, ptype, porthographe, pgenre, pmajuscule, pordinal)
– transforme un nombre en texte (5 → cinq ou cinquième). Gère la langue (fr, be, ch), l'orthographe pré ou post 1990 et le genre.nombre2texte(frame)
– similaire à nombre2texte_reel mais pour un appel depuis un modèle.
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
Module:Outils/Data
– pour les conversions nombre → texte.
Détail par fonction
extractArgs
Outils.extractArgs( frame, ... )
- si frame n'est pas une table, retourne
{ frame, ... }
- Si frame est une table simple et non une objet Frame, retourne
frame
- Si frame est un objet créé par
#invoke:
, retourne les paramètres passé à #invoke: (en priorité) et ceux passées au modèle. Si le paramètreinvokeArgsOnly
n'est pas vide, seul les paramètres transmis à invoke seront utilisés.
Attention : cette fonction peut modifier la table frame.getParent().args
. S'il est probable qu'un autre module passe un objet frame
à votre fonction, il est préférable de l'indiquer dans la documentation.
Exemple
function p.maFonction( frame, ... )
local args = Outils.extractArgs( frame, ... )
return ( args[1] or 'nil' ) .. ' ' .. ( args[2] or 'nil' ) .. ' ' .. ( args['nom'] or 'nil' )
end
- appel direct :
p.maFonction( 'oui', 'deux', 'Zebulon84' )
→ « oui deux nil » (impossible de transmettre un paramètre nommé) - appel par table :
p.maFonction{ 'oui', 'deux', nom = 'Zebulon84' }
→ « oui deux Zebulon84 » - appel par
#invoke:
:{{#invoke:p |maFonction |oui |2 |nom = Zebulon84}}
→ « oui deux Zebulon84 » - appel par modèle
{{Ma fonction}}
:- le modèle contient
{{#invoke:p |maFonction}}
,{{Ma fonction|oui | deux |nom= Zebulon84}}
→ « oui deux Zebulon84 »
- le modèle contient
{{#invoke:p |maFonction |nom = Zebulon84}}
{{Ma fonction |oui | deux }}
→ « oui deux Zebulon84 »{{Ma fonction |oui | deux |nom = Hexasoft}}
→ « oui deux Zebulon84 »
- le modèle contient
{{#invoke:p |maFonction |nom = {{{nom|Zebulon84}}} }}
{{Ma fonction |oui | deux }}
→ « oui deux Zebulon84 »{{Ma fonction |oui | deux |nom = Hexasoft}}
→ « oui deux Hexasoft »{{Ma fonction |oui | deux |nom = }}
→ « oui deux nil »
- le modèle contient
{{#invoke:p |maFonction |nom = {{{nom|Zebulon84}}} |invokeArgsOnly = oui}}
{{Ma fonction |oui | deux }}
→ « nil nil Zebulon84 »{{Ma fonction |oui | deux |nom = Hexasoft}}
→ « nil nil Hexasoft»
- le modèle contient
validTextArg
Outils.validTextArg( args, name, ... )
notEmpty
Outils.notEmpty( var, ... )
abr
Outils.abr( frame, ... )
ordinal
Outils.ordinal( nombre, feminin )
nombre2texte_reel
Outils.nombre2texte_reel( pnombre, plangue, ptype, porthographe, pgenre, pmajuscule, pordinal )