Contents

Custom Front Matter

Use custom front matter when a Zola template needs a field that does not map to a standard Org keyword or property.

File-wide custom front matter§

Use the ZOLA_CUSTOM_FRONT_MATTER keyword for the whole file:

#+zola_custom_front_matter: :feature true
#+zola_custom_front_matter: :show_toc false

Subtree custom front matter§

Use EXPORT_ZOLA_CUSTOM_FRONT_MATTER for a post subtree, and append more values with the + property form:

* My Post
:PROPERTIES:
:EXPORT_FILE_NAME: my-post
:EXPORT_ZOLA_CUSTOM_FRONT_MATTER: :feature true
:EXPORT_ZOLA_CUSTOM_FRONT_MATTER+: :show_toc false
:END:

Values§

The property accepts scalars, lists, and maps of scalar or list values:

:EXPORT_ZOLA_CUSTOM_FRONT_MATTER: :feature true
:EXPORT_ZOLA_CUSTOM_FRONT_MATTER+: :animals '(dog cat "mountain gorilla")
:EXPORT_ZOLA_CUSTOM_FRONT_MATTER+: :versions '((emacs . "29.4") (zola . "0.23.4"))

This exports as TOML:

feature = true
animals = ["dog", "cat", "mountain gorilla"]

[versions]
emacs = "29.4"
zola = "0.23.4"

For template data, put the custom values under extra:

:EXPORT_ZOLA_CUSTOM_FRONT_MATTER: :extra '((feature . true) (show_toc . false))
[extra]
feature = true
show_toc = false

Maps of maps are not supported by this syntax. Keep custom front matter to the fields your Zola templates actually read.