mirror of
https://github.com/mickael-menu/zk
synced 2024-11-15 12:12:56 +00:00
dc27a7dd7c
Fallback wiki link resolution by matching on title or path Add new template variables when generating Markdown links Add a {{substring}} template helper
2.7 KiB
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. |
- Paths are not percent-encoded by default, unless the
link-format
ismarkdown
.
Customizing the Markdown links generated by zk
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.id 1 |
- YAML keys are normalized to lower case.