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.2A02C296-4F61-4CC6-9634-13027213352E: The current build’s unique identifier.70af774: The short git hash of the current commit.Feb 7, 2026 at 8:40 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.