Org-roam is a knowledge management system, or personal wiki, built on top of Emacs’ Org-mode. It implements a networked thought system, similar to Roam Research, allowing users to create interconnected notes in a non-hierarchical way. This facilitates effortless linking and discovery of connections between ideas, effectively creating a “second brain” for managing information.
Setting up Org-roam
Since I’m also publishing the notes using hugo, some properties are needed.
(setq org-roam-capture-templates
'(("d" "default" plain
"#+author: %n\n#+date: %t\n#+description: \n#+hugo_base_dir: ..\n#+hugo_section: posts\n#+hugo_categories: other\n#+property: header-args :exports both\n#+hugo_tags: \n%?"
:if-new (file+head "%<%Y-%m-%d_%H-%M-%S>-${slug}.org" "#+title: ${title}\n")
:unnarrowed t)
("p" "programming" plain
"#+author: %n\n#+date: %t\n#+description: \n#+hugo_base_dir: ..\n#+hugo_section: posts\n#+hugo_categories: programming\n#+property: header-args :exports both\n#+hugo_tags: \n%?"
:if-new (file+head "%<%Y-%m-%d_%H-%M-%S>-${slug}.org" "#+title: ${title}\n")
:unnarrowed t)
("t" "tech" plain
"#+author: %n\n#+date: %t\n#+description: \n#+hugo_base_dir: ..\n#+hugo_section: posts\n#+hugo_categories: tech\n#+property: header-args :exports both\n#+hugo_tags: \n%?"
:if-new (file+head "%<%Y-%m-%d_%H-%M-%S>-${slug}.org" "#+title: ${title}\n")
:unnarrowed t)))
Code Snippet 1:
org-roam-capture-templates
for quick note capturing.d | default | plain | #+author: %n |
These will separate each templates into its own category. Other category is still needed as default, for when I’m using a less used category.
(setq org-roam-capture-ref-templates
'(("r" "ref" plain "#+author: %n\n#+date: %t\n#+description: \n#+hugo_base_dir: ..\n#+hugo_section: post\n#+hugo_categories: reference\n#+property: header-args :exports both\n#+hugo_tags: \n%?\n* Links\n- %l" :target (file+head "${slug}.org" "#+title: ${title}")
:unnarrowed t)))
Code Snippet 2:
org-roam-capture-ref-templates
for capturing links.r | ref | plain | #+author: %n |