Aller au contenu

Module:Arbre

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 25 mai 2020 à 22:51 et modifiée en dernier par Hexasoft (discuter | contributions) (test). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 Documentation[voir] [modifier] [historique] [purger]

Ce module permet d'afficher une liste à plusieurs niveaux sous forme d'arbre. À la place des puces présentes à gauche de chaque élément dans une liste classique, il affiche des lignes connectant chaque élément à ses descendants directs. Il permet par exemple de créer des arbres généalogiques ou des cladogrammes.

Ce module est destiné à être utilisé via le modèle {{Arbre}}.

Utilisation

Fonctions exportables :

  • arbre(frame) – fonction générant l'arbre. Prend un seul paramètre contenu, soit depuis l'appel du modèle, soit depuis l'appel du module (si le premier n'est pas présent − ce dernier cas est surtout utilisable pour du test). Pour les tests, accepte un paramètre templatestyles. La valeur non désactive l'inclusion de la balise <templatestyles> dans le rendu.

Exemples

La syntaxe de l'arbre est une liste à puce, c'est-à-dire avec un ou plusieurs * en début de ligne.

Note : le module conserve telles quelles toutes les lignes qui ne commencent pas par « * » ainsi que les lignes vides.

Exemple (note : ici il s'agit d'un appel direct au module, le paramètre vient de l'appel au modèle, normalement) :

{{#invoke:Arbre|arbre|contenu=
* ''[[Panthera]]''
**** ''[[Panthera leo]]'' - Lion
**** ''[[Panthera pardus]]'' - Léopard
*** ''[[Panthera onca]]'' - Jaguar
**
***  ''[[Panthera tigris]]'' - Tigre
*** ''[[Panthera uncia]]'' - Panthère des neiges ou once
}}

Et le résultat :
Erreur Lua à la ligne 15 : attempt to concatenate local 'data' (a nil value).

Tests

Voir Discussion module:Arbre/Test

--[[
  Test de module pour générer des arbres (cf Modèle:Arbre début) avec
  une syntaxe plus simple.
]]

-- structure
local p = {}


function p.arbre(frame)
	local args = frame.args
	local pargs = frame:getParent().args
	local data = args[1] or pargs[1] 

	return "<nowiki>" .. data .. "</nowiki>"
end

-- retour 
return p