Simple Zettelkasten in C
This was mostly inspired by neuron and the Structured Zettel approach.
The reason I decided to make something different from neuron was that I felt this was simpler and more portable.
I wrote a blog post going into more detail here.
sudo apt install libuuid-dev
apk add util-linux-dev
cd szc meson build ninja -C build sudo ninja -C build install # To install on system
Make sure the $EDITOR environment variable is set. To save it between sessions
add it to your
This will present a prompt with instructions to follow along with.
There are currently 3 types of actions:
new - Create a new hub or zettel. If zettel, opens with $EDITOR.
query - Query for a zettel and open it with $EDITOR.
link - Query for 2 different zettels and append a LINK tag to both files. This creates a bidirectional link between both zettels.
Hubs are simply folders for zettels to be contained in. Their purpose is to form a shallow organization system for the zettels. This makes it easier to search. Hubs functionally replace the idea of tags.
A zettel is a short note saved as a markdown file with an 8 digit UUID filename. The 4 digit ID for the zettel is derived from the filename.
A newly created zettel will look something like this:
After a while the desired options are memorized so it is helpful to have shortcuts when the szc command is initially run.
szc new hub
szc new zettel