« Module:InfoboxBuilder/Documentation » : différence entre les versions
m (1 version) |
m (1 version) |
||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 1 : | Ligne 1 : | ||
Ce module permet de | 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 == | ||
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 : | |||
#:<pre>{{#invoke:InfoboxBuilder|build|nom=NOM_DE_L'INFOBOX}}</pre> | |||
# 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 === | ||
* [[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 == | |||
Des fonctions particulières sont associées à ce module : | |||
* [[Module:InfoboxBuilder/Helpers]]. | |||
* [[Module:InfoboxBuilder/Common queries]]. | |||
== | == Documentation == | ||
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) : | |||
Le module situé dans la page Module:InfoboxBuilder/NOM_DE_L'INFOBOX doit retourner un tableau de la forme suivante (toutes les | |||
=== | === Infobox === | ||
<source lang=lua> | <source lang=lua> | ||
{ | { | ||
'isPart' = false, -- | 'isPart' = false, -- booléen permettant de désactiver la sortie de la <div> contenant l'infobox permet de faire des infobox modulaires | ||
' | -- par défaut 'false' | ||
' | 'class' = '', -- chaîne indiquant la classe CSS de l'infobox, par exemple 'infobox_v3' pour une infobox V3 | ||
'parts' = { COMPOSANTS } -- | -- 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> | </source> | ||
=== Composants === | === Composants d'une infobox === | ||
==== title ==== | ==== title ==== | ||
Permet d'afficher le titre de l’infobox. | Permet d'afficher le titre de l’infobox. | ||
<source lang=lua> | <source lang=lua> | ||
{ | { | ||
'type' = 'title', -- | 'type' = 'title', -- type du composant | ||
'class' = '', -- | 'class' = '', -- chaîne indiquant la classe CSS du titre | ||
' | -- par défaut 'entete' | ||
'params' = nil, -- | 'style' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués au titre | ||
'text' = '' -- | '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> | </source> | ||
| Ligne 98 : | Ligne 63 : | ||
{ | { | ||
'params' = nil, --Paramètre(s) à utiliser pour obtenir le nom de l'image | '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 | '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 | 'alt' = '', --Alternative textuelle de l'image | ||
'upright' = 1 --upright pour l'image. par défaut 1 / nombre d'images | 'upright' = 1 --upright pour l'image. par défaut 1 / nombre d'images | ||
| Ligne 104 : | Ligne 69 : | ||
}, | }, | ||
'legendParams' = '' --Paramètre(s) correspondant à la légende | 'legendParams' = '' --Paramètre(s) correspondant à la légende | ||
'legend' = '' --Si string légende par défaut, si function, fonction | '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> | </source> | ||
| Ligne 113 : | Ligne 78 : | ||
{ | { | ||
'type' = 'text', --Type du composant | 'type' = 'text', --Type du composant | ||
'text' = '' -- | '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> | </source> | ||
==== table ==== | ==== table ==== | ||
Permet d'ajouter | Permet d'ajouter une table. | ||
<source lang=lua> | <source lang=lua> | ||
{ | { | ||
'type' = 'table', -- | 'type' = 'table', -- type du composant | ||
'params' = nil, -- | 'class' = '', -- chaîne indiquant la classe CSS de la table | ||
'text' = '', -- | '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 } | 'rows' = { LIGNES } | ||
} | } | ||
</source> | </source> | ||
=== | ==== Composants d'une table ==== | ||
==== mixed ==== | ===== mixed ===== | ||
Cette structure permet de créer une ligne composée de 2 cellules : la première contenant la clé | 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. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| | | clé || valeur | ||
|} | |} | ||
<source lang=lua> | <source lang=lua> | ||
{ | { | ||
'type' = 'mixed', -- | 'type' = 'mixed', -- type de ligne | ||
'label' = '', -- | 'styleHeader' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la clé | ||
'params' = nil, -- | 'styleValue' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la valeur | ||
'property' = '', -- | 'label' = '', -- clé de la ligne. Obligatoire. | ||
'hidden' = '', -- valeur possible 1 ou 0. Permet de masquer l'affichage de la valeur dans un menu déroulant | 'params' = nil, -- paramètre à utiliser pour le titre. Peut être une table triée par ordre décroissant de priorité | ||
'weblink' = '', -- | '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. | ||
'value' = '', -- | -- 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> | </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. | 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. | ||
| Ligne 174 : | Ligne 144 : | ||
<source lang=lua> | <source lang=lua> | ||
{ | { | ||
'type' = ' | 'type' = 'doubled', -- type de ligne | ||
'label' = '', -- | 'styleHeader' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la clé | ||
'params' = nil, --Paramètre à utiliser pour le titre. | 'styleValue' = { composants par paire }, -- table indiquant les différents paramètres de style appliqués à la valeur | ||
'property' = '', -- | 'label' = '', -- clé de la ligne. Obligatoire. | ||
'value' = '', -- | '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> | </source> | ||
== Exemple d'utilisation du code == | |||
* 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> | |||
<includeonly> | <includeonly> | ||
Version actuelle datée du 2 mai 2014 à 23:57
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>