Split off document YAML metadata to a separate file
We currently support document metadata as a YAML block in the Markdown file. This is problematic, since we can't usefully check that it's valid for both Subplot and Pandoc, and that leads to issues like #213 (closed).
Fix this by changing Subplot so that the metadata Subplot cares about is in a separate, strictly defined YAML file. Any metadata that is only for Pandoc can be included in that file under a
pandoc key and will be any valid YAML, or it can be in a YAML metadata block embedded in the Markdown. (However, Subplot will ignore any metadata embedded into the Markdown.)
docgen will insert the metadata from the separate YAML file into the AST it feeds Pandoc.
Metadata that Subplot cares about is at least:
- the list of markdown documents which contain scenarios
- the list of bindings files
- the inputs for codegen (e.g. template -> function files mapping)
- any additional block classes that Subplot should accept (to allow it to warn about ones that may be misspellings)
The bibliographies are only really useful for Pandoc.