A markmeld project is configured using _markmeld.yaml. This file specifies targets to build, each with data, templates, and build options.
version — Config specification version (use “1”)
targets — Build targets
imports — Import other markmeld configs
target_factories — Auto-generate targets with plugins
jinja_template: template.jinja
output_file: output/{today}_document.pdf
command: pandoc -o "{output_file}"
| Attribute | Description |
|---|
jinja_template | Path to Jinja template |
output_file | Output path (supports {today}, {target_name}) |
command | Shell command (receives rendered output on stdin) |
type | Target type (raw for no jinja rendering) |
data | Input content specification |
| Directive | Description |
|---|
md_files | Named markdown files |
md_globs | Glob patterns for markdown |
yaml_files | Named YAML files |
yaml_globs | Glob patterns for YAML |
variables | Inline YAML data |
csl: nature.csl # Default, doc can override
lab: "Sheffield Lab" # Always wins
jinja_template: shared.jinja
recursive_render: false # Disable double-rendering
stopopen: true # Don't auto-open output