Context: Obsidian Publish doesn’t allow enough customization. I want to be able to develop an automated change log and emailing system.
Others with a similar Obsidian + Quartz sites can be found here: https://vaults.obsidian-community.com/
Decided on Quartz because it is the most Obsidian-like out-the-box. Probably not going to use all the features something like Astro or Hugo provides in the near term. Other options like the Obsidian Digital Garden Plugin or https://forestry.md/ too simple
Forked the template in Host your Obsidian notebook on GitHub Pages for free to understand the mechanics a bit
Managing two separate repositories for the vault vs quartz. Unlike My Quartz + Obsidian Note Publishing Setup that uses a git subtree somehow
Moved existing vault to C:\Projects\garage\vault
Leveraging https://quartz.jzhao.xyz/ for initial setup
- Upgraded Node and npm to the latest versions
- Cloned quartz here: C:\Projects\garage\quartz
Leveraging My Quartz + Obsidian Note Publishing Setup:
- Using
npx quartz build --directory=../vaultto treat the vault directory as the content directory (instead of the default “content” folder - Added
Plugin.ExplicitPublish()to thefilters.Plugin.RemoveDrafts()already there - Added her glob pattern to
ignorePatterns
Followed https://quartz.jzhao.xyz/setting-up-your-GitHub-repository to get the quartz directory set up on it’s own GitHub repository
Followed https://quartz.jzhao.xyz/hosting to host
- “public” folder is ignored via the default Quartz setup. GitHub Actions creates an artifact with the public files and serves that to GitHub Pages (instead of deploying from branch like I am used to). Had to go back and remove public from the past commits
- Created deploy.yml and configured
- Created Personal Access Token and added to quartz repo as a secret to read the separate private vault repo. Added “Checkout Vault Repository” action
- Updated Build Quartz action to reference the vault directory via
--directory=vault
In production at https://jrenn3.github.io/quartz/
- Completely separate repos, committing changes to vault files that are published doesn’t automatically rebuild the site
Workflow for BAU writing
- Push Obsidian changes in Windows app Git plug-in to the
vaultrepo - The
vaultrepo triggers GitHub Actions that triggers deploy Actions in thequartzrepo
Other actions
npx quartz build --serve -d ../vaultbuilds and serves locallynpx quartz syncpushes the quartz repo to GitHub (if there are changes to push)
Key tenants
- Keeping separate repos because I need the vault to stay private, quartz can be public
↑ done and decided
↓ todo and considering
- Personal access token expires ⏫ 📅 2026-03-12
Consider the fact that, when serving locally and pointed at the vault, it automatically re-builds with any change to any file inbox
Some \n characters are not rendering (similar to Obsidian to Anki issue) inbox
CI/CD workflow to do Publishing frontmatter in my Garage, might need to reconfigure to support new tool inbox
Review How I write my blogs in Obsidian and publish instantly for potential Hugo setup inbox
Consider using Render in the future? For scenario if I flip both repos to private (or combine into one) inbox
Include a link back to live Obsidian file on quartz site inbox