Lightweight, Org-mode flavored zettelkasten links.
org-z is an Emacs global minor mode that enables a lightweight, Org mode style zettelkasten. Unlike a traditional zettelkasten, org-z focuses on headings rather than pages, allowing you to make hyperlinks within a single Org mode document.
By treating headings, rather than pages, as first-class, we can use standard functions that ship with org like org-store-link and packages like org-sidebar to maximum effect.
org-z has the following features:
- Insert links to org headings with interactive search (
C-c-.
by default) - Links are managed automatically using org-store-link and org-ids
- Links to new / missing targets auto-create targets in a configurable file location (
new.org
by default). Creation of the new heading is customizable using a capture template.
Install with straight.el:
(use-package org-z
:straight (org-z :type git :host github :repo "landakram/org-z")
:config
(org-z-mode 1))
I combine org-z with a daily journal, implemented as a file+datetree
capture template, and org-sidebar backlinks.
(setq org-capture-templates
'(;; ...
("j" "Journal entry" entry (file+datetree "~/org/journal.org")
"* %?\n" :unnarrowed t)))
(use-package org-sidebar
:ensure t
:after (general)
:config
(leader-def :infix "o"
"b" 'org-sidebar-backlinks))
As I go about my day, I make journal entries that link to various headings in my collection of org files. I make these links by invoking org-z-insert-link
as I write my journal entry. I periodically open the backlinks sidebar to investigate connections.
Every once in a while, I review my journal entries and org-refile
headings or simply re-organize journal entry knowledge into “longer-term storage” (reference.org
or projects.org
).
I was inspired by org-roam, but wanted something that fit my existing org workflow, which is a handful of files with deep headings rather than a file per topic.