mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-15 06:14:53 +00:00
60 lines
3.8 KiB
Plaintext
60 lines
3.8 KiB
Plaintext
|
created: 20220110235808139
|
||
|
fr-title: Changements de mode d'analyse du WikiTexte
|
||
|
modified: 20220421003504381
|
||
|
tags: [[WikiText Parser Modes]]
|
||
|
title: WikiText parser mode transitions
|
||
|
type: text/vnd.tiddlywiki
|
||
|
|
||
|
Voici un diagramme <<.em approximatif>> dont les lignes correspondent globalement aux transitions entre modes d'analyse de l'interpréteur décrites ci-dessous<<:>>
|
||
|
<$railroad text="""
|
||
|
{<"mode pragma" >
|
||
|
{(
|
||
|
{<"mode en ligne"> +} |
|
||
|
({<"mode bloc">
|
||
|
+("<<<" | "@@" | "$$")
|
||
|
}
|
||
|
"autre syntaxe de début de bloc")
|
||
|
{<"mode en ligne"> +}
|
||
|
)
|
||
|
+(
|
||
|
"syntaxe de fin de bloc" |
|
||
|
("ligne vide" "balise ouvrante html")
|
||
|
)}
|
||
|
+("widget transclude" | "appel de macro")
|
||
|
}
|
||
|
"""/>
|
||
|
|
||
|
!! Mode de démarrage
|
||
|
|
||
|
Par défaut, l'interpréteur démarre en [[mode bloc|Block Mode WikiText]]. Néanmoins, un tiddler peut être transclus en [[mode en ligne|Inline Mode WikiText]] auquel cas le [[WikiTexte du mode bloc|Block Mode WikiText]] ne sera pas reconnu.
|
||
|
|
||
|
Au début du texte seulement, l'interpréteur reconnaît aussi le [[WikiTexte du mode pragma|Pragma]].
|
||
|
|
||
|
!! Transitions depuis le mode pragma
|
||
|
|
||
|
Au début du texte, l'interpréteur cherche des [[pragmas|Pragma]]. S'il n'en trouve aucun il bascule en [[mode en ligne|Inline Mode WikiText]] ou en [[mode bloc|Block Mode WikiText]], en fonction du mode de transclusion. S'il a trouvé un [[pragma|Pragma]], il continue à en chercher d'autres jusqu'à ce qu'il rencontre une ligne vide non suivie par le début d'un nouveau pragma.
|
||
|
|
||
|
!! Transitions depuis le mode bloc
|
||
|
|
||
|
Quand l'interpréteur rencontre la plupart des syntaxes de début de [[mode bloc|Block Mode WikiText]], il bascule en [[mode en ligne|Inline Mode WikiText]], ce qui signifie que le texte compris entre des balises de début et de fin de [[bloc|Block Mode WikiText]] sera interprété en [[mode en ligne|Inline Mode WikiText]].
|
||
|
|
||
|
<<.tip """La <<gf balise>> de début de paragraphe est <<gf invisible>>. Même au sein des paragraphes l'interpréteur bascule en [[mode en ligne|Inline Mode WikiText]].""">>
|
||
|
|
||
|
Il y a toutefois quelques balises de blocs dont le contenu est interprété en [[mode bloc|Block Mode WikiText]]<<:>>
|
||
|
|
||
|
* Les [[citations multi-lignes|Block Quotes in WikiText]]
|
||
|
* Les [[styles multi-lignes|Styles and Classes in WikiText]]
|
||
|
* Les [[blocs typés|Typed Blocks in WikiText]]
|
||
|
|
||
|
Pour ces cas particuliers, lorsque la syntaxe de début de bloc est rencontrée, l'interpréteur continue à analyser le texte en [[mode bloc|Block Mode WikiText]].
|
||
|
|
||
|
Les [[lignes horizontales|Horizontal Rules in WikiText]] sont un autre cas particulier<<:>> elles n'incluent pas de texte, donc l'interpréteur n'a pas l'opportunité de basculer en [[mode en ligne|Inline Mode WikiText]].
|
||
|
|
||
|
Les balises d'ouverture de [[widgets|Widgets in WikiText]] ou de [[HTML|HTML in WikiText]] peuvent conduire l'interpréteur à changer de mode. Quand une de ces balises <<.em "n'est pas">> suivie d'une ligne vide, le texte compris entre les balises sera interprété en [[mode en ligne|Inline Mode WikiText]]. Voir les [[exemples HTML|WikiText parser mode: HTML examples]].
|
||
|
|
||
|
!! Transitions depuis le mode en ligne
|
||
|
|
||
|
* L'interpréteur retourne en [[mode bloc|Block Mode WikiText]] après la fin d'une ligne qui termine du [[WikiTexte de mode bloc|Block Mode WikiText]]. En d'autres termes, quand la balise de fin de bloc est rencontrée.
|
||
|
* Quand une balise d'ouverture de [[widget|Widgets in WikiText]] ou de [[HTML|HTML in WikiText]] est suivie d'une ligne vide, le contenu est analysé en [[mode bloc|Block Mode WikiText]]. Voir les [[exemples HTML|WikiText parser mode: HTML examples]].
|
||
|
* Le texte transclus et le texte substitué via un appel de macro peuvent faire quitter le [[mode en ligne|Inline Mode WikiText]] à l'interpréteur. Voir les [[exemples de transclusions|WikiText parser mode: transclusion examples]] et les [[exemples de macros|WikiText parser mode: macro examples]] pour plus de détails.
|