created: 20150102163222184
modified: 20150119231005000
title: $:/plugins/tiddlywiki/railroad/readme

This plugin provides a `<$railroad>` widget for generating railroad diagrams as SVG images.

Alternatively, the [[diagram notation|$:/plugins/tiddlywiki/railroad/syntax]] can be stored in a dedicated tiddler with its `type` field set to `text/vnd.tiddlywiki.railroad`, and that tiddler can simply be transcluded to wherever it is needed.

The plugin is based on [[a library by Tab Atkins|https://github.com/tabatkins/railroad-diagrams]], and has been extended to make it more flexible, including allowing components of a diagram to function as links or be transcluded from other tiddlers.

The content of the `<$railroad>` widget is ignored.

|!Attribute |!Description |!Default |
|text |Text in a special notation that defines the diagram's layout |-- |
|arrow |If set to `no`, repeat paths do not have an arrow on them |`yes` |
|start |Style of the startpoint: `single`, `double`, `none` |`single` |
|end |Style of the endpoint: `single`, `double`, `none` |`single` |
|debug |If set to `yes`, the diagram displays its parse tree |`no` |

These options can also be specified via pragmas in the diagram notation, or globally via a dictionary tiddler called `$:/config/railroad`:

```
arrow: yes
start: single
end: single
debug: no
```
