Skip to content

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.

Use double braces in Markdown or frontmatter:

# {{ site.shortName }}
{{ site.description }}

Dot paths can read nested configuration values:

{{ brand.heroImage }}
{{ theme.style }}

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.

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>
![FrontMark visual](/brand/frontmark-hero.png)
</div>
</section>

This keeps the layout reusable while the page author chooses the exact Markdown and HTML composition.

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.

RootUsage
sitePublic site metadata from site.config.yaml.
brandLogo, hero image, and brand display settings.
astroAstro page configuration and layout values.
menuAstro top-menu values.
menusDocumentation, social, and sidebar menu configuration.
tagsTag page and tag search configuration.
themeActive style and theme-switching values.
pageThe current page frontmatter after template resolution.
homeGenerated helper blocks for the home page, such as tag strips.

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.