diff options
Diffstat (limited to 'subplot.md')
-rw-r--r-- | subplot.md | 64 |
1 files changed, 21 insertions, 43 deletions
@@ -138,7 +138,7 @@ Subplot actually consists mainly of two separate programs: **subplot docgen** for generating output documents, and **subplot codegen** for generating the test program. There are a couple of additional tools (**subplot metadata** for reporting meta data about a Subplot document, and -**subplot-filter** for doing the document generation as a Pandoc filter). +**subplot extract** for extracting embedded files from a subplot document. Thus a more detailed architecture view is shown below. @@ -3007,13 +3007,17 @@ and is not referenced as an external image. ~~~scenario given file pikchr.md and an installed subplot -when I run pandoc --filter subplot-filter pikchr.md -o pikchr.html +when I run subplot docgen pikchr.md -o pikchr.html then file pikchr.html matches regex /src="data:image/svg\+xml;base64,/ ~~~ The sample input file **pikchr.md**: ~~~~~~~~{#pikchr.md .file .markdown .numberLines} +--- +title: Pikchr test +... + This is an example markdown file that embeds a simple Pikchr diagram. ~~~pikchr @@ -3046,13 +3050,17 @@ HTML output, not referenced as an external image. given file dot.md and file b.yaml and an installed subplot -when I run pandoc --filter subplot-filter dot.md -o dot.html +when I run subplot docgen dot.md -o dot.html then file dot.html matches regex /src="data:image/svg\+xml;base64,/ ~~~ The sample input file **dot.md**: ~~~~~~~~{#dot.md .file .markdown .numberLines} +--- +title: Dot test +... + This is an example Markdown file, which embeds a diagram using dot markup. ~~~dot @@ -3088,13 +3096,17 @@ the HTML output, not referenced as an external image. given file plantuml.md and file b.yaml and an installed subplot -when I run pandoc --filter subplot-filter plantuml.md -o plantuml.html +when I run subplot docgen plantuml.md -o plantuml.html then file plantuml.html matches regex /src="data:image/svg\+xml;base64,/ ~~~ The sample input file **plantuml.md**: ~~~~~~~~{#plantuml.md .file .markdown .numberLines} +--- +title: Plantuml test +... + This is an example Markdown file, which embeds a diagram using PlantUML markup. @@ -3169,13 +3181,17 @@ HTML output, not referenced as an external image. given file roadmap.md and file b.yaml and an installed subplot -when I run pandoc --filter subplot-filter roadmap.md -o roadmap.html +when I run subplot docgen roadmap.md -o roadmap.html then file roadmap.html matches regex /src="data:image/svg\+xml;base64,/ ~~~ The sample input file **roadmap.md**: ~~~~~~~~{#roadmap.md .file .markdown .numberLines} +--- +title: Roadmap test +... + This is an example Markdown file, which embeds a roadmap. ~~~roadmap @@ -3270,44 +3286,6 @@ This content is foobarish ~~~~~~~~ -## Using as a Pandoc filter - -Subplot can be used as a Pandoc _filter_, which means Pandoc can allow -Subplot to modify the document while it is being converted or typeset. -This can useful in a variety of ways, such as when using Pandoc to -improve Markdown processing in the [ikiwiki][] blog engine. - -[ikiwiki]: http://ikiwiki.info/ - -The way filters work is that Pandoc parses the input document into an -abstract syntax tree, serializes that into JSON, gives that to the -filter (via the standard input), gets a modified abstract syntax tree -(again as JSON, via the filter's standard output). - -Subplot supports this via the **subplot-filter** executable. It is built -using the same internal logic as Subplot's docgen. The interface is -merely different to be usable as a Pandoc filter. - -This scenarios verifies that the filter works at all. More -importantly, it does that by feeding the filter a Markdown file that -does not have a YAML metadata block. For the ikiwiki use case, that's -what the input files are like. - -~~~scenario -given file justdata.md -and an installed subplot -when I run pandoc --filter subplot-filter justdata.md -o justdata.html -then file justdata.html matches regex /does not have a YAML metadata/ -~~~ - -The input file **justdata.md**: - -~~~~~~~~{#justdata.md .file .markdown .numberLines} -This is an example Markdown file. -It does not have a YAML metadata block. -~~~~~~~~ - - ## Extract embedded files `subplot extract` extracts embedded files from a subplot file. |