πŸ“ Summary

Today was all about tightening up my Quartz publishing pipeline: fixed subdomain routing, smoothed out symlink issues with Synology, and took steps toward splitting my Obsidian vault into public vs. private notes.

πŸ”§ What I Worked On

🧭 Subdomain Routing Fixes

I wanted journal.argobox.com, notes.argobox.com, and blog.argobox.com to all serve the same Quartz site but land users in the right spot.

  • NGINX now routes all subdomains to the shared Quartz output directory
  • Used conditional redirects inside index.md to route journal.argobox.com to /Journal/
  • Set baseUrl: "https://journal.argobox.com" in quartz.config.ts to make theme assets load properly across subdomains

🧠 Public vs. Private Vault Design

I’ve been wrestling with how to expose some of my notes (like Cheat Sheets) to Quartz while keeping others private.

Tried symlinks and bind mounts from my Synology drive β€” but ran into issues:

  • SMB mounts don’t support symlinks well
  • Obsidian often ignores bind-mounted folders
  • Quartz doesn’t always follow symlinks depending on build context

🧼 The Fix: Just Split the Vault

Instead of fighting this, I’m now moving to a dual-vault setup:

/mnt/synology/obsidian/
β”œβ”€β”€ Public/
β”‚   β”œβ”€β”€ Notes/
β”‚   β”œβ”€β”€ Journal/
β”‚   └── Blog/
└── Private/
    β”œβ”€β”€ Personal/
    └── Work/
 

Then I pointed Quartz to obsidian/Public/, and it β€œjust works.” No mounts, no duplication, no sketchy hacks.

πŸ”„ Auto-Updater Watchdog

Also debugged why the site wasn’t rebuilding when files changed. Turns out rsync/cloud sync tools preserve timestamps, so the find -newer logic in my watcher wasn’t detecting updates.

Workaround for now: touch the files manually to update mod times. Might switch to inotifywait for real-time change detection later.

πŸ’‘ Takeaways & Thoughts

  • Trying to fake a proper public/private split using symlinks is more painful than it’s worth.
  • Quartz is opinionated about baseUrl and will break silently if you leave it blank or point it at a mismatched domain.
  • Static site rebuilds can race ahead of NGINX startup β€” wait a few seconds before testing after a pod restart.
  • A clean folder structure with a dedicated β€œpublic vault” is worth it. The mental clarity alone is valuable.