Module:InfoboxBuilder/Documentation
Ce module permet de structurer des données et de construire des infobox en code lua à partir d'un tableau de configuration situé dans la page Module:InfoboxBuilder/NOM_DE_L'INFOBOX. La construction de l'infobox utilise Module:Infobox.
Principe[modifier le wikicode]
L'infobox implique plusieurs niveaux pour pouvoir être utilisée dans Wikipédia :
- un modèle NOM_DE_L'INFOBOX:
- Il n'est pas possible d'appeler directement les modules depuis les articles. Il faut donc passer par un modèle (par exemple, le modèle de l'infobox déjà existant) et à l'intérieur de ce modèle, on appelle le module associé par le code suivant :
{{#invoke:InfoboxBuilder|build|nom=NOM_DE_L'INFOBOX}}
- un module InfoboxBuilder/NOM_DE_L'INFOBOX
- Le module spécifique indique quel genre de données doit être inclus dans l'infobox et le format dans lequel ces données doivent être intégrées.
Exemples[modifier le wikicode]
- module:InfoboxBuilder/Composé chimique et son utilisation sur undéc-1-ène
- module:InfoboxBuilder/Philosophe
- Catégorie:Module infobox
- Catégorie:Modèle infobox Lua
Fonctions liées[modifier le wikicode]
Des fonctions particulières sont associées à ce module :
Documentation[modifier le wikicode]
Le module situé dans la page Module:InfoboxBuilder/NOM_DE_L'INFOBOX doit retourner un tableau de la forme suivante (toutes les entrées sont optionnelles sauf précision contraire et avec leur valeur par défaut) :
Infobox[modifier le wikicode]
<source lang=lua> {
'isPart' = false, -- booléen permettant de désactiver la sortie de la
-- par défaut 'false' 'class' = , -- chaîne indiquant la classe CSS de l'infobox, par exemple 'infobox_v3' pour une infobox V3 -- par défaut 'infobox_v3' 'style' = { composant par paire }, -- table indiquant les différents paramètres de style appliqués à l'infobox 'parts' = { COMPOSANTS }, -- éléments composant l'infobox
} </source>
Composants d'une infobox[modifier le wikicode]
title[modifier le wikicode]
Permet d'afficher le titre de l’infobox. <source lang=lua> {
'type' = 'title', -- type du composant 'class' = , -- chaîne indiquant la classe CSS du titre -- par défaut 'entete' 'style' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués au titre 'params' = nil, -- paramètres à utiliser pour le titre. Peut être une table triée par ordre décroissant de priorité 'text' = -- si chaîne : titre par défaut, -- si fonction : fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le titre --(court-circuite params)
} </source>
images[modifier le wikicode]
Permet d'afficher une ou deux images côte à côte. <source lang=lua> {
'type' = 'images', --Type du composant 'images' = { --Paramètres pour chacune des images, si le nom d'une des images ne peux être trouvé, l'image n’est pas affichée { 'params' = nil, --Paramètre(s) à utiliser pour obtenir le nom de l'image 'name' = , --Si string, nom de l'image par défaut, si function, fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le nom (court-circuite params). Si la fonction retourne nil ou , rien n’est affiché 'alt' = , --Alternative textuelle de l'image 'upright' = 1 --upright pour l'image. par défaut 1 / nombre d'images } }, 'legendParams' = --Paramètre(s) correspondant à la légende 'legend' = --Si string, légende par défaut, si function, fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir la légende. Si la fonction retourne nil ou , rien n’est affiché
} </source>
text[modifier le wikicode]
Permet d'ajouter du wikitext. <source lang=lua> {
'type' = 'text', --Type du composant 'class' = , -- chaîne indiquant la classe CSS du texte 'style' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués au texte 'text' = , -- si chaîne : texte par défaut, -- si fonction : fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le wikitext
} </source>
table[modifier le wikicode]
Permet d'ajouter une table. <source lang=lua> {
'type' = 'table', -- type du composant 'class' = , -- chaîne indiquant la classe CSS de la table 'style' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la table 'styleCaption' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués -- au titre de la table 'params' = nil, -- paramètres à utiliser pour le titre du tableau 'text' = , -- si chaîne : titre du tableau par défaut, -- si fonction : fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le titre -- (court-circuite params) 'rows' = { LIGNES }
} </source>
Composants d'une table[modifier le wikicode]
mixed[modifier le wikicode]
Cette structure permet de créer une ligne composée de 2 cellules : la première contenant la clé (label), la deuxième contenant la valeur.
clé | valeur |
<source lang=lua> {
'type' = 'mixed', -- type de ligne 'styleHeader' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la clé 'styleValue' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la valeur 'label' = , -- clé de la ligne. Obligatoire. 'params' = nil, -- paramètre à utiliser pour le titre. Peut être une table triée par ordre décroissant de priorité 'property' = , -- chaîne de type Pxxx où x est un nombre. Correspond à l'identifiant de la propriété de Wikidata stockant la valeur liée au label. -- si une valeur est donnée pour le paramètre dans le code de l'article, cette valeur à la priorité, -- si aucune valeur n'est fournie, le code va chercher la valeur correspondante sur Wikidata 'hidden' = , -- valeur possible 1 ou 0. Permet de masquer l'affichage de la valeur dans un menu déroulant -- utile dans le cas d'une valeur très longue pour réduire la taille de l'infobox en mode normal 'weblink' = , -- chaîne correspondant à un lien web absolu qui permet de créer un hyperlien avec la valeur 'value' = , -- si chaîne : valeur par défaut, -- si fonction : fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le titre -- court-circuite params. Si la fonction retourne nil ou , la ligne n'est pas affichée
} </source>
doubled[modifier le wikicode]
Cette structure permet de créer deux lignes composées chacune d'une cellule : la cellule du haut contient la clé ou le label et celle du dessous contient la valeur.
label |
valeur |
<source lang=lua> {
'type' = 'doubled', -- type de ligne 'styleHeader' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la clé 'styleValue' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la valeur 'label' = , -- clé de la ligne. Obligatoire. 'params' = nil, --Paramètre à utiliser pour le titre. Peut être une table triée par ordre décroissant de priorité 'property' = , -- chaîne de type Pxxx où x est un nombre. Correspond à l'identifiant de la propriété de Wikidata stockant la valeur liée au label. -- si une valeur est donnée pour le paramètre dans le code de l'article, cette valeur à la priorité, -- si aucune valeur n'est fournie, le code va chercher la valeur correspondante sur Wikidata 'value' = , -- si chaîne : valeur par défaut, -- si fonction : fonction prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le titre -- court-circuite params. Si la fonction retourne nil ou , la ligne n'est pas affichée
} </source>
Exemple d'utilisation du code[modifier le wikicode]
- Utilisation d'une fonction pour générer une valeur :
<source lang=lua>{
'type' = 'mixed', 'label' = 'Test', 'value' = function( frame ) return frame.args.test end
}</source>
- Générer une table contenant les élément css à appliquer à un élément de l'infobox :
<source lang=lua>{
'style' = buildStyleTable({'width','300px','align','right'})
}</source>