mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-30 13:29:56 +00:00
63 lines
3.0 KiB
Plaintext
63 lines
3.0 KiB
Plaintext
created: 20141129210304238
|
|
fr-title: Transclusion par gabarits
|
|
modified: 20150624091314988
|
|
tags: [[Transclusion in WikiText]]
|
|
title: Transclusion with Templates
|
|
type: text/vnd.tiddlywiki
|
|
|
|
! Introduction
|
|
|
|
Dans [[Transclusion, utilisation basique|Transclusion Basic Usage]] nous avons découvert comment inclure le contenu d'un tiddler A dans un tiddler B. Alors, supposons que le tiddler A contienne<<:>>
|
|
|
|
```
|
|
|
|
@@background-color:yellow;
|
|
Salut, mon titre est {{!!title}}
|
|
@@
|
|
```
|
|
|
|
Ceci fait afficher au tiddler A son titre sur fond jaune (voir [[Les styles et les classes avec WikiText|Styles and Classes in WikiText]] pour les styles CSS). Imaginez que vous vouliez afficher le titre du tiddler B de la même façon. Mais que vous ne souhaitiez pas copier/coller les instructions de style, car vous désirez changer la couleur du fond plus tard et que vous vioulez maintenir une cohérence entre les tiddlers. Cela ressemble à un cas typique de transclusion, aussi essayons de transclure le tiddler A en tiddler B par la voie classique par ``{{A}}``. Vous verriez alors le contenu suivant dans le tiddler B<<:>>
|
|
|
|
<<<
|
|
@@background-color:yellow;
|
|
Salut, mon fr-titre est {{!!fr-title}}
|
|
@@
|
|
<<<
|
|
|
|
Le stype est appliqué comme attendu, mais le titre est faux<<:>> nous voulons que ``{{!!title}}`` se réfère au tiddler B, cible, et pas au tiddler A, source.
|
|
|
|
La solution est dans l'utilisation d'un //gabarit//. Dans ce cas, le tiddler A, source, est appelé le [[Tiddler Gabarit|TemplateTiddlers]], et est //appliqué// au tiddler B par l'utilisation de la notation ``{{||A}}``. La différence est que toute [[Référence texte|TextReference]] qui ne se réfère pas explicitement à un tiddler spécifique est affectée au [[tiddler courant|Current Tiddler]], qui est, le tiddler cible. En conséquence, le tiddler B a maintenant l'aspect attendu<<:>>
|
|
|
|
<<<
|
|
@@background-color:yellow;
|
|
Salut, mon titre est B
|
|
@@
|
|
<<<
|
|
|
|
! Utilisation
|
|
|
|
La Transclusion par gabarit est comparable à un masque<<:>> en supposant que le tiddler source contienne les références génériques (comme les trous des yeux dans un masque), celles-ci seront remplacées par les valeurs des tiddlers cible (comme les yeux d'une personne qui porte le masque).
|
|
|
|
Un gabarit peut être appliqué à tout tiddler, pas seulement au tiddler en cours, en utilisant la notation complète ``{{<cible>||<gabarit>}}``. La ``<cible>`` par défaut est le [[tiddler courant|Current Tiddler]] (qui a été utilisé dans l'exemple supra).
|
|
|
|
! Exemples
|
|
|
|
!! Un gabarit prédéfini pour un bel affichage des tags
|
|
|
|
Vous pouvez appliquer le gabarit système ``$:/core/ui/TagTemplate`` à un tag pour lui donner le style d'une pilule avec menu déroulant<<:>>
|
|
|
|
```
|
|
{{Transclusion||$:/core/ui/TagTemplate}}
|
|
```
|
|
|
|
a pour rendu<<:>> {{Transclusion||$:/core/ui/TagTemplate}}
|
|
|
|
Voir aussi<<:>>
|
|
|
|
* [[Transclusion grâce à WikiText|Transclusion in WikiText]]
|
|
* [[Transclusion, Utilisation basique|Transclusion Basic Usage]]
|
|
* [[Référence textuelle|TextReference]]
|
|
* [[Tiddlers Gabarit|TemplateTiddlers]]
|
|
* [[Widget Transclude|TranscludeWidget]]
|
|
* [[Tiddler Courant|Current Tiddler]]
|