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.orgbaseUrl: riginski.org/notes
  • Remove or update the cname plugin (no longer owns root domain)
  • Maybe remove the footer plugin’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 deploy at 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

  1. New repo — vault imported as a subdirectory or subtree (cleanest)
  2. 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.