Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Frontmatter Fields

Every post requires a TOML frontmatter block between +++ markers at the top of the file.

Required Fields

FieldTypeDescriptionExample
titleStringPost title (displayed on page and in listings)"Hello World"
slugStringURL path segment — never change once published"hello-world"
dateDatePublication date2026-02-04

Optional Fields

FieldTypeDefaultDescription
draftBooleanfalseSet true to hide from listings and feeds
updatedDateLast updated date (shown if different from date)
descriptionStringUsed for meta description tag (SEO)
summaryStringShort summary, used in meta tags if set

Taxonomies

Declared under [taxonomies]:

FieldTypeDescription
tagsArray of stringsTopic labels
seriesArray of stringsMulti-part post grouping
categoriesArray of stringsBroad categories (not actively used)
[taxonomies]
tags = ["rust", "zola", "web"]
series = ["Building My Website"]

Extra Fields

Declared under [extra]:

FieldTypeDefaultDescription
series_orderIntegerPosition within a series (1, 2, 3…)
tocBoolean(inherits from section)Override table of contents for this post
commentBoolean(inherits from section)Override comments for this post
outdate_alertBoolean(inherits from section)Override outdate alert for this post
outdate_alert_daysInteger(inherits from section)Override days threshold
mathBooleanfalseEnable KaTeX math rendering
mermaidBooleanfalseEnable Mermaid diagrams
featuredBooleanfalseHighlight in post listings
copyBoolean(inherits from section)Override code copy button

Full Example

+++
title = "Building My Website — Part 1"
slug = "building-my-website-part-1"
date = 2026-02-10
draft = false

[taxonomies]
tags = ["rust", "zola", "web"]
series = ["Building My Website"]

[extra]
series_order = 1
+++

Notes

  • The slug determines the URL: /posts/<slug>/. Changing it after publication breaks existing links.
  • The title can be changed freely — it doesn’t affect URLs.
  • Fields under [extra] that say “inherits from section” get their default from content/posts/_index.md. You only need to set them per-post if you want to override the section default.