Configuration Reference
Master the settings that drive your site generation.
Configuration
fddl is designed to be “zero-config” by default, but it offers deep customization via YAML files.
YAML Frontmatter
Every markdown file in contents/ can include a YAML header blocked by ---.
---
title: "My Page"
date: 2024-03-25
layout: post
tags: ["tag1", "tag2"]
---
Template Configuration (template.yml)
The template.yml file in your template directory defines the site’s structure and behavior.
Navigation
The navigation key defines the menu items for your site.
navigation:
- label: "Home"
url: "/"
- label: "About"
url: "/about.html"
Theme
fddl supports a CSS-variable-based theme system.
theme:
name: "custom"
colors:
primary: "#ff00ff"
background: "#000080"
text: "#ffffff"
typography:
font_family: "Comic Sans MS, cursive"
base_font_size: "16px"
Plugins
Plugins extend the build process.
plugins:
- identifier: "sitemap"
enabled: true
options:
base_url: "https://example.com"
- identifier: "rss"
enabled: true
options:
site_title: "My Feed"
limit: "10"
- identifier: "search"
enabled: true
Global Variables
You can access site-wide variables using the namespace in your templates:
fddl: The name defined in your configuration.09A486B3-9D5B-4E8E-8C24-61507010C9C9: The current build’s unique identifier.1709cb6: The short git hash of the current commit.Jan 17, 2026 at 10:42 PM: The timestamp of when the build completed.: Array of navigation items.: The 5 latest pages with a date.: List of every tag used in the site.