Adventures_in_org_mode
Lately I’ve been wanting to move away from obsidian.md and use something 1) open source and 2) not using electron. I settled on a
solution using org-roam on the desktop and logseq on my phone. This has
been my experience I’m documenting partially for myself but also for
the benefit of anyone who stumbles on this. ✨
Setup
Setup was a little more difficult than I’d like, but here’s what I
ended up with after trial and error.
-
org-roam this package allows you to
easily link notes to each other and create an obsidian-like graph of
your org notes. it also can handle quite a lot of notes with ease -
consult-org-roam this
package lets you harness the power of consult (which I should write
an article on) to search for notes and search
within objects which
makes it extremely powerful -
org-noter this allows you
to annotate documents (and even epubs thanks tonov.el mode!). While I haven’t
used it a ton yet, I can already tell it’ll be
very nice for
anarchist theory readings :P -
org-modern this makes org
mode pretty like obsidian (adds unicode bullets, boxes for scheduled
tasks and more)
Workflow
Like roam, org-roam emphasizes permanent notes and fleeting notes,
usually in the form of daily notes. Here’s a typical daily note.
emacs open on an org mode buffer with a few todo list items, a journal
entry about hanging out with my friend and laundry and some cool links i
found today
Things I’ve learned
Org-mode isn’t just a markdown replacement, it’s a lot of things: a
knowledge management system, a todo and agenda manager, a jupyter labs
replacement, and probably more I haven’t even learned. Org roam
especially is very powerful especially when you set keybindings
(general-nmap
:prefix "SPC o"
"" '(nil :which-key "org-mode")
"a" 'org-agenda
"l" 'org-roam-buffer-toggle
"f" 'org-roam-node-find
"g" 'org-roam-graph
"i" 'org-roam-node-insert
"c" 'org-roam-capture
"j" 'org-roam-dailies-capture-today
"s" 'consult-org-roam-search)
(setq org-roam-dailies-capture-templates
(let ((head "#+title: %<%Y-%m-%d (%A)>\n#+startup: showall\n* [/] Do Today\n* [/]\n"))
`(("d" "default" entry
"* %?"
:target (file+head "%<%Y-%m-%d>.org"
"#+title: %<%Y-%m-%d>\n#+filetags :daily:\n"))
("t" "do today" item
"TODO "
:file-name "daily/%<%Y-%m-%d>"
:if-new (file+head "%<%Y-%m-%d>.org" "#+title: %<%Y-%m-%d>\n#+filetags :daily:\n")
:head ,head
:olp ("Do Today")
:immediate-finish t))))
with keybindings and capture templates, org mode becomes not only an
amazing text editor (with evil :P), but also a todo list manager and
obsidian replacement/knowledge management system. I’ll likely update
this article as I learn more about org mode but that’s all for now!