See the stats and connections of your Zettelkasten.
Vizel tries to be format agnostic without requiring configuration.
Vizel makes the following assumptions:
- The Zettel files have an
.md
or.txt
extension. - All Zettel are in one single directory.
- References use the
[[REFERENCE]]
or[LABEL](REFERENCE)
format. - References of a Zettel pointing to itself are ignored.
Vizel was first developed for the format used by the The Archive. Other formats are now supported as well, thanks to the help from the community.
Run pip install vizel
. Vizel supports Python 2.7 and 3.6 - 3.10.
If you get an error about missing graphviz when running the graph-pdf
command, you might need to install it with
brew install graphviz
on OS X or
sudo apt-get install graphviz
on Ubuntu.
vizel
has the following commands:
vizel graph-pdf [OPTIONS] DIRECTORY
Generates a PDF displaying the graph created spanned by Zettel and their connections in the folder DIRECTORY.
Options:
--pdf-name TEXT Name of the PDF file the graph is written into. Default:
vizel_graph
--help Show this message and exit.
Usage: vizel stats [OPTIONS] DIRECTORY
Prints the stats of the graph spanned by Zettel in DIRECTORY.
Stats calculated:
- Number of Zettel
- Number of references between Zettel (including bi-directional and duplicate)
- Number of Zettel without any reference from or to a Zettel
- Number of connected components
Options:
-q, --quiet Quiet mode
--help Show this message and exit.
The fewer connected components your Zettelkasten has, the better. The ideal number is 1. It means that you can reach any Zettel by following links. This, in turn, should increase the likelihood of making new semantic connections.
Connected components are a concept from graph theory. In the context of a Zettelkasten and vizel, a connected component is a set of Zettel, which can be reached from any other Zettel in the same component by following links. Those links do not need to be direct but can pass through other Zettel. The direction of the links also doesn't matter.
Two Zettel are not in the same component if there is no way to reach one from the other through links.
Connected components will show up as separate clusters of Zettel when
using graph-pdf
. Use the components
command to get a list of your
components, and the Zettel contained in each.
Usage: vizel unconnected [OPTIONS] DIRECTORY
Prints all of the Zettel in DIRECTORY that have no in- or outgoing
references.
Options:
-q, --quiet Quiet mode
--help Show this message and exit.
Usage: vizel components [OPTIONS] DIRECTORY
Lists the connected components and their Zettel in DIRECTORY.
Options:
-q, --quiet Quiet mode
--help Show this message and exit.
- NetworkX: Network analysis in Python
- click: Python composable command-line interface toolkit
- Graphviz: Simple Python interface for Graphviz
Feel free to open issues and pull-requests. Subscribe to the vizel newsletter to be informed about new releases and features in development.
You can reach out to me for feedback or questions on Twitter or through my website.
If you've found vizel useful, please consider sponsoring maintenance and further development. Or buying me a coffee.
The project uses Poetry.
- Install Poetry.
- Clone this repository.
- Run
poetry install
in the root of this project.
Run py.test
in the tests
directory.
Vizel uses SemVer for versioning. For the versions available, see the tags on the repository.
- Basil Philipp - Owner
This project is licensed under GNU GPLv3.
- Thank you Christian Tietze and Sascha Fast for creating The Archive app and writing a book (German only) on the Zettelkasten method.