Skip to main content
The YAML renderer produces structured YAML output from your templates. Enable it in document frontmatter:
---
colin:
  output:
    format: yaml
---
With this setting, Colin writes document.yaml instead of document.md.

Same Parsing, Different Output

The YAML renderer uses the same parsing logic as the JSON renderer. All the same markdown structures work:
  • Headers become keys
  • Lists become sequences
  • Nested headers create nested mappings
  • {% item %} blocks create sequence elements
The only difference is the output format. This makes switching between JSON and YAML trivial—just change the format setting.
---
colin:
  output:
    format: yaml
---

## name
Alice

## role
admin

## tags
- python
- data
- ml

Data Fences

Both json and yaml fences work in either renderer. This means you can write literal values in whichever format you prefer:
---
colin:
  output:
    format: yaml
---

## config
```yaml
debug: true
level: 3
```

## metadata
```json
{"department": "Engineering"}
```
For the full guide on markdown structure parsing, see the JSON renderer documentation.