From def01959f8b76178d393a39ecd2c5af9be20b31f Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 14 Oct 2010 13:38:35 +0200 Subject: Sync with ikiwiki 3.20100926. --- ikiwiki/directive/template.mdwn | 85 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 ikiwiki/directive/template.mdwn (limited to 'ikiwiki/directive/template.mdwn') diff --git a/ikiwiki/directive/template.mdwn b/ikiwiki/directive/template.mdwn new file mode 100644 index 0000000..e4f3a93 --- /dev/null +++ b/ikiwiki/directive/template.mdwn @@ -0,0 +1,85 @@ +La directive `template` est fournie par le module d'extension [[!iki +plugins/template desc=template]]. + +Cette directive permet d'utiliser des pages de wiki comme modèles. Ces +modèles peuvent être remplis et insérés dans d'autres pages du wiki. La page +[[templates]] liste les modèles utilisables avec cette directive. + +Cette directive possède un paramètre `id` qui identifie le modèle à +utiliser. Les autres paramètres servent à remplir le modèle. + +## Exemple : + + \[[!template id=note text="""Here is the text to insert into my note."""]] + +Cette expression remplit le modèle `note`, remplaçant le champ `text` par la +valeur spécifiée, et insérant le résultat dans la page. + +## Utilisation d'un modèle + +Une valeur peut contenir tout marquage autorisé dans une page de wiki +externe au modèle. On peut même inclure des guillemets dans la valeur, en +les triplant. Avec des valeurs sur plusieurs lignes entre guillemets, on +peut ainsi insérer de longs passages de texte dans un modèle. + + \[[!template id=foo name="Sally" color="green" age=8 notes=""" + * \[[Charley]]'s sister. + * "I want to be an astronaut when I grow up." + * Really 8 and a half. + """]] + +## Création d'un modèle + +Le modèle est une simple page de wiki, située dans le sous-répertoire +`templates/` du répertoire source du wiki. + +Il est aussi possible de conserver les modèles dans un répertoire extérieur +au wiki, comme des fichiers avec l'extension ".tmpl". Par défaut ces +fichiers sont recherchés dans `/usr/share/ikiwiki/templates`. Le paramètre +`templatedir` peut être utilisé pour commencer la recherche dans un autre +répertoire. + +Le modèle utilise la syntaxe du module Perl [[!cpan HTML::Template]] qui +permet de faire des choses assez compliquées. Consultez la documentation +mais vous n'avez besoin de connaître que peu de choses : + +* Chaque paramètre passé à la directive template créera une variable pour le + modèle. Certaines variables sont prédéfinies comme PAGE et BASENAME. +* Pour insérer la valeur d'une variable, utilisez ``. Le + marquage wiki dans la valeur sera d'abord converti en HTML. +* Pour insérer la valeur brute d'une variable, sans conversion en HTML du + marquage wiki, utilisez ``. +* Pour rendre un texte dépendant d'une variable, utilisez `text` +* Pour utiliser un texte quand une variable est définie et un autre texte + quand elle n'est pas définie, utilisez `textother text` + +Voici un exemple : + + + Name: \[[]]
+ Age:
+ + Favorite color:
" + + No favorite color.
+
+ +
+ +
+
+ +Le modèle rempli sera formaté comme le reste de la page dans laquelle il se +trouve. Vous pouvez donc inclure des WikiLinks ou d'autres marquages wiki +dans le modèle. Cependant ces WikiLinks n'apparaîtront pas comme des +rétroliens vers la page qui utilise ce modèle. + +Remarquez l'utilisation de "raw_name" dans [[ikiwiki/WikiLink]] de l'exemple +ci-dessus. Ainsi, si le nom peut être confondu avec un marquage wiki, il +n'est pas converti en html avant d'être créé en tant que +[[ikiwiki/WikiLink]]. + + +[[!meta robots="noindex, follow"]] -- cgit v1.2.3