The Quartz Syncer plugin bridges your notes with Quartz, a static-site generator that turns markdown files into personal websites. It lets you publish selected notes directly from your vault to your Quartz repository on GitHub using the GitHub REST API. The plugin only pushes content from a user-defined folder, ensuring your main vault remains untouched. It's a one-way sync - from vault to Quartz - designed with clarity and control. Users can define exactly which notes go live, and changes are pushed after comparing against the existing Quartz repo content. This tool is ideal for people maintaining digital gardens or public second brains using the Quartz framework.
GitHub account with access token
- Migrated compiler pipeline from regex-based transforms to AST-based transforms using
remark-obsidian.- Obsidian comments (
%% ... %%) are now stripped via AST instead of regex, correctly handling comments inside code blocks. - Vault path stripping for links and images is now handled via AST node visitors.
- Wikilink pipe characters (
|) inside table rows are automatically escaped for Quartz GFM compatibility. - Callout syntax (
> [!INFO]) is preserved correctly through the AST round-trip.
- Obsidian comments (
- Delegated rendering transforms to Quartz v5's build pipeline.
- Wikilink resolution, transclusion expansion, SVG inlining, highlight syntax, and tag rendering are now handled by Quartz.
- Compiler pipeline reduced from 8 steps to 4: frontmatter enrichment, integration pre-compilation, link targeting, and AST transform.
- Compiler reduced from ~900 lines to ~500 lines.
- Fixed image embeds blending with surrounding text when preceded by other content.
- Removed transclusion and SVG embedding logic (now handled by Quartz v5).
- Removed publish file cache system (
cacheFilesMarkedForPublishing,clearPublishCache). - Simplified
SyncerPageCompilerconstructor (removedgetFilesMarkedForPublishingparameter). - Removed dead settings:
applyEmbeds(unused after Phase 3) andpathRewriteRules(never read by runtime code). Removed "Apply embeds" toggle from Quartz settings panel. - Simplified Excalidraw integration to pass-through (push files only, Quartz v5 handles rendering). Removed SVG conversion, SCSS styles, and ExcalidrawAutomate dependency.
- Split Git connection status into separate read and write access checks. The settings panel now shows
(read: ok/failed)and(write: ok/failed)independently, correctly identifying when a repository URL is valid but credentials lack push access. - Fixed canvas
extractBlobLinksto only collect asset files (images, fonts, etc.) instead of all file nodes including markdown notes.
What's Changed
- Link inclusion fixes by @saberzero1 in https://github.com/saberzero1/quartz-syncer/pull/115
Full Changelog: https://github.com/saberzero1/quartz-syncer/compare/1.10.1…1.11.0