This guide explains the working setup for across-scales. Obsidian is the writing space. Quartz is the publishing engine. Cloudflare Pages is the host.
Quick Summary
- Write and update public notes in
content/. - Open
content/as the Obsidian vault. - Use
content/inbox/for rough capture, then move useful notes intoareas/,projects/,topics/,references/, orguides/. - Preview locally with
npm run site:preview. - Build for publishing with
npm run site:build. - Publish by pushing the repo to GitHub and connecting it to Cloudflare Pages.
Where To Write
Open this folder as an Obsidian vault:
/mnt/d/Personal Sites/across-scales/personal-notes/contentOn Windows, the same folder is usually reachable from File Explorer as:
D:\Personal Sites\across-scales\personal-notes\contentEverything inside content/ can become part of the public website unless Quartz is configured to ignore it.
Content Map
Use this structure when deciding where a note belongs:
content/index.mdis the public home page.content/start-here.mdis the orientation page for readers.content/inbox/is the quick drop zone for rough notes and unfinished ideas.content/areas/is for ongoing domains, such as research, reading, or long-term interests.content/projects/is for work with a clear outcome or deliverable.content/topics/is for reusable concept notes.content/references/is for book, paper, article, source, or citation notes.content/guides/is for how-to notes like this one.
When a note becomes important, link it from content/index.md, content/start-here.md, or a nearby area/project note so readers can find it.
Private Notes
Use content/private/ for notes that should not be published. Quartz is configured to ignore private, templates, and .obsidian.
content/private/
content/templates/
content/.obsidian/Still, treat the repo as private and avoid putting secrets in it. Private GitHub repo means private source, but the built website is public.
Daily Writing Flow
- Write in Obsidian.
- Link notes with wikilinks like
[[topics/superconducting-qubits]]. - Use tags and frontmatter when helpful.
- Preview locally with Quartz before publishing.
- Move useful notes out of
inbox/once they have a clearer home.
Local Preview
From the project root:
cd "/mnt/d/Personal Sites/across-scales/personal-notes"
npm run site:previewThen open:
http://localhost:8080Build Check
Before pushing larger changes, run:
npm run site:buildQuartz writes the static site into public/. Cloudflare Pages should use public as the build output directory.
Continue Setup
Use this checklist to get from local notes to a published Cloudflare site:
- Keep editing notes in
content/. - Run
npm run site:previewand checkhttp://localhost:8080. - Run
npm run site:buildbefore publishing important changes. - Make sure the repo is pushed to GitHub.
- In Cloudflare, create a Pages project from that GitHub repo.
- Use the Cloudflare Pages settings below.
- Deploy the first build.
- After deploy, open
https://across-scales.pages.dev. - If using a custom domain later, add it in Cloudflare Pages and update
baseUrlinquartz.config.yaml.
Cloudflare Pages Settings
Use these settings for the Pages project:
Project name: across-scales
Production URL: across-scales.pages.dev
Framework preset: None / Static HTML
Build command: npm run site:build
Build output directory: public
Root directory: leave blank if this repo root is the Quartz project
Node version: 22 or newerThe current Quartz baseUrl is:
across-scales.pages.devIf you later add a custom domain, update baseUrl in quartz.config.yaml.
Publish Flow
After editing notes:
git status
git add content README.md
git commit -m "Update notes"
git pushCloudflare Pages will rebuild automatically from the pushed commit.
For ordinary note-only updates, git add content README.md is usually enough. Add quartz.config.yaml, package.json, or other project files only when they actually changed.
Useful Markdown Features
- Equations with
$inline$and$$block$$math. - Mermaid diagrams with fenced
mermaidcode blocks. - Obsidian callouts like
> [!note]. - Task lists with
- [ ]and- [x]. - Tables, footnotes, tags, backlinks, and graph view.