Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

tools4zettelkasten

This project provides tools to setup a digital Zettelkasten System based on simple interlinked markdown files.

What is a Zettelkasten?

A Zettelkasten is a structured collection of notes. The Zettelkasten is a tool to approach complex ideas and concepts. It serves to support and structure one’s thinking about essential topics. Thus the note box can help to formulate and publish own thoughts.

Zettel is the German word for a small piece of paper, and Kasten means box. So a Zettelkasten is a box full of small pieces of paper. Therefore a Zettelkasten is often referred to as a slip box.

The idea of a slip box goes back to Niklas Luhmann (1927-1998) [1]. An exceptionally productive sociologist measured by his publications. Söhnke Ahrens explained Luhmann’s approach in his book “Das Zettelkasten-Prinzip” [2] and contributed significantly to popularizing the concept. The book was translated into English under “How to take smart notes.“ Through this title, one can find numerous explanations of the methodology on the Internet.

How to set up a digital Zettelkasten?

To use the system, you don’t need any special software. Any Editor (e.g. VSCode, Atom, Vim, etc.) capable of editing Markdown can be used.

Every slip (zettel) is a simple markdown file. These markdown files might contain images or mathematical formulas.

Using the Zettelkasten is 95% about how to write notes and how to name them. Just 5% is about organizing these notes with tools4zettelkasten. Please refer to my “step by step guide” on how to setup a Zettelkasten. https://www.mycelium-of-knowledge.org/step-by-step-instructions-for-setup-and-use-of-the-zettelkasten/

How to use tools4zettelkasten?

Start tools4zettelkasten

The Zettelkasten tools provide a set of tools to manipulate the markdown files to significantly improve the handling of a big number of zettel / markdown files. With Zettelkasten you can effortlessly change the hierachy as well as the interlinks of your Zettelkasten.

python -m tools4zettelkasten

Will open a help page with all available commands. You can get further information about a command (e.g. for the command stage) by typing:

python -m tools4zettelkasten stage --help

The Zettelkasten shows the zettel files as html and provides a simple webeserver to do so. It uses flask, a markdown to html converter and bootstrap to do so in a responsive GUI.

Features of tools4zettelkasten

tools4zettelkasten provides a set of tools to manipulate the markdown files to significantly improve the handling of a big number of zettel / markdown files. With Zettelkasten you can effortlessly change the hierachy as well as the interlinks of your Zettelkasten.

With the stage command you can rename all Zettel / Markdown files in the input directory, so that they conform to the naming convention. (have a look at my https://www.mycelium-of-knowledge.org/step-by-step-instructions-for-setup-and-use-of-the-zettelkasten/ for more information on how and why (!) you should name the files accodring to the naming convention). The name will be formed from the title in the markdown file (e.g. title in # title).

With the reorganize command you can change the alphanumeric numbering of the Zettel / Markdown files in your Zettelkasten directory.

Suppose you have a Zettelkasten with the following files:

...
01_12_Quality_of_notes_eccb21483.md
01_12a_How_to_integrate_notes_into_the_note_box_e0d27e3ad.md
01_12a_1_Integration_of_fleeting_notes_97a19382a.md
01_12a_2_Integration_of_literature_notes_ec83f31a2.md
01_12b_Working_with_alphanumeric_Ordering_en036a6bd.md
01_13_How_to_revisit_notes_a161a7e7c.md
...

The after using the reorganize command, the files will be renamed as follows:

...
01_12_Quality_of_notes_eccb21483.md
01_13_How_to_integrate_notes_into_the_fleeting_box_e0d27e3ad.md
01_13_1_Integration_of_fleeting_notes_97a19382a.md
01_13_2_Integration_of_literature_notes_ec83f31a2.md
01_14_Working_with_alphanumeric_Ordering_en036a6bd.md
01_15_How_to_revisit_notes_a161a7e7c.md
...

This way you will always have a clean alphanumeric numbering of the Zettel / Markdown files.

How to setup the tools4zettelkasten?

Right now tools4zettelkasten is still in alpha mode. You need to download or clone the repo. You can start the scripts via the command line:

python -m tools4zettelkasten

You will have to install the missing dependencies via pip. So you may want to use a virtual environment. See https://rreben.github.io/tools4zettelkasten/ for further information.

I am planning to publish tools4zettelkasten as a package on PyPI. So you can install it via pip.

First of all you have to tell tools4zettelkasten where to find the directory of your zettelkasten.

You could use the following directory structure: We store the Markdown files in a simple folder with the following directory structure:

├── input/
│   └── images/
└── mycelium/
    └── images/

Any other directory structure is possible, but you need to have the images in the images/ directory, if you want to use the flask server.

First of all use the show command to show the current configuration:

python -m tools4zettelkasten show

In MacOS you can use the following command to set the environment variables:

export ZETTELKASTEN=/Users/me/Documents/zettelkasten/mycelium/
export ZETTELKASTEN_INPUT=/Users/me/Documents/zettelkasten/input/

Where /Users/me/Documents/zettelkasten/mycelium/ is the directory of your zettelkasten and /Users/me/Documents/zettelkasten/input/ is the directory of your input folder.

How to contribute?

See https://rreben.github.io/tools4zettelkasten/ for more information on how to build and use this project.

See https://www.mycelium-of-knowledge.org/ for a discussion of the project.

The documentation can also be found at https://tools4zettelkasten.readthedocs.io/en/latest/

Release files for tools4zettelkasten 1.0a10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tools4zettelkasten 1.0a10
File Size Uploaded
tools4zettelkasten-1.0a10.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tools4zettelkasten 1.0a10
File Interpreter ABI Platform
tools4zettelkasten-1.0a10-py3-none-any.whl Python 3 none any Details

Total release size: 10.2 kB

Release files / tools4zettelkasten-1.0a10.tar.gz

Download URL tools4zettelkasten-1.0a10.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
34fa10007314d0720fe2812f3a46f0cfe06106e2c865f0ce3ba531374b66c22d
BLAKE2b-256 checksum
How to use checksums
f6e1ea288d44378592df541b230b6ca9df64f12f5d51025f1d27da735d5d065d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.4

Release files / tools4zettelkasten-1.0a10-py3-none-any.whl

Download URL tools4zettelkasten-1.0a10-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
602903abbd7309e352b2b2b98559390be95e4e9476aa4c8abff1536b30d589f1
BLAKE2b-256 checksum
How to use checksums
a6ca363d7577012b0114159d4bf06a721d2db2fb5f3c9a4b8b6b0e8fbe5cc60a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.4

Release history Release notifications | RSS feed

This release

1.0a10 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page