Configure the running Zettelstore

You can configure a running Zettelstore by modifying the special zettel with the ID 00000000000100. This zettel is called configuration zettel. The following metadata keys change the appearance / behavior of Zettelstore. Some of them can be overwritten in an user zettel, a subset of those may be overwritten in zettel that is currently used. See the full list of metadata that may be overwritten.


Copyright value to be used when rendering content. Can be overwritten in a zettel with meta key copyright.

Default: (the empty string).


License value to be used when rendering content. Can be overwritten in a zettel with meta key license.

Default: (the empty string).


Visibility to be used, if zettel does not specify a value for the visibility metadata key.

Default: “login”.


If set to a boolean true value, all zettel with visibility “expert” will be shown (to the owner, if authentication is enabled; to all, otherwise). This affects most computed zettel.

Default: “False”.


Identifier of a zettel that is rendered as HTML and will be placed as the footer of every zettel in the web user interface. Zettel content, delivered via the API as symbolic expressions, etc. is not affected. If the zettel identifier is invalid or references a zettel that could not be read (possibly because of a limited visibility setting), nothing is written as the footer.

May be overwritten in a user zettel.

Default: (an invalid zettel identifier)


Specifies the identifier of the zettel, that should be presented for the default view / home view. If not given or if the identifier does not identify a zettel, the zettel with the identifier 00010000000000 is shown.

May be overwritten in a user zettel.


Language to be used when displaying content.

Default: “en”.

This value is used as a default value, if it is not set in an user's zettel or in a zettel. It is also used to specify the language for all non-zettel content, e.g. lists or search results.

Use values according to the language definition of RFC-5646.


Maximum number of indirect transclusion. This is used to avoid an exploding “transclusion bomb”, a form of a billion laughs attack.

Default: “1024”.

show-back-links, show-folge-links, show-subordinate-links, show-successor-links

When displaying a zettel in the web user interface, references to other zettel are normally shown below the content of the zettel. This affects the metadata keys back, folge, subordinates, and successors.

These configuration keys may be used to show, not to show, or to close the list of referenced zettel.

Allowed values are: “false” (will not show the list), “close” (will show the list closed), and “open” / “” (will show the list).

Default: “”.

May be overwritten in a user zettel, so that setting will only affect the given user. Alternatively, it may be overwritten in a zettel, so that that the setting will affect only the given zettel.

This zettel is an example of a zettel that sets show-back-links to “false”.


Name of the Zettelstore instance. Will be used when displaying some lists.

Default: “Zettelstore”.


If true, metadata and content will be separated by ---\n instead of an empty line (\n\n).

Default: “False”.

You will probably use this key, if you are working with another software processing Markdown that uses a subset of YAML to specify metadata.


If you create a new zettel with a syntax different to “zmk”, Zettelstore will store the zettel as two files: one for the metadata (file without a filename extension) and another for the content (file extension based on the syntax value). If you want to specify alternative syntax values, for which you want new zettel to be stored in one file (file extension .zettel), you can use this key. All values are case-insensitive, duplicate values are removed.

For example, you could use this key if you're working with Markdown syntax and you want to store metadata and content in one .zettel file.

If yaml-header evaluates to true, a zettel is always stored in one .zettel file.