You can add a new note to a notebook using zk new --title "An interesting concept" [<directory>]
.
zk
automatically generates a filename and initial content according to rules set in your configuration file. These settings can be customized per group of notes in your notebook, as illustrated in Maintaining a daily journal.
By default, zk new
will start your editor after creating the note. You can choose instead to print the absolute path to the note with --print-path
, which is more useful for automation.
If you are not sure whether a note already exists for a particular subject, the “search or create” mode might be more appropriate than zk new
. It is inspired by Notational Velocity and enables searching for an existing note or creating a new one in a single action.
This option is available when running zk edit --interactive
, which spawns fzf
to filter selected notes. From fzf
, press Ctrl-E
to create a new note using the current search query as title.
Initial content can be fed to the template through standard input using zk new --interactive
, which will be expandable with the `<h1 id="neuron">Neuron</h1>
Neuron is a command-line app for managing a plain-text Zettelkasten.
While there is some overlap with zk
’s features, both tools are actually useful when paired together:
zk
has powerful filtering and note generation capabilitiesClose integration with Neuron was thought through from the start when designing zk
. For example, Neuron’s Folgezettel syntax is supported: [[[link]]]
, #[[link]]
and [[link]]#
.
But you can make your notebook even more tightly integrated with Neuron by:
[note]
filename = ""
id-charset = "hex"
id-length = 8
id-case = "lower"
neuron
commands
[alias]
serve = "neuron gen -wS"
gen = "neuron gen -o public"
Emanote is neuron’s successor. For Emanote-specific configuration, see https://emanote.srid.ca/start/resources/zk.
For example, to use the content of the macOS clipboard as the initial content you can run:
$ pbpaste | zk new --interactive
Alternatively, you can use the content of a file:
$ zk new --interactive < file.txt