This is an article from a series of blog postings. Please do read my "Using Org Mode Features" (UOMF) series page for explanations on articles of this series.
- Updates
- 2021-09-11: Link to org-zettelkasten
- 2021-10-04: Link to My Zettelkustom
- 2022-12-04: EmacsConf22 talk video
- 2024-01-12: Please note that meanwhile, the
org-super-links
prefix changed fromsl-
toorg-super-links-
. So I changed them here as well.
Reading this article you will learn why the Zettelkasten method is not for everybody. Furthermore, I show you a nice Org mode extension to link headings with back-links.
This article was also part of the basis of my EmacsConf 22 9 minutes demo which can be also be found on various locations:
Why Zettelkasten Doesn't Work For Me
Recently, I wrote an article where I mentioned all the concerns I do have with using the now-hypes Zettelkasten method. Please read that article in case you want to learn what Zettelkasten method means and why I don't think that it can replace my Org mode based knowledge-base within notes.org
as described here.
From the comments of the related reddit thread I learned, that the Zettelkasten method is something different from a standard knowledge-base with interlinked headings. It's far more than that. There are only a few use-cases where a Zettelkasten method is really required. The most obvious use-case is for people writing scientific papers and books, generating new ideas by combining and linking known concepts in a new way.
Currently, I don't have this use-case and therefore it is not a surprise that my concerns seem valid points against using Zettelkasten implementations.
Manually Linking Headings
In this article, I wrote about how to link headings with standard Org features and how I am using it for my own workflows.
While this is still a good method, you only get uni-directional links: from the current point to a different heading: A → B.
In some cases, you might want to have a back-link as well. A back-link is a link from the target heading of your link back to the point where you were at when creating the link: A → B and A ← B. This turns an uni-directional link in a bi-directional link.
Of course, you can follow the created link and create a back-link by hand. But this can be automated.
Automatic Back-Links
I came across org-super-links which provides a neat method to create links and back-links. It offers nice features but the two features I use the most are org-super-links-links
and org-super-links-quick-insert-inline-link
.
Here is an example where the second and the third heading were linked to the first heading using those two methods:
*** Linking concepts :PROPERTIES: :ID: Linking-concepts-ignoreme :END: :BACKLINKS: [2020-07-22 Wed 20:12] <- [[id:insert-link-ignoreme][org-super-links: insert link]] [2020-07-22 Wed 20:11] <- [[id:org-super-links-link-ignoreme][org-super-links]] :END: *** org-super-links: org-super-links-link :PROPERTIES: :ID: org-super-links-link-ignoreme :END: :RELATED: [2020-07-22 Wed 20:11] -> [[id:Linking-concepts-ignoreme][Linking concepts]] :END: - =org-super-links-link= via =C-c s s= *** org-super-links: insert link :PROPERTIES: :ID: insert-link-ignoreme :END: - =org-super-links-quick-insert-inline-link= via =C-c s i=: [[id:Linking-concepts-ignoreme][Linking concepts]]
In my setup I am using my-id-get-or-generate()
to generate the :ID:
-links in order to get human-readable IDs. For technical reasons, I had to modify the IDs in these examples.
You should also think of using (setq org-export-with-broken-links t)
to avoid export problems with links to headings that are not part of the exported data.
In my opinion, this is a very good method for linking headings for many use-cases. At least for a broader set of use-cases compared to Zettelkasten links. Don't over do it.
I'd love to see this method going main-stream and extending our way to work with Org.
Other Alternatives
Here, I try to collect some (not all!) low-profile alternatives to the larger Zettelkasten implementations.
- org-zettelkasten: simple Zettelkasten implementation without dependencies: creating and linking notes + find parent note
- 2021-10-04: here's a similar approach by Garjola Dindi from the article My Zettelkustom