YAML frontmatter¶
Markdown being a simple format, it does not offer any way to attach additional
metadata to a note. The community came up with a solution by inserting a YAML
header at the top of each note to contain its metadata. This method is widely
supported among Zettelkasten softwares, including zk.
---
title: Improve the structure of essays by rewriting
date: 2011-05-16 09:58:57
keywords: [writing, essay, practice]
---
zk supports the following metadata:
Key |
Description |
|---|---|
|
Title of the note – takes precedence over the first heading |
|
Creation date – takes precedence over the file date |
|
Modification date – takes precedence over the file date |
|
List of tags attached to this note |
|
Alias for |
|
Alternative titles for this note, used by |
All metadata are indexed and can be printed in zk list output, using the
template variable {{metadata.<key>}}, e.g. {{metadata.description}}. The
keys are normalized to lower case.
Date Keys¶
By default, zk tracks the creation date of notes via the date key. Likewise,
the modification date can be set and tracked. If the date or modified keys
have no value set, the file system creation and modification values are used.
The keys names themselves can be customised.
[format.markdown.frontmatter]
creation-date-key = "created" # default is "date"
modification-date-key = "changed" # default is "modified"
Tracking the creation and modification dates is useful as the file’s own dates are not always the dates that you actually created or last edited the file. This can happen if you use git to clone your notebook from an online repository for example.
Your notes then can use these custom keys:
---
title: higher complexity does not always result in more order
created: 2025-12-28 09:22
changed: 2025-12-29 10:28
id: u6nh
tags: []
aliases:
---
This feature is best combined with external tools to update the modified dates programmatically, see Modification Dates.
To automate the creation date simply include in your template:
---
date: {{format-date now}} {{format-date now "time"}}
---
For further information on creating notes with templates, see here.