Files
sukr/docs/content/configuration.md
Timothy DeHerrera 46c00c7729 docs: migrate content files to TOML frontmatter
Migrate all 17 docs/content/ files from --- YAML to +++ TOML
frontmatter delimiters and key = value syntax.

Update 8 embedded frontmatter examples in 7 documentation pages
to match (configuration, content-organization, getting-started,
security, sections, sitemap, feeds, templates).

Update configuration.md frontmatter reference table: add draft
and aliases fields, correct date type from string to date.
2026-02-14 06:57:55 -07:00

4.6 KiB

+++ title = "Configuration" description = "Complete reference for site.toml configuration" weight = 3 +++

sukr is configured via site.toml. All settings have sensible defaults.

Basic Configuration

title    = "My Site"
author   = "Your Name"
base_url = "https://example.com"
Field Required Description
title Yes Site title (used in page titles)
author Yes Author name (used in feeds)
base_url Yes Canonical URL for the site

Path Configuration

All paths are optional. Default values shown:

[paths]
content   = "content"    # Markdown source files
output    = "public"     # Generated HTML output
static    = "static"     # Static assets (copied as-is)
templates = "templates"  # Tera template files

Paths are resolved relative to the config file location. This enables monorepo setups:

# Build site from subdirectory
sukr -c sites/blog/site.toml
# Paths resolve relative to sites/blog/

Navigation Configuration

Control how navigation menus are generated:

[nav]
nested = false  # Show child pages under sections
toc    = false  # Enable table of contents globally
Field Default Description
nested false Display section children as nested sub-menus
toc false Show heading anchors in sidebar (table of contents)

When nested = true, section pages appear as indented sub-items under their parent section. When toc = true, h2-h6 headings are extracted and displayed as anchor links in the sidebar.

Both settings can be overridden per-page via frontmatter.

CLI Options

sukr                           # Use ./site.toml
sukr -c path/to/site.toml      # Custom config
sukr --config path/to/site.toml
sukr -h, --help                # Show help

Frontmatter

Each Markdown file can have TOML frontmatter:

+++
title = "Page Title"
description = "Optional description"
date = 2024-01-15              # For blog posts (native TOML date)
weight = 10                    # Sort order (lower = first)
nav_label = "Short Name"       # Override nav display
section_type = "blog"          # Override section template
template = "custom"            # Override page template
toc = true                     # Override global TOC setting
link_to = "https://..."        # External link (for project cards)
tags = ["rust", "tutorial"]    # Tags for categorization
draft = true                   # Exclude from output
aliases = ["/old/path"]        # Redirect old URLs here
+++

Frontmatter Fields

Field Type Default Description
title string (required) Page title
description string (none) Meta description
date date (none) Publication date (YYYY-MM-DD, native TOML date)
weight integer 50 Sort order (lower = first)
nav_label string title Override navigation label
section_type string directory name Template dispatch (e.g., "blog", "projects")
template string (none) Custom template name
toc boolean global setting Enable/disable table of contents for this page
link_to string (none) External URL (renders as link instead of page)
tags list [] Tags for categorization
draft boolean false Exclude content from output
aliases list [] Old URL paths that redirect here

Section Types

The section_type field determines which template is used for section indexes:

  • blogtemplates/section/blog.html
  • projectstemplates/section/projects.html
  • (any other)templates/section/default.html

If not specified, sukr uses the directory name as the section type.

See Also