zk/docs/note-format.md
Mickaël Menu dc27a7dd7c
Improve Markdown and wiki links matching and generation (#71)
Fallback wiki link resolution by matching on title or path
Add new template variables when generating Markdown links
Add a {{substring}} template helper
2021-09-25 19:28:29 +02:00

2.7 KiB

Note formats

To keep your notebooks future-proof, zk uses a simple plain text format for your notes. Only Markdown is supported at the moment, but more formats may be added in the future.

Markdown

You can set up some features of zk's Markdown parser from your configuration file, under the [format.markdown] section.

Setting Default Description
link-format "markdown" Format used to generate internal links (markdown, wiki or custom template)
link-encode-path -1 Percent-encode paths of generated internal links
link-drop-extension true Remove the path file extension of generated internal links
hashtags true Enable #hashtags support
colon-tags false Enable :colon:separated:tags: support
multiword-tags false Enable Bear's #multi-word tags#. Hashtags must also be enabled.
  1. Paths are not percent-encoded by default, unless the link-format is markdown.

By default, zk will generate regular Markdown links for internal links. If you prefer to use [[Wiki Links]] instead, set the link-format setting to wiki. If you want to override completely the link format, you can also set link-format to a custom template. For example, to generate a wiki link using an ID from the frontmatter and a title:

[format.markdown]
link-format = "[[{{metadata.id}}|{{title}}]]"

The following variables are available in the template:

Variable Type Description
filename string Filename of the note
path string File path to the note, relative to the notebook directory
abs-path string Absolute file path to the note
rel-path string File path to the note, relative to the current directory
title string Note title
metadata map YAML frontmatter metadata, e.g. metadata.id1
  1. YAML keys are normalized to lower case.