Zettels is a command line tool implementing Niklas Luhmann's system of a "Zettelkasten".
This implementation of Zettels is no longer actively developed. Instead, I chose to reimplement Zettels from scratch in Rust.
While doing so, I added a lot of features and separated the command line
interface from the backend, which is now a library called
sporting an API that can be used to easily build other user interfaces.
Check the reimplementation out:
1. Zettels - Command line tool
2. Libzettels - Backend
Questions and answers
Are users of the python implementation constrained to existing version?
Essentially yes. I might fix a few critical bugs, but I strongly suggest migrating your Zettelkasten to the new Rust port.
How can I migrate my existing Zettelkasten to the new implementation?
If you want to switch to the new implementation, the following steps are necessary (the actual commands and configuration path might differ, depending on your os):
Uninstall the python version, e.g.
pip uninstall zettels
Locate and delete the configuration of the python version, e.g. delete the directory
Prepare the YAML-headers of your Zettel files. In the new implementation, the
tagsfield of the header has been renamed
keywords. So you need to edit the metadata of each zettel accordingly. The easiest way to do this for all your Zettel files at once by using
sed, which is common on UNIX-like operating systems.
Inside your Zettelkasten directory, run:
sed -i -e 's/tags:/keywords:/g' *.md
That assumes that your zettel files have the
.mdextension. If not, modify accordingly. If you have organized your Zettelkasten in subdirectories, you might need to repeat the process in each subdirectory or modify the
*.mdpart of the command so it fits your needs.
Install the new implementation of Zettels