Simple example tutorial
Definition of terms
- configuration file - A
yamlfile that configures markmeld and specifies targets (Default:_markmeld.yaml). - target - A specific recipe to run that usually builds an output.
- data - Content, either in markdown or yaml format, used to produce a target.
- template - A jinja2 file defining how the input will be integrated to produce the output.
A simple example
Here's demo/_markmeld.yaml, a simple example that produces a single basic target:
targets:
target1:
output_file: "{today}_demo_output.pdf"
latex_template: pandoc_default.tex
jinja_template: jinja_template.jinja
command: |
pandoc --template "{latex_template}" --output "{output_file}"
data:
yaml_files:
- some_data.yaml
md_files:
some_text_data: some_text.md
This file specifies a single target, target1. This target can be built by specifying mm target1 on the command line. Building target1 will read structured data from some_data.yaml and prose from some_text.md, integrated through the jinja_template.jinja. The integrated output of the template will be piped to stdin of the pandoc command to produce the output file named in the output_file variable.
Using the command line
Markmeld gives you a series of CLI arguments:
mm- List available targets conciselymm -c <config>- Specify a different config file (defaults to_markmeld.yaml).mm -l- List the available targets with their descriptions.mm <target>- Builds the targetmm <target> -p- Prints out the output (what would be piped to the command onstdin)mm <target> -d- Dumps the structured input before melding with jinja, so you can see what your jinja template will be receiving. Useful for troubleshooting jinja templates.mm <target> -e- Explains the target -- shows you from the config file what this target is actually doing.