CLI tool to allow using flat files as a Zettelkasten system, similar to Obsidian.
Project description
ZenKat
ZenKat is a tool and library to enable using a set of plaintext files, especially markdown files, as a Zettelkasten knowledge base.
I've used a number of knowledge management tools including Obsidian, Notion, and Coda, and have found them all lacking and / or designed in a way that makes them act as a walled garden. ZenKat is an attempt to create a lightweight FOSS alternative for command-line users. As such it aims to have few dependencies while still providing decent features.
It's named this way because of my bad memory for German. I remembered ZEttelKAsTen as ZenKat (unclear where the N came from).
Recommended Setup
You can install directly from pip:
pip install zenkat
This also installs the zenkat
convenience script.
To configure themes and create custom queries and formats, make a file at ~/.config/zenkat/config.toml
.
If you'd like to run directly from source you can clone the repository and use development mode.
It's also worth installing Marksman LSP if you plan on working with plaintext files a lot. This should work with major CLI editors including Helix, Neovim, and Spacemacs, as well as KATE. I use Helix.
For viewing files as formatted you can use MD Fileserver with mdstart
.
diff
comes by default on the command line and can be extremely helpful when combining duplicate notes (which Obsidian's multiple vaults tend to lead to).
Features
- Filter and sort through notes with powerful mapping syntax
- Customisable output formats and color schemes
- Supports markdown tags, and unpacks nested tags
- Resolves internal links, both inbound and outbound
- Loads YAML metadata headers in pages
- Task tracking with beautiful formatting, filters, and extended syntax
- Configuration using
config.toml
in your home folder: see default_config for options
Contents
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.