Ce plugin propose le widget <$railroad>
pour générer des diagrammes chemin de fer en images SVG.
De plus, le diagramme de notation peut être stocké dans un tiddler dédié avec son champ type
réglé sur text/vnd.tiddlywiki.railroad
, ce tiddler pourra être ainsi simplement transclu partout où il sera nécessaire.
Le plugin est basé sur une bibliothèque de Tab Atkins qui a été étendue pour la rendre plus malléable, notamment par la possibilité des composant d'un diagramme de fonctionner comme des liens ou d'être transclus à partir d'autres tiddlers.
Le widget railroad utilise une notation spéciale pour construire les composants définis çi-après.
Ici, x
et y
remplacent tout composant.
Les noms (contrairement aux chaines cotées) ne sont composés que de valeurs débutant par une lettre et contenant seulement lettres, chiffres, soulignements, points et traits d'union.
- série
- Une série de composants
- Les délimiteurs
<-
et->
permettent d'obliger un composant unique à être traité comme une série. C'est parfois utile pour mettre en valeur un diagramme
- optionnel
- Un composant qui peut être omis
- Les deux points font qu'
x
soit en tout premier
- répété
- Une liste d'un ou plusieurs
x
- Le suffixe
+
ajoutey
comme séparateur entre toutx
et le suivant
- répétition optionnelle
- Une liste optionnelle de
x
, i.e. une liste de zéro ou plusieursx
- choix
- Un ensemble d'alternatives
- Les deux points indiquent quelle branche arrive en tout premier. Par défaut, c'est la première branche
- chaine / terminal
- Un composant littéral ou terminal
- Ci-après les règles TiddlyWiki normales pour les chaines cotées
- nonterminal
- Un composant nonterminal, i.e. le nom d'un autre diagramme
- commentaire
- Un commentaire
- dummy
- L'absence de composant
- lien
- Un lien vers le titre d'un tiddler ou l'URI donné par la chaine ou le nom
- transclusion
- Interprète le contenu d'un autre tiddler comme un diagramme syntaxique et le transclut dans le diagramme courant
- pragma arrow
- Contrôle si les chemins répétés ont une flêche ou pas
- Peut être réglé sur oui ou non dans un diagramme intermédiaire, si désiré
- pragma debug
- Provoque l'affichage du diagramme syntaxique d'un diagramme
- pragma start/end
- Règle le style des diagrammes startpoint ou endpoint