= Theme Keys Reference
:navtitle: Theme Keys

== Category keys

The following pages list the keys and acceptable values or value types that are available when creating a custom theme.
The keys are organized by category key.
Each category represents a common prefix under which the (property) keys are typically nested.

TIP: Keys can be divided and nested wherever an underscore (`_`) or hyphen (`-`) appears in the name.
For example, the key `base-text-align` can be expressed as the `text-align` key under the `base` category key.
This nested structure is for organizational purposes and not required.
All keys are flatted when the theme is loaded.
Although the `title-page` category key contains a hyphen, it's never split since `title` is not a designated category key.

The converter uses the values of these keys to control how most elements are arranged and styled in the PDF.
The default values listed in this section get inherited from the {url-project-repo}/blob/{page-origin-refname}/data/themes/base-theme.yml[base theme^].

IMPORTANT: The default theme has a different set of values from the base theme.
Those values are not reflected in this guide.
Consult the {url-project-repo}/blob/{page-origin-refname}/data/themes/default-theme.yml[default theme^] to see what values it uses.

When creating a theme that extends the base theme, all keys are optional.
Required keys are provided by the base theme.
Therefore, you only have to declare keys that you want to override.
