zk
is a command-line tool helping you to maintain a plain text Zettelkasten or personal wiki.
Looking for a quick usage example?
Or want to see it in action? Checkout Shivan's video, Note-taking System ALL Programmers Should Consider.
- Creating notes from templates
- Advanced search and filtering capabilities including tags, links and mentions
- Integration with your favorite editors:
- Any LSP-compatible editor
zk-nvim
for Neovim 0.8+zk-vscode
for Visual Studio Code
- Interactive browser, powered by
fzf
- Git-style command aliases and named filters
- Made with automation in mind
- Notebook housekeeping
- Future-proof, thanks to Markdown
- Supports most Markdown syntax flavors
- Links: regular Markdown links,
[[Wikilinks]]
and Neuron's[[Folgezettel links]]#
. - Tags:
#hashtags
,:colon:separated:tags:
, Bear's#multi-word tags#
. - YAML frontmatter
- Links: regular Markdown links,
See the changelog for the list of upcoming features waiting to be released.
- A note editor.
- A tool to serve your notes on the web – for this, you may be interested in Neuron or Gollum.
Check out the latest release for pre-built binaries for macOS and Linux (zk
was not tested on Windows).
brew install zk
Or, if you want to the latest changes:
brew install --HEAD zk
# Run zk from Nix store without installing it:
nix run nixpkgs#zk
# Or, to install it permanently:
nix-env -iA zk
zk
is currently available in the testing
repositories:
apk add zk
You can install the zk package from the official repos.
sudo pacman -S zk
Make sure you have a working Go 1.21+ installation, then clone the repository:
$ git clone https://github.com/zk-org/zk.git
$ cd zk
$ make
$ ./zk -h
We warmly welcome issues, PRs and discussions.
Here you can read some useful info for contributing to zk
.
- Neuron – a great tool to publish a Zettelkasten on the web
- Emanote – an improved successor to Neuron
- sirupsen's zk – a collection of scripts with a similar purpose
- zk-spaced – spaced repetition plugin for zk