summaryrefslogtreecommitdiff
path: root/subplot.md
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-08-13 16:14:33 +0300
committerLars Wirzenius <liw@liw.fi>2022-08-14 09:07:23 +0300
commit82cf29e251685de8ea6c14fff5d1b1b3d7001fe5 (patch)
treef934f27ca6ebcc14d0d018d9ee8e9d9cfdc6b732 /subplot.md
parente90337da2b293eb0111e6be9131ef2f25e861b9c (diff)
downloadsubplot-82cf29e251685de8ea6c14fff5d1b1b3d7001fe5.tar.gz
feat! drop support to act as a Pandoc filter
When we change Subplot to take a YAML file instead of a Markdown file as input, it doesn't make sense to act as a Pandoc filter anymore: Pandoc doesn't understand our YAML file. In any case, I seem to have been the only user ever of that feature, so it won't really bother anyone else. Even so, we should treat this as a breaking change. "subplot docgen" still works as before. Sponsored-by: author
Diffstat (limited to 'subplot.md')
-rw-r--r--subplot.md64
1 files changed, 21 insertions, 43 deletions
diff --git a/subplot.md b/subplot.md
index f99b326..ca791d5 100644
--- a/subplot.md
+++ b/subplot.md
@@ -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.