Files
quartz/README.md
Ignacio Ballesteros 692f23bc36 Add org-roam workflow: ox-hugo export pipeline and example notes
- Add flake.nix dev shell with Node.js 22, Elixir, and Emacs+ox-hugo
- Add scripts/export.exs: exports org-roam notes to content/ via ox-hugo,
  mirroring subdirectory structure and generating a fallback index.md
- Add npm scripts: export, build:notes, serve:notes
- Configure FrontMatter plugin for TOML (ox-hugo default output)
- Replace ObsidianFlavoredMarkdown with OxHugoFlavouredMarkdown
- Add example notes: Madrid public transport (metro, bus, roads)
- Update README and AGENTS.md with org-roam workflow instructions
2026-02-19 18:20:43 +01:00

2.0 KiB

Quartz v4 — org-roam edition

"[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important." — Richard Hamming

Quartz is a set of tools that helps you publish your digital garden and notes as a website for free.

This fork adds first-class support for org-roam notes via ox-hugo.

🔗 Upstream documentation: https://quartz.jzhao.xyz/

Join the Discord Community

Quick Start

Prerequisites

This project uses Nix. Enter the development shell, which provides Node.js 22, Elixir, and Emacs with ox-hugo:

nix develop

All commands below must be run inside this shell.

npm install

Building from org-roam notes

Your org-roam notes live in a separate directory. Point NOTES_DIR at it:

# Export notes to content/ and build the site
NOTES_DIR=/path/to/notes npm run build:notes

# Export, build, and serve with hot reload
NOTES_DIR=/path/to/notes npm run serve:notes

# Export only (wipes content/ and re-exports all .org files)
NOTES_DIR=/path/to/notes npm run export

The export script mirrors the subdirectory structure of your notes into content/ and generates a fallback index.md if your notes don't include one.

Building without org-roam notes

If you manage content/ directly with Markdown files:

# Build the site
npx quartz build

# Build and serve with hot reload
npx quartz build --serve

The site is generated in public/. When serving, visit http://localhost:8080.

Development

npm run check    # type check + format check
npm run format   # auto-format with Prettier
npm run test     # run tests

Sponsors