- 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
76 lines
2.0 KiB
Markdown
76 lines
2.0 KiB
Markdown
# 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](https://jzhao.xyz/posts/networked-thought) and notes as a website for free.
|
|
|
|
This fork adds first-class support for [org-roam](https://www.orgroam.com/) notes via [ox-hugo](https://ox-hugo.scripter.co/).
|
|
|
|
🔗 Upstream documentation: https://quartz.jzhao.xyz/
|
|
|
|
[Join the Discord Community](https://discord.gg/cRFFHYye7t)
|
|
|
|
## Quick Start
|
|
|
|
### Prerequisites
|
|
|
|
This project uses Nix. Enter the development shell, which provides Node.js 22, Elixir, and Emacs with ox-hugo:
|
|
|
|
```bash
|
|
nix develop
|
|
```
|
|
|
|
All commands below must be run inside this shell.
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
### Building from org-roam notes
|
|
|
|
Your org-roam notes live in a separate directory. Point `NOTES_DIR` at it:
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
npm run check # type check + format check
|
|
npm run format # auto-format with Prettier
|
|
npm run test # run tests
|
|
```
|
|
|
|
## Sponsors
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/sponsors/jackyzha0">
|
|
<img src="https://cdn.jsdelivr.net/gh/jackyzha0/jackyzha0/sponsorkit/sponsors.svg" />
|
|
</a>
|
|
</p>
|