Org Roam
Table of Contents
Org Roam is an implementation of Zettelkasten built using Org Mode in Emacs. Org-roam-ui provides a nice graphical web interface to org-roam.
Org-roam was built to enable note taking. Renaming notes, having multiple org-roam directories or a nested folder structure were considered as anti-features in original org-roam. In v2, With org-id, renaming notes is fully supported along with nested folder structures.
My Org Roam setup is documented in myzettel.
Force rebuild roam-db
A regular org-roam-db-sync only processes changed files. It won't remove already-tracked nodes. To Force a full rebuild, the database needs to be deleted first, before syncing again:
M-x org-roam-db-clear-all M-x org-roam-db-sync
Alternately, deleting the database file will automatically trigger a rebuild on restarting emacs, or issue the sync command.
rm ~/.config/emacs/org-roam.db
Journaling in org-roam
To prevent existing journaling entries from appearing in the list of nodes, the following function needs to be defined.
(setq org-roam-db-node-include-function (lambda () (= (org-outline-level) 0)))
To prevent future ID creation, the option "no-id t" has been added to the dailies capturing template.
This reddit post explains how to open org-roam-dailies in other-window.
(defun ugt-org-roam-dailies-goto-today nil "Open todays journal in other window." (interactive) (split-window-right) (other-window 1) (org-roam-dailies-goto-today))
Sources:
- https://www.orgroam.com/manual.html
- https://stafforini.com/works/wilson-2021-org-roam-best/
- https://rostre.bearblog.dev/building-my-ideal-emacs-journal/
- https://www.reddit.com/r/emacs/comments/veesun/orgroam_is_absolutely_fantastic/
- https://lucidmanager.org/productivity/taking-notes-with-emacs-org-mode-and-org-roam/
- https://systemcrafters.net/build-a-second-brain-in-emacs/keep-a-journal/
- https://org-roam.discourse.group/t/how-to-put-all-the-org-roam-dailies-in-one-file-with-a-date-tree-structure/1561/2