Configure the running Zettelstore

00001004020000 · Info · (manual) · #configuration #manual #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 JSON, 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.


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.