mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-05 15:50:29 +00:00
56 lines
2.7 KiB
Plaintext
56 lines
2.7 KiB
Plaintext
|
created: 20220122144742419
|
||
|
fr-title: Modes d'analyse du WikiTexte : exemples de macros
|
||
|
modified: 20220419224009995
|
||
|
tags: [[WikiText parser mode transitions]]
|
||
|
title: WikiText parser mode: macro examples
|
||
|
type: text/vnd.tiddlywiki
|
||
|
|
||
|
\define tablebanale()
|
||
|
|cellule une|cellule deux|
|
||
|
|cellule trois|cellule quatre|
|
||
|
\end
|
||
|
En utilisant la macro `tablebanale` définie ainsi<<:>>
|
||
|
<$codeblock code=<<tablebanale>>/>
|
||
|
dans une transclusion, alors<<:>>
|
||
|
<table><<wikitext-example-table-header>><tbody>
|
||
|
<<wikitext-example-table-row 1 "* <<tablebanale>>">>
|
||
|
<<wikitext-example-table-row 2 """* <div>
|
||
|
|
||
|
<<tablebanale>>
|
||
|
</div>
|
||
|
""">>
|
||
|
<<wikitext-example-table-row 3 "* <$macrocall $name=tablebanale/>">>
|
||
|
<<wikitext-example-table-row 4 "* <$macrocall $name=tablebanale></$macrocall>">>
|
||
|
<<wikitext-example-table-row 5 """* <$macrocall $name=tablebanale>
|
||
|
|
||
|
</$macrocall>""">>
|
||
|
</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 un [[appel de macro en WikiTexte|Macro Calls in WikiText]] il utilise le mode courant pour analyser le contenu de la macro. La macro 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 de la macro en hérite, donc la table est reconnue.
|
||
|
|
||
|
En utilisant le <<fr MacroCallWidget>>, 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 """Voir aussi <<fr "WikiText parser mode: transclusion examples">> pour d'autres exemples similaires.""">>
|
||
|
|
||
|
---
|
||
|
|
||
|
Dans les exemples suivants, les appels de macros sont directs, au lieu d'être inclus dans des listes à puces<<:>>
|
||
|
<table><<wikitext-example-table-header>><tbody>
|
||
|
<<wikitext-example-table-row 1 "<<tablebanale>>">>
|
||
|
<<wikitext-example-table-row 2 """<div>
|
||
|
|
||
|
<<tablebanale>>
|
||
|
</div>
|
||
|
""">>
|
||
|
<<wikitext-example-table-row 3 "<$macrocall $name=tablebanale/>">>
|
||
|
<<wikitext-example-table-row 4 "<$macrocall $name=tablebanale></$macrocall>">>
|
||
|
<<wikitext-example-table-row 5 """<$macrocall $name=tablebanale>
|
||
|
|
||
|
</$macrocall>""">>
|
||
|
</tbody></table>
|
||
|
|
||
|
Parmi ces exemples, seuls les deux widgets <<.wlink MacroCallWidget>> dont la balise d'ouverture n'est pas suivie d'une ligne vide (lignes n°3 et 4) sont analysés en [[mode en ligne|Inline Mode WikiText]].
|
||
|
|
||
|
<<.tip """Voir aussi <<fr "WikiText parser mode: transclusion examples">> pour d'autres exemples similaires.""">>
|