TiddlyWiki5/editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode_ trans...

56 lines
3.2 KiB
Plaintext

created: 20220122145022547
fr-title: Modes d'analyse du WikiTexte : exemples de transclusions
modified: 20220419224014907
tags: [[WikiText parser mode transitions]]
title: WikiText parser mode: transclusion examples
type: text/vnd.tiddlywiki
En utilisant le tiddler [[table-example]] qui contient<<:>>
<$codeblock code={{table-example}}/>
dans une transclusion, alors<<:>>
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "* {{table-example}}">>
<<wikitext-example-table-row 2 """* <div>
{{table-example}}
</div>
""">>
<<wikitext-example-table-row 3 "* <$transclude tiddler=table-example/>">>
<<wikitext-example-table-row 4 "* <$transclude tiddler=table-example></$transclude>">>
<<wikitext-example-table-row 5 """* <$transclude tiddler=table-example>
</$transclude>""">>
<<wikitext-example-table-row 6 "* <$transclude tiddler=table-example mode=block/>">>
</tbody></table>
Dans le code ci-dessus, la syntaxe de liste à puce est reconnue en [[mode bloc|Block Mode WikiText]], puis son contenu est interprété en [[mode en ligne|Inline Mode WikiText]]. Quand l'interpréteur rencontre une <<fr "Transclusion in WikiText">> il utilise le mode courant pour analyser le contenu du tiddler transclus. Le tiddler d'exemple contient une définition de table qui n'est reconnue qu'en [[mode bloc|Block Mode WikiText]].
De ce fait, dans la ligne n°1 ci-dessus, la syntaxe de table n'est pas reconnue. Dans la ligne n°2, la ligne vide après la balise `<div>` bascule l'interpréteur en [[mode bloc|Block Mode WikiText]] et le contenu transclus en hérite, donc la table est reconnue.
En utilisant le <<fr TranscludeWidget>>, le mode d'analyse reste le mode en ligne (exemples des lignes n°3 et 4 ci-dessus) jusqu'à ce que la balise ouvrante soit suivie d'une ligne vide (exemple n°5 ci-dessus).
<<.tip """Pour voir d'autres exemples similaires, consultez <<fr "WikiText parser mode: macro examples">>. La seule différence est qu'ici l'exemple de la ligne n°6 utilise l'attribut <<.attr mode>> du widget <<.wlink TranscludeWidget>> pour forcer explicitement le mode d'analyse plutôt que de de laisser le contenu de la balise le déterminer.""">>
---
Dans les exemples suivants, les transclusions sont directes, au lieu d'être incluses dans des listes à puces<<:>>
<table><<wikitext-example-table-header>><tbody>
<<wikitext-example-table-row 1 "{{table-example}}">>
<<wikitext-example-table-row 2 """<div>
{{table-example}}
</div>
""">>
<<wikitext-example-table-row 3 "<$transclude tiddler=table-example/>">>
<<wikitext-example-table-row 4 "<$transclude tiddler=table-example></$transclude>">>
<<wikitext-example-table-row 5 """<$transclude tiddler=table-example>
</$transclude>""">>
<<wikitext-example-table-row 6 "<$transclude tiddler=table-example mode=inline/>">>
</tbody></table>
Parmi ces exemples, seuls les deux widgets <<.wlink TranscludeWidget>> dont la balise d'ouverture n'est pas suivie d'une ligne vide ainsi que l'appel qui comporte l'attribut <<.attr mode>>=<<.value inline>> (lignes n°3, 4 et 6) sont analysés en [[mode en ligne|Inline Mode WikiText]].
<<.tip """Voir aussi <<fr "WikiText parser mode: macro examples">> pour d'autres exemples similaires.""">>