Project configuration¶
Project configuration files are written in YAML (betty.yaml
or betty.yml
) or JSON (betty.json
)
and are placed in the root of the project directory. Both YAML and JSON files follow the exact same
structure. Example configuration:
base_url: https://ancestry.example.com
debug: true
root_path: /betty
clean_urls: true
title: Betty's ancestry
name: betty-ancestry
author: Bart Feenstra
lifetime_threshold: 125
locales:
en-US:
alias: en
nl: {}
entity_types:
Person:
generate_html_list: true
File:
generate_html_list: false
extensions: {}
{
"base_url" : "https://ancestry.example.com",
"debug" : true,
"root_path" : "/betty",
"clean_urls" : true,
"title": "Betty's ancestry",
"name": "betty-ancestry",
"author": "Bart Feenstra",
"lifetime_threshold": 125,
"locales": {
"en-US": {
"alias": "en"
},
"nl": {}
},
"entity_types": {
"Person": {
"generate_html_list": true
},
"File": {
"generate_html_list": false
}
},
"extensions": {}
}
All configuration options¶
base_url
(required): The absolute, public URL at which the site will be published.debug
(optional):true
to output more detailed logs and disable optimizations that make debugging harder. Defaults tofalse
.root_path
(optional): The relative path under the public URL at which the site will be published.clean_urls
(optional): A boolean indicating whether to use clean URLs, e.g./path
instead of/path/index.html
. Defaults tofalse
.title
(optional): The project’s human-readable title.name
(optional): The project’s machine name.author
(optional): The project’s author and copyright holder.lifetime_threshold
(optional); The number of years people are expected to live at most, e.g. after which they’re presumed to have died. Defaults to125
.locales
(optional); An array of locales, each of which is an object with the following keys:locale
(required): An IETF BCP 47 language tag.alias
(optional): A shorthand alias to use instead of the full language tag, such as when rendering URLs.
If no locales are specified, Betty defaults to US English (
en-US
). Read more about translations.entity_types
(optional): Keys are entity type names, and values are objects containing the following keys:generate_html_list
(optional): Whether to generate the HTML page to list entities of this type. Defaults tofalse
.
extensions
(optional): The extensions to enable. Keys are extension names, and values are objects containing the following keys:enabled
(optional): A boolean indicating whether the extension is enabled. Defaults totrue
.configuration
(optional): An object containing the extension’s own configuration, if it provides any configuration options.
Both keys may be omitted to quickly enable an extension using its default configuration.