Metadata & Configuration
Zolt uses YAML metadata to configure both individual documents and entire projects.
Understanding Metadata
Metadata allows you to define properties like titles, authors, or themes. In Zolt, metadata can be defined at two levels:
- Project Metadata : Defined in
zolt.yamlat the root of your project. These settings apply to every file. - File Metadata : Defined at the very top of a
.zltfile between---markers. These settings apply only to that specific file.
Overriding Hierarchy
File metadata always takes precedence. If a property (like theme ) is defined in both zolt.yaml and a file's header, the file-specific value will be used for that document.
Metadata Syntax
Global: zolt.yaml
Create this file in your project root for project-wide settings.
siteName: "My Documentation"
author: "Documentation Team"
version: 1.0.0
theme: technical
layout: _layout.zlt
Local: File Header
Define document properties at the top of your file.
---
title: "Document Title"
author: "Jane Doe"
date: 2026-02-18
theme: professional
---
# {$title}
By {$author}
Supported Fields
| Field | Type | Description |
|---|---|---|
title | string | Document title |
author | string | Author name |
date | date | Creation date |
version | string/number | Document version |
tags | array | List of tags |
description | string | Short description |
keywords | array/string | SEO keywords |
lang | string | Language code |
theme | string | Theme name (default, professional, technical, playful) |
colorScheme | string | auto, light, or dark |
layout | string | Path to a layout file (e.g., _layout.zlt) |
toc | boolean | Auto-generate TOC |
Layouts & Templates
Layouts allow you to wrap your content in a common structure (headers, footers, sidebars).
Defining a Layout
A layout is a standard Zolt file that uses the :::content::: marker to indicate where the main document content should be injected. You can use existing structural blocks like :::sidebar to organize your layout.
Example _layout.zlt:
:::sidebar
:::sidebar-header
# {$siteName}
:::
:::sidebar-content
[[filetree]]
:::
:::
# {$title}
:::content:::
---
© 2026 {$author}
Using a Layout
Set the layout property in your metadata:
---
title: "My Page"
layout: "_layout.zlt"
---
Navigation & Structure
Zolt provides built-in components to help users navigate your content.
Table of Contents (TOC)
Generate a TOC for the current page:
[[toc]]
| Attribute | Description | Default |
|---|---|---|
depth | Maximum depth (1-6) | 3 |
from | Start level | 1 |
to | End level | 6 |
numbered | Include numbers | false |
File Tree
Generate a navigation tree based on your project structure:
[[filetree]]
The file tree automatically detects links between your files to build a visual hierarchy.
| Attribute | Description | Default |
|---|---|---|
depth | Maximum depth | 99 |
from | Starting depth level | 0 |
to | Ending depth level | 99 |
numbered | Enable numbered for the file tree | false |
toc | Show TOC for the active page | false |
tocFrom | TOC starting heading level | 1 |
tocTo | TOC ending heading level | 6 |
tocDepth | TOC maximum depth | 3 |
tocNumbered | Enable numbered for TOC | false |
[[filetree {depth=2}]]
[[filetree {toc tocFrom=2 tocNumbered}]]
Navigation Links
Automatically generate "Previous" and "Next" links based on your project structure:
[[filetree-nav]]
The navigation links are determined by the order of files in your [[filetree]] . This is perfect for multi-page documentation or tutorials.
Tip : Place
[[filetree-nav]]in your layout file (e.g.,_layout.zlt) after:::content:::to automatically add navigation to every page.
© 2026 Marmotz