Skip to content

CLI Tool for Zettlr/Obsidian to help you browse random notes. The older the note, the more likely it will be shown.

License

Notifications You must be signed in to change notification settings

whateverforever/zettelwarmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Zettelwarmer

An additional tool to Zettlr/Obsidian to randomly show you Zettels. Useful if you want to be reminded of what you have thought before, to find new possible interconnections and insights.

Gives more weight to Zettels that haven't been seen (by this tool) in a while. The older the Zettel, the more probable it will be picked. See Andy Matuschak's Evergreen note maintenance approximates spaced repetition.

Also see zettelcon for automatic backlink creation.

Screenshot of the heatmap of Zettel ages and subsequently opened zettels

Usage

Put it somewhere in your path, or make a shell alias to use it with your favorite flags. I added a reminder to my /etc/motd to warm up my Zettels once in a while, and do it using this alias:

alias heat-zettels="python /...path.../zettelwarmer.py --folder /...path.../Zettels/ --numzettels 6"
alias show-zettels="python /...path.../zettelwarmer.py --folder /...path.../Zettels/ --visualize-only"
(base) ➜  ~ python zettelwarmer.py --help
usage: zettelwarmer.py [-h] [-f FOLDER] [-n NUMZETTELS] [-if IMPORTANCE_FUN]
                       [-s SUFFIXES [SUFFIXES ...]] [-p PICKLENAME] [-vo]

Tool to revisit random Zettels from your collection. Gives more weight to old
Zettels that you haven't seen in a while.

optional arguments:
  -h, --help            show this help message and exit
  -f FOLDER, --folder FOLDER
                        Path to folder with all the zettels in it. Defaults to
                        current directory.
  -n NUMZETTELS, --numzettels NUMZETTELS
                        Number of Zettels to pick and open.
  -if IMPORTANCE_FUN, --importance-fun IMPORTANCE_FUN
                        Function of age, used to weight note-picking
                        probability. Possible values are linear, quadratic,
                        log
  -s SUFFIXES [SUFFIXES ...], --suffixes SUFFIXES [SUFFIXES ...]
                        List of valid suffixes to consider as Zettel files.
                        Defaults to .md
  -p PICKLENAME, --picklename PICKLENAME
                        Name of the pickle file to save file ages into. Will
                        be saved in the Zettel folder.
  -vo, --visualize-only
                        Do not open or modify anything, only show the heatmap.

Requirements

As of now, it's specific to macOS by using the built-in open command. In theory, macOS, linux and windows should be supported. On macOS, open is used to display the note files, on linux it's xdg-open. Windows doesn't seem to have a dedicated open command. If you're using windows and it doesn't work, please contact me. These commands require you to have a markdown viewer like Typora or MacDown setup as the standard tool to open markdown files.

Feature Ideas

  • Calculate how long it will take until all (or say 90%) of notes are "warm" (i.e. not older than X)

About

CLI Tool for Zettlr/Obsidian to help you browse random notes. The older the note, the more likely it will be shown.

Topics

Resources

License

Stars

Watchers

Forks

Languages