Zettelkasten Forum

Introducing Zetteldeft (an Emacs package)

Hello all

I’ve been writing and maintaining some code to extend the Deft package for Emacs to provide some features that makes it possible to maintain a Zettelkasten with it. This started back in 2018. I called it Zetteldeft and shared the code on Github.

The package has been shared here previously, but today I can finally say that I have also written Introducing Zetteldeft.

If you use Emacs and like to maintain a Zettelkasten, feel free to check it out and leave your comments, ideas or suggestions.



  • Very cool, and I love your literate program :) Knuth would be proud.

    In case you are very bored one day: I'd love to see a video recording of this in action to get a feel for the interactions. You're the most experienced zetteldeft user so far :)

    Author at Zettelkasten.de • https://christiantietze.de/

  • @ctietze wrote:
    In case you are very bored one day: I'd love to see a video recording of this in action to get a feel for the interactions. You're the most experienced zetteldeft user so far

    I don't care about your feelings. Do it anyways, please. :smile:

    I am a Zettler

  • @EFLS , welcome! Here are videos showing someone using Zetteldeft for @ctietze and @Sascha - I wonder if you have any comments about them? The 2nd one is a comparison between org-roam and Zetteldeft.

    I'm very interested in Zetteldeft because I'm currently exploring emacs ZK solutions. My only concern is that I have heard Deft is not good with large numbers of files, and I use one note per file for my ZK, so I don't want to start a system that will have problems down the road.

    @ctietze has made public an archive of 10k zettels that you could potentially use to test your program - I'd be interested in the results.

  • @EFLS , I'll also mention that @grayen has said in another thread that adding a display of backlinks to the current note was easy to implement (at least for him, in his VS Code extension) - so if you decide to add that function to Zetteldeft, perhaps he can help!

  • @cobblepot As can be seen in the gist shared in the discussion about determining orphaned Zettels it is quite easy. In that Ruby script, every Zettel already has its inbound Zettels (i.e. backlinks) tracked.

  • edited May 2020

    Thanks for the comments. So I derive two suggested features:

    1. Including automated backlinks when a note is created branching from an existing note (or at least an option to do so)
    2. A way of identifying orphans (i.e., notes that are never linked to)

    I think these are good use cases. I might implement these (although probably not in the near future). Feel free to also make suggestions via an issue on Github.

    Oh and @cobblepot with regards to large sets of notes: I haven't experienced any issues, but then again, my Zettelkasten contains only about 470 notes.
    That issue with Deft, though, is only prominent when you use interactive search (i.e., incremental search via the Deft buffer). When disabling incremental search calling functions programmatically, there shouldn't be any issue, as far as I understand.

  • edited May 2020

    Also, one note on the video you shared above: I love the fact that Abe shares how he is using it, but he isn't making full use of the Zetteldeft features (which is great, but maybe not the best introduction by itself). Guess I'll have to move in and make a video myself sometime...

  • Author at Zettelkasten.de • https://christiantietze.de/

  • I'm very early in my Zettelkasten journey but came across Zetteldeft when looking for an Emacs based ZK tool. In fact, it got me to actually start hacking elisp so that I could get full wiki-style links in Zetteldeft so thanks @EFLS :D

    He's also been very responsive to feedback so far including the addition of new options for better Markdown support in Zetteldeft :)

  • edited June 2020

    I've created a Github repository that serves as a Zetteldeft tutorial and knowledgbase.

    It includes installation instructions, so Emacs aficionados can simply clone the repo and install Zetteldeft by executing the code included.


Sign In or Register to comment.