Configuration
3 minutes read
The site config file. Every key is optional; an unknown key is an error.
| Key | Type | Default | What it does |
|---|---|---|---|
title |
string | Site name for the header, page titles, llms.txt, and JSON-LD. Default: the folder name. | |
description |
string | One-sentence summary of the site, for the home page's meta description and llms.txt. | |
url |
string | Scheme and host of the published site, without a trailing slash, such as https://example.github.io. Without it canonical links, the sitemap, and social images are relative or left out, with a warning. | |
base |
string | `` | Path the site lives under, starting with / and without a trailing slash; empty at a domain root. Every URL the engine writes carries it. |
lang |
string | en |
Default language of every page, as a BCP 47 tag. A page's lang wins. |
dir |
ltr or rtl |
Default text direction. Unset, it comes from lang (rtl for fa, ar, he, ur, and the other right-to-left languages). A page's dir wins. | |
languages |
list of object | [] |
The site's languages in switcher order. Leave it out for a one-language site. |
languages[].code |
string | required | BCP 47 tag, such as fa. |
languages[].name |
string | required | Name shown in the language switcher, in that language. |
languages[].prefix |
string | required | URL prefix of this language's pages, such as /fa; empty for the default language. |
source |
string | . |
Folder that holds the content, relative to the site root. Files outside it are not pages. |
include |
list of string | [] |
Paths under source that discovery would skip (names starting with . or _) but should be copied or built, such as .well-known. |
exclude |
list of string | [] |
Paths under source that are neither pages nor copied. node_modules, the output folder, and the config file are always excluded. |
navigation |
string | _data/navigation.yml |
Navigation file, relative to the site root. When it does not exist, navigation is built from folders and each page's order. |
defaults |
list of object | [] |
Front matter applied to every page under a path unless the page sets the key itself. Later entries win over earlier ones; a page always wins. |
defaults[].path |
string | required | Folder relative to source; empty for every page. |
defaults[].values |
object | required | Front matter keys and values to apply. |
repository |
object | Where the source lives, for Edit this page links and the Edit with your agent prompt. | |
repository.url |
string | required | The repository's web URL, such as https://github.com/example/example. |
repository.branch |
string | main |
Branch that edit links point to. |
repository.dir |
string | `` | The site root's folder inside the repository, such as docs. |
theme |
object | The theme that builds the site and the options handed to it. | |
theme.name |
string | Theme package or folder. Default: the theme that ships with the engine. | |
theme.options |
object | Handed to the theme unread; the theme validates it against its own schema. | |
search |
false or object |
{} |
false builds no search index. As an object, text sets how much of each page's body the index keeps. |
search.text |
integer | 300 |
The most characters of a page's body the index keeps. Titles and headings are always indexed. |
redirects |
object | {} |
Redirect pages: each key is an old path under base, each value a path on the site or an https URL. |
outputs |
object | {} |
Turns an output off by its name (false), such as twins or llms. The loader checks the names against the output registry; an unknown name is an error. |