Unified Site Migration Plan
Move from a single Quartz vault at riginski.org to a unified static site where a custom landing page lives at root (riginski.org) and the vault lives at riginski.org/notes.
Why
The vault is locked into Obsidian markdown → Quartz rendering. A custom site lets us add functionality that markdown can’t easily do — interactive widgets, dashboards, custom layouts, dynamic content, etc. — while keeping the vault fully accessible at /notes.
Architecture
repo/ # GitLab: daverigie/hermes-site (or similar)
├── index.html # ✨ Custom landing page
├── assets/ # Custom CSS, JS, images
├── vault/ # Vault source (subtree or included dir)
│ ├── content/
│ ├── quartz.config.yaml → baseUrl: riginski.org/notes
│ └── quartz.layout.ts
├── .github/workflows/deploy.yml # GitHub Actions CI\n└── public/ # Build output → Cloudflare Pages
├── index.html # Landing page
├── assets/
└── notes/ # Quartz build output (auto-prefixed)
├── index.html
├── ...
CI Pipeline
build job:
1. Build custom landing page → public/
2. npx quartz build --directory vault/content --output ../public/notes
(with baseUrl: riginski.org/notes — Quartz handles link prefixing natively)
deploy job:
3. wrangler pages deploy public/ --project-name <name>
Changes Required
Vault (quartz.config.yaml)
- Change
baseUrl: riginski.org→baseUrl: riginski.org/notes - Remove or update the
cnameplugin (no longer owns root domain) - Maybe remove the
footerplugin’s GitHub link (or keep it — harmless)
GitLab CI
- New repo (or restructure existing vault repo)
- Build pipeline: custom site + vault in sequence
- Single
wrangler pages deployat the end
Cloudflare Pages
- New pages project for the unified site
- Custom domain:
riginski.org - The vault’s old project (
hermes-vault) can be archived or kept as fallback
DNS
- No changes needed — still points to Cloudflare Pages
Repo Structure Options
- New repo — vault imported as a subdirectory or subtree (cleanest)
- Restructure existing repo — add landing page files at root, move Quartz configs into a
vault/subfolder (less repo churn)
Custom Landing Page
Tech stack TBD. Options:
- Plain HTML/CSS/JS — zero build step, dead simple
- Astro — great for static + interactive islands
- Svelte/React/Vue — full app framework
Start simple, add features over time.
Status
Proposed. Not yet executed.