Table of Contents

I use Zettelkasten via org-roam to manage 15+ years of org notes. Following Jethro Kuan's slip box approach, notes are organised into four directories:

  1. main - Quick thoughts and snippets
  2. reference - Ideas from books, articles, and other sources
  3. article - Long-form content: paper reviews, essays, synthesis of multiple notes
  4. project - GTD-style task management, kept separate so org-agenda doesn't scan thousands of zettels

Publishing

Notes are published to a static blog using ox-publish. The setup can be found here.

Two outputs are generated:

  • Public (public/) — only files tagged publish are included, deployed to my site.
  • Private (private/) — full local preview including drafts, never committed

Three tags control publishing behaviour:

publish Include in the public blog
sitemapignore Publish the HTML but exclude from the sitemap
notitle Suppress the <h1> title in the exported HTML

Emacs Config

org-roam setup: my-org-roam.el. org-agenda uses ripgrep to surface TODOs from project files only.

Last Modified: February 15, 2026