Define a reusable HTML wrapper for pages.
| Kind | Keyword |
| Since | 0.1.0 |
| Repeatable | yes |
layout <name>
| Name | Type | Required |
|---|---|---|
name |
identifier |
yes |
A layout block declares a named HTML template that wraps the body of any page that opts into it via page <path> layout <name>. The layout's body usually contains <html>, <head>, and a placeholder for page content ({page.content}). Layouts may also load shared data via query nodes.
layout main
html
<html>
<head><title>{page.title}</title></head>
<body>{page.content}</body>
</html>
page /dashboard layout main title "Dashboard"
html
<h1>Welcome</h1>
⚠ Implementation touched after spec. Source code changed on
2026-05-20, but this entity's spec was last edited on2026-05-08. The description may be out of date.
| Spec last touched | 5da8498 (2026-05-08) |
| Source last touched | af278bb (2026-05-20) |
| Source files | internal/parser/parser.go |