Just started with Quartz 5 on 08-August. I wanted the Quartz 5 site to feel a little more custom without turning the whole thing into a private fork I’d dread maintaining later.

So I kept the core app clean and pushed the site-specific stuff into local overrides instead. That ended up covering the useful bits: a custom footer, local analytics, comments, and a few homepage tweaks that only affect the public garden view.
⚡ The larger and more detailed implementation storyline is here.
The nice part was that the underlying Quartz upgrade path stayed pretty boring. That was the goal. I could keep adding small custom pieces without having to drag a bunch of local changes through every future update.

A few things were handled outside the core codebase:
- site-specific layout behavior
- comment integration with self-hosted Remark42
- analytics wiring with self-hosted umami
- homepage dynamic islands
- small theme and spacing tweaks
Nothing especially magical there. Just the usual trick of keeping the customization layer narrow enough that it doesn’t become the product.
That seems to be the sweet spot so far. The site gets the personality it needs, and Quartz itself stays mostly untouched. I did hit some issues with Cloudflare earlier, which I documented in Quartz 5 - Cloudflare Pages and missing fonts - Fixed.
It’s only been 9 days, so there is always more to go.