Expressions
Use {{ expression }} in Markdown body text to interpolate values. Statements are not allowed — only expressions.
Variable reference
Hello {{ name }}!
Member access and computed keys work like JavaScript:
{{ user.name }}
{{ items[index] }}
Default values (pipe)
Use | for fallback when the left side is falsy (undefined, null, "", 0, false):
{{ title | "Untitled" }}
{{ count | 0 }}
Ternary operator
{{ isNight ? "Dark" : "Light" }}
Triple braces
{{{ expression }}} is supported. Currently behaves the same as {{ }} (no escaping). Reserved for a future escaping mode.
Component calls
Registered components are called inside expressions:
{{ cityItem({ city: "Osaka", population: 2825000 }) }}
What you cannot write
- Statements (
const,if, loops) - Arbitrary function calls (only registered components)
- Most method calls (only
.toLocaleString)
Logic belongs in @hg blocks. See Hyogen blocks.
Escaping
{{ }} does not HTML-escape output. Sanitize downstream if you render to HTML. Suspicious context values may emit warnings — see Paths and security.