Module:Italiques biologiques
Utilisation
Fonctions exportables :
titre_en_italiques(frame)
– met le titre en italique, en ignorant la partie (éventuelle) homonymie. Ne met pas l'espace de nom éventuel en italique.- paramètre nommé optionnel : "lang=XX", qui insert un span décrivant la langue.
ns(frame)
− prend en paramètre non nommé un nom scientifique et retourne ce nom en italique inconditionnellement, en respectant les contraintes typographiques de la biologie. (appelé par {{Taxobox taxon}})nt(frame)
− similaire àns(frame)
mais utilisé par {{Taxobox}}. Prend en paramètres non nommés (dans l'ordre) nom, nom2 et rang, et utilise nom2 s'il est non vide sinon nom (utile pour s'adapter à la syntaxe de {{Taxobox}} qui peut être « rang | nom » ou « rang | nom wiki | nom ». Important : éviter d'utiliser cette fonction dans un autre contexte car pour des raisons techniques elle utilise du code HTML (et non wiki) pour gérer l'italiquetitre(frame)
– prend en paramètre non nommé un nom scientifique et modifie le titre de l'article pour le mettre en italique. La fonction récupère le titre de l'article et ne met en italique que si le titre est de la forme XXXYYY, avec XXX le nom scientifique en paramètre et YYY éventuellement vide. Seule la partie XXX est passée en italique. Ne fait rien dans les autres cas, ni si la fonction est appelée depuis un autre espace de nom que l'espace encyclopédique. (appelé par {{Taxoboxoutils titre en italique}})- paramètre nommé optionnel : "titre=XXX" : si ce paramètre est indiqué la fonction utilise XXX comme titre de la page au lieu du titre réel. De plus le résultat est retourné dans un nowiki afin de visualiser ce qui aurait été fait (option servant pour les pages de documentation et de test).
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
mw.title
(récupération du titre et espace de nom de la page)
Exemples
Note : ces fonctions ne testent pas s'il est pertinent d'utiliser l'italique.
Fonction ns(frame)
:
{{#invoke:Italiques biologiques|ns|Citrus ×paradisi}} → Erreur de script : la fonction « ns » n’existe pas.
{{#invoke:Italiques biologiques|ns|×Sorbopyrus auricularis}} → Erreur de script : la fonction « ns » n’existe pas.
{{#invoke:Italiques biologiques|ns|Iberodorcadion (Hispanodorcadion) aguadoi}} → Erreur de script : la fonction « ns » n’existe pas.
{{#invoke:Italiques biologiques|ns|Pelophylax kl. esculentus}} → Erreur de script : la fonction « ns » n’existe pas.
{{#invoke:Italiques biologiques|ns|Brassica olearacea var. gemmifera}} → Erreur de script : la fonction « ns » n’existe pas.
{{#invoke:Italiques biologiques|ns|Bla ×bli var. blo kl. blu}} → Erreur de script : la fonction « ns » n’existe pas.
{{#invoke:Italiques biologiques|ns|Uroplatus (genre)}} → Erreur de script : la fonction « ns » n’existe pas. − cas de mise en italique inconditonnel
Fonction titre(frame)
Note : un retour vide (après le "→") indique que la fonction a décidé de ne pas modifié le titre, elle retourne donc une chaîne vide.
{{#invoke:Italiques biologiques|titre|Citrus ×paradisi|titre=Citrus ×paradisi}} → Erreur de script : la fonction « titre » n’existe pas.
{{#invoke:Italiques biologiques|titre|×Sorbopyrus auricularis|titre=×Sorbopyrus auricularis}} → Erreur de script : la fonction « titre » n’existe pas.
{{#invoke:Italiques biologiques|titre|Uroplatus guentheri|titre=Uroplate de Günther}} → Erreur de script : la fonction « titre » n’existe pas.
{{#invoke:Italiques biologiques|titre|Uroplatus guentheri|titre=Uroplatus guentheri (animal)}} → Erreur de script : la fonction « titre » n’existe pas.
{{#invoke:Italiques biologiques|titre|Brassica olearacea var. gemmifera|titre=Brassica olearacea var. gemmifera}} → Erreur de script : la fonction « titre » n’existe pas.
{{#invoke:Italiques biologiques|titre|Brassica olearacea var. gemmifera|titre=Fox à poil dur}} → Erreur de script : la fonction « titre » n’existe pas.
{{#invoke:Italiques biologiques|titre|Uroplatus|titre=Uroplatus sikorae}} → Erreur de script : la fonction « titre » n’existe pas. ⇒ limitation : la partie "homonymie" est considérée comme "YYY si le titre est XXXXYYY et que le nom scientifique indiqué est exactement XXXX". On voit ici que si on est titré genre sur l'article mais qu'on pense être l'espèce correspondante ça ne fait pas ce qui est prévu. Si c'est un problème il est possible d'imposer en plus la présence de parenthèses dans la partie homonymie. Me dire.
{{#invoke:Italiques biologiques|titre|Brassica olearacea ''var.'' gemmifera|titre=Fox à poil dur}} → Erreur de script : la fonction « titre » n’existe pas. − exemple de présence d'une mise en forme dans le nom scientifique indiqué
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
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.
-- gestion de la mise en italique d'un nom scientifique, en respectant les conventions de la biologie
local p = {}
-- fonction basique mettant le titre courant en italique, sauf la partie namespace et la partie homonymie si présente
-- paramètres : lang → optionnel : ajout d'un tag de langue si présent
function p.titre_en_italiques(frame)
local titre = mw.title.getCurrentTitle()
local resu = ""
local prefix = "" -- racine de la page (éventuelle)
local page = "" -- page (éventuellement sous-page)
-- paramètre optionnel : la langue
local lang = frame.args["lang"] or frame:getParent().args["lang"]
-- si c'est une sous-page : on ne traite que la partie finale
-- (ex: Toto/Titi/tutu → italique que sur "tutu"
if (titre.isSubpage) then
page = titre.subpageText
prefix = titre.baseText
else
page = titre.text
end
-- préparation résultat : on commence par le namespace
resu = titre.nsText or ""
-- on ajoute le préfix s'il y en a
resu = resu .. prefix
-- on ajoute le span de la langue si demandé
if (lang) then
resu = resu .. '<span lang="' .. lang .. '">'
end
-- nsText + rempl "^.* (" [text]
return resu
end
-- fonction qui prend un nom scientifique et retourne la mise en italique correspondante
-- la fonction ne se demande pas s'il faudrait le faire ou pas
function p.italiques(frame)
return ""
end
-- fonction qui prend un nom scientifique et qui regarde si le titre de la page contient le nom scientifique
-- si oui met cette partie en italique (sans se demander s'il faudrait le faire ou pas)
function p.titre_italiques(frame)
return ""
end
-- module
return p