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 into areas/, projects/, topics/, references/, or guides/.
  • 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/content

On Windows, the same folder is usually reachable from File Explorer as:

D:\Personal Sites\across-scales\personal-notes\content

Everything 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.md is the public home page.
  • content/start-here.md is 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

  1. Write in Obsidian.
  2. Link notes with wikilinks like [[topics/superconducting-qubits]].
  3. Use tags and frontmatter when helpful.
  4. Preview locally with Quartz before publishing.
  5. 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:preview

Then open:

http://localhost:8080

Build Check

Before pushing larger changes, run:

npm run site:build

Quartz 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:

  1. Keep editing notes in content/.
  2. Run npm run site:preview and check http://localhost:8080.
  3. Run npm run site:build before publishing important changes.
  4. Make sure the repo is pushed to GitHub.
  5. In Cloudflare, create a Pages project from that GitHub repo.
  6. Use the Cloudflare Pages settings below.
  7. Deploy the first build.
  8. After deploy, open https://across-scales.pages.dev.
  9. If using a custom domain later, add it in Cloudflare Pages and update baseUrl in quartz.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 newer

The current Quartz baseUrl is:

across-scales.pages.dev

If 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 push

Cloudflare 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 mermaid code blocks.
  • Obsidian callouts like > [!note].
  • Task lists with - [ ] and - [x].
  • Tables, footnotes, tags, backlinks, and graph view.