mirror of
https://github.com/mickael-menu/zk
synced 2024-11-07 15:20:21 +00:00
1.3 KiB
1.3 KiB
Extra user variables
zk
is opened for template context extension which can be useful when creating new notes, for example:
- expanding custom metadata (author, subject, etc.)
- modifying a template's output dynamically depending on the value of an extra variable
Static extra variables
You can declare static extra variables in the configuration file's [extra]
section. Each note group can have its own [extra]
section, which may override values from the root section.
[extra]
visibility = "public"
author = "Mickaël"
[group.journal.extra]
visibility = "private" # overrides
Dynamic extra variables
Maybe more useful, you can provide additional extra variables dynamically to zk new
from the command-line with --extra
. Multiple variables must be separated by a semicolon ;
, in which case quoting the argument is required.
$ zk new --extra author=Thomas
$ zk new --extra "show-header=1;author=Thomas"
Using extra variables in templates
After declaring extra variables, you can expand them inside the template used when creating new notes, using the usual Handlebars syntax.
# {{title}}
Written by {{extra.author}}.
{{#if extra.show-header}}
Behold, the mighty dynamic header!
{{/if}}