Module:InfoboxBuilder/Documentation
Ce module permet de créer des infobox à partir d'un tableau de configuration situé dans la page Module:InfoboxBuilder/NOM_DE_L'INFOBOX. Utilise Module:Infobox.
Briques d'Infobox
Briques élémentaires
Voir Module:InfoboxBuilder/Helpers.
Briques spécifiques
Voir Module:InfoboxBuilder/Common queries.
Exemples
Voir module:InfoboxBuilder/Composé chimique et l'application sur undéc-1-ène.
Configuration: Module:InfoboxBuilder/Philosophe
<source lang=lua> local helper = require "Module:InfoboxBuilder/Helpers" local common = require "Module:InfoboxBuilder/Common queries"
return {
parts = {
helper.title_n({ value = 'nom', icon = 'auteur', background = function(frame) if frame.args['couleur'] then return frame.args['couleur'] else return '#B0C4DE' end end }),
{
type = 'text',
text = function( frame ) if frame.args['région'] then return '
' .. frame.args['région'] .. '
' end end
},
{
type = 'text',
text = function( frame ) if frame.args['époque'] then return '
' .. frame.args['époque'] .. '
' end end
},
common.mainimage('image', 'légende'),
helper.table('hidden',
common.birth('naissance', 'lieu de naissance'),
common.death('décès', 'lieu de décès'),
common.nationality('nationalité'),
helper.mixed('Langue', 'langue'),
-- version paramètres nommés
helper.mixed_n{ label = 'Titre', params = 'titre'},
helper.mixed('École/tradition', 'tradition philosophique'),
-- version paramètres nommés
helper.mixed_n{ label = 'Principaux intérêts', params = 'principaux intérêts'},
helper.mixed('Idées remarquables', 'idées remarquables'),
helper.mixed('Œuvres principales', 'œuvres principales'),
-- utilisation paramètres nommés + valeur par défaut
common.influencedby('influencé par'),
common.influenced('a influencé'),
helper.mixed('Célèbre pour', 'célèbre pour'),
-- utilisation paramètres nommés + valeur par défaut
helper.mixed_n{ label = 'Citation'},
helper.mixed('Adjectifs dérivés', 'adjectifs dérivés')
),
}
} </source>
Contenu du modèle
{{#invoke:InfoboxBuilder|build|nom=Philosophe}}
Voir aussi
Documentation
Le module situé dans la page Module:InfoboxBuilder/NOM_DE_L'INFOBOX doit retourner un tableau de la forme suivante (toutes les entrés sont optionnelles sauf précision contraire et avec leur valeur par défaut) :
Tableau principal
<source lang=lua> {
'isPart' = false, -- Bolléen permettant de désactiver la sortie de la
'typeInfobox' = , -- string indiquant le type d'infobox, par exemple 'infobox_v3' pour une infobox V3 ('infobox_v3' par défaut)
'styleInfobox' = , -- string indiquant les différent paramètres de style appliqués à l'infobox
'parts' = { COMPOSANTS } --Contenu de l'infobox
} </source>
Composants
title
Permet d'afficher le titre de l’infobox. <source lang=lua> {
'type' = 'title', --Type du composant'class' = , --Class porté par le
contenant le titre 'icon' = , --Icône de titre gérée via Common.css 'params' = nil, --Paramètres à utiliser pour le titre. peut être une table trié par ordre décroissant de priorité 'text' = --Si string titre par défaut, si function, fonction, prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le titre (court-circuite params) 'background' = --Couleur de font du titre } </source>
images
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
Permet d'ajouter du wikitext. <source lang=lua> {
'type' = 'text', --Type du composant 'text' = --Si string texte à ajouter, si function, fonction, prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le wikitext
} </source>
table
Permet d'ajouter un tableau. <source lang=lua> {
'type' = 'table', --Type du composant 'params' = nil, --Paramètres à utiliser pour le titre du tableau 'text' = , --Si string titre du tableau par défaut, si function, fonction, prenant en paramètre le frame correspondant à l'article, exécutée pour obtenir le titre (court-circuite params)'class' = , --Class porté par le contenant le titre 'rows' = { LIGNES } } </source>
lignes
mixed
Cette structure permet de créer une ligne composée de 2 cellules : la première contenant la clé ou le label, la deuxième contenant la valeur.
| label | valeur |
<source lang=lua> {
'type' = 'mixed', --Type de la ligne 'label' = , --Clef de la ligne. Obligatoire. 'params' = nil, --Paramètre à utiliser pour le titre. peut être une table trié par ordre décroissant de priorité 'property' = , --String 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 existe sur 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 la cas d'une valeur très longue pour réduire la taille de l'infobox en mode normal 'weblink' = , -- String correspondant à un lien web absolu qui permet de créer un hyperlien avec la valeur 'value' = , --Si string valeur par défaut, si function, 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 'styleHeader' = , -- String ou table décrivant les éléments de style applicable au label 'styleValue' = , -- String ou table décrivant les éléments de style applicable à la valeur
} </source>
Exemple (sans intérêt) avec l'usage d'une fonction : <source lang=lua> {
'type' = 'mixed', 'label' = 'Test', 'value' = function( frame ) return frame.args.test end
} </source>
doubled
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' = 'mixed', --Type de la ligne 'label' = , --Clef de la ligne. Obligatoire. 'params' = nil, --Paramètre à utiliser pour le titre. peut être une table trié par ordre décroissant de priorité 'property' = , --String 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 existe sur l'article, cette valeur à la priorité, Si aucune valeur n'est fournie, le code va chercher la valeur correspondante sur Wikidata. 'value' = , --Si string 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 'styleHeader' = , -- String ou table décrivant les éléments de style applicable au label 'styleValue' = , -- String ou table décrivant les éléments de style applicable à la valeur
} </source>