- Include railroad.js from http://tabatkins.github.io/railroad-diagrams/ - Include railroad.css from the same, and tweak it to match my style a bit better - Add a railroad-utils.js file that declares a railroadDiagram function. It takes a builder function and an element ID, calls the builder and adds the resulting diagram to the element with the given ID. - Add a railroad_diagram shortcode that wraps that all up so you can write a diagram inline with a post. - Add script includes if the railroad_diagram shortcode is used. The shortcut sets a variable in the page's .Scratch that is looked up in the head partial template to determine whether to include these scripts.
44 lines
989 B
CSS
44 lines
989 B
CSS
svg.railroad-diagram path {
|
|
stroke-width: 2;
|
|
stroke: var(--body-foreground-color);
|
|
fill: var(--body-foreground-color);
|
|
}
|
|
svg.railroad-diagram text {
|
|
font-family: var(--monospace-font-family);
|
|
text-anchor: middle;
|
|
white-space: pre;
|
|
}
|
|
svg.railroad-diagram text.diagram-text {
|
|
font-size: 12px;
|
|
}
|
|
svg.railroad-diagram text.diagram-arrow {
|
|
font-size: 16px;
|
|
}
|
|
svg.railroad-diagram text.label {
|
|
text-anchor: start;
|
|
}
|
|
svg.railroad-diagram text.comment {
|
|
font: italic 12px monospace;
|
|
}
|
|
svg.railroad-diagram g.non-terminal text {
|
|
/*font-style: italic;*/
|
|
}
|
|
svg.railroad-diagram rect {
|
|
stroke-width: 2;
|
|
stroke: black;
|
|
fill: hsl(120,100%,90%);
|
|
}
|
|
svg.railroad-diagram rect.group-box {
|
|
stroke: gray;
|
|
stroke-dasharray: 10 5;
|
|
fill: none;
|
|
}
|
|
svg.railroad-diagram path.diagram-text {
|
|
stroke-width: 3;
|
|
stroke: black;
|
|
fill: white;
|
|
cursor: help;
|
|
}
|
|
svg.railroad-diagram g.diagram-text:hover path.diagram-text {
|
|
fill: #eee;
|
|
}
|