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:

  1. Project Metadata : Defined in zolt.yaml at the root of your project. These settings apply to every file.
  2. File Metadata : Defined at the very top of a .zlt file 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.

yaml
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.

yaml
---
title: "Document Title"
author: "Jane Doe"
date: 2026-02-18
theme: professional
---

# {$title}
By {$author}

Supported Fields

FieldTypeDescription
titlestringDocument title
authorstringAuthor name
datedateCreation date
versionstring/numberDocument version
tagsarrayList of tags
descriptionstringShort description
keywordsarray/stringSEO keywords
langstringLanguage code
themestringTheme name (default, professional, technical, playful)
colorSchemestringauto, light, or dark
layoutstringPath to a layout file (e.g., _layout.zlt)
tocbooleanAuto-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:

zolt
:::sidebar
:::sidebar-header
# {$siteName}
:::

:::sidebar-content
[[filetree]]
:::
:::

# {$title}

:::content:::

---
© 2026 {$author}

Using a Layout

Set the layout property in your metadata:

yaml
---
title: "My Page"
layout: "_layout.zlt"
---

Zolt provides built-in components to help users navigate your content.

Table of Contents (TOC)

Generate a TOC for the current page:

zolt
[[toc]]
AttributeDescriptionDefault
depthMaximum depth (1-6)3
fromStart level1
toEnd level6
numberedInclude numbersfalse

File Tree

Generate a navigation tree based on your project structure:

zolt
[[filetree]]

The file tree automatically detects links between your files to build a visual hierarchy.

AttributeDescriptionDefault
depthMaximum depth99
fromStarting depth level0
toEnding depth level99
numberedEnable numbered for the file treefalse
tocShow TOC for the active pagefalse
tocFromTOC starting heading level1
tocToTOC ending heading level6
tocDepthTOC maximum depth3
tocNumberedEnable numbered for TOCfalse
zolt Example with custom depth
[[filetree {depth=2}]]
zolt Example with advanced TOC settings
[[filetree {toc tocFrom=2 tocNumbered}]]

Automatically generate "Previous" and "Next" links based on your project structure:

zolt
[[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