Stage isolation
Build with -s Staging or -s Production. Each stage has its own bucket, distribution, and settings, so deploys do not step on each other.
Narrative parses front matter, renders Jinja2 templates over structured content, and builds a site from a folder. Many sites can share one engine without leaking into each other.

Write a Markdown file with YAML front matter. Narrative finds it, parses it, and renders it through a template.
[[Exclude]] and [[ExcludeWhere]] filters keep a section out of one stage.A data source fetches a list of items at build time. A collection ties it to a template and writes one page per item.
| file | Reads a folder of JSON files, one item per file, or a single JSON array file. |
|---|---|
| rest | Fetches from an HTTP endpoint. Secrets come in through environment variables, never through the site's files. |
Shortcodes add structure to Markdown. They can be nested, and you can add your own through the plugin interface.
article_link callout code_tabs current_year highlight
leverage_disclaimer mermaid toc vimeo youtube
Mermaid diagrams are rendered to SVG at build time, so the page needs no script to show them.
Every site is its own folder with its own settings, content, templates, and deploy stages. A site name picks which one to build.
Build with -s Staging or -s Production. Each stage has its own bucket, distribution, and settings, so deploys do not step on each other.
A site can list shared folders in SharedContent. Narrative copies them under the site's source before each build, and the site's own file always wins.
A placeholder such as [[canon:key]] resolves from one source-of-truth file at build time, so every site shows the same number.
Write to Renkara Media Group and a person will answer.