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.