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=../vault to treat the vault directory as the content directory (instead of the default “content” folder
  • Added Plugin.ExplicitPublish() to the filters. 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

  1. Push Obsidian changes in Windows app Git plug-in to the vault repo
  2. The vault repo triggers GitHub Actions that triggers deploy Actions in the quartz repo

Other actions

  1. npx quartz build --serve -d ../vault builds and serves locally
  2. npx quartz sync pushes 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

Create a quartz + Obsidian set-up guide