Templating
Templating
Section titled “Templating”FrontMark lets Markdown compose page content with page frontmatter, selected values from site.config.yaml, and generated helper blocks. Astro stays responsible for the structural shell, while Markdown controls the visible content.
Variable syntax
Section titled “Variable syntax”Use double braces in Markdown or frontmatter:
# {{ site.shortName }}
{{ site.description }}Dot paths can read nested configuration values:
{{ brand.heroImage }}{{ theme.style }}Frontmatter templates
Section titled “Frontmatter templates”Frontmatter can define page-local content data:
---hero: eyebrow: Enriched Markdown for clear documentation. title: FrontMark description: Presentation site for FrontMark, enriched Markdown and documentation workflows. image: /brand/frontmark-hero.png---Use direct Markdown when the page author controls the markup. Use templating only when the value must remain shared across pages.
Markdown-composed hero
Section titled “Markdown-composed hero”The home page is intentionally composed from Markdown instead of a dedicated Astro page:
<section class="hero" markdown>
<div markdown>
<p class="eyebrow">Enriched Markdown for clear documentation.</p>
<h1><span class="frontmark-wordmark">FrontMark</span></h1>
<p class="lead">Presentation site for FrontMark, enriched Markdown and documentation workflows.</p>
<div class="actions" markdown>
[Documentation](/docs/){ .md-button }[sigMAX](https://sigmax.dev/){ .md-button .secondary }[Admin](/admin/){ .md-button .secondary }
</div>
</div>
<div class="hero-visual" aria-hidden="true" markdown>

</div>
</section>This keeps the layout reusable while the page author chooses the exact Markdown and HTML composition.
Markdown actions
Section titled “Markdown actions”Actions should stay visible in the Markdown source when they are part of a page composition. Write the links explicitly:
<div class="actions" markdown>
[Documentation](/docs/){ .md-button }[sigMAX](https://sigmax.dev/){ .md-button .secondary }[Admin](/admin/){ .md-button .secondary }
</div>The Markdown link renderer adds the configured base path to internal links such as /docs/ and /admin/. Use an absolute URL when the target must stay outside the generated base path.
Available roots
Section titled “Available roots”| Root | Usage |
|---|---|
site | Public site metadata from site.config.yaml. |
brand | Logo, hero image, and brand display settings. |
astro | Astro page configuration and layout values. |
menu | Astro top-menu values. |
menus | Documentation, social, and sidebar menu configuration. |
tags | Tag page and tag search configuration. |
theme | Active style and theme-switching values. |
page | The current page frontmatter after template resolution. |
home | Generated helper blocks for the home page, such as tag strips. |
Helper blocks
Section titled “Helper blocks”Some values render HTML blocks because Markdown alone cannot express loops or generated indexes:
{{ home.tags }}{{ tags.searchBox }}{{ tags.cloud }}{{ tags.results }}Use helpers for generated collections. Use direct variables and Markdown links when the page author should fully control the markup.