Quartz 4 ignorePatterns gedrag
Definitie
De ignorePatterns config in Quartz 4 gebruikt globby voor matching, wat betekent dat bare directorynamen niet werken zoals een naive lezer zou verwachten. Een pattern als "_vault-cache" matcht alleen een bestand exact op de root, niet de folder of nested paden. De robuuste fix voor het uitsluiten van een folder op elk niveau is "**/_vault-cache/**".
Context
Bij het bouwen van kennisbank-web, een Quartz 4 fork als publieke deploy-laag van de KennisBank vault, lekte metadata uit _vault-cache naar de public build omdat de ignorePattern onvolledig was. Dat resulteerde in een privacy-leak waar paden, titels en tags van private notes in de static site terechtkwamen, vindbaar via search. Dit is een klassieke valkuil van globby’s string-interpretation, en treft iedereen die Quartz als vault-publisher gebruikt met cache-folders in de content-tree.
Kernpunten
Hoe globby bare strings interpreteert
Globby is geen simpele substring-matcher. Een string zonder glob-karakters wordt behandeld als een exact filename op de root. Dus "_vault-cache" matcht alleen een bestand dat letterlijk _vault-cache heet in de root van de content folder. Een folder met diezelfde naam wordt niet gematched.
Progressieve patterns en wat ze wel of niet doen
| Pattern | Matcht |
|---|---|
"_vault-cache" | Alleen exact bestand met die naam op root |
"_vault-cache/" | Idem, slash wordt genegeerd |
"_vault-cache/**" | Files binnen de folder op root, maar niet nested folders |
"**/_vault-cache" | De folder zelf op elk niveau, maar niet de inhoud |
"**/_vault-cache/**" | Alles in en onder de folder op elk niveau (de juiste fix) |
Consequentie: privacy-leak risico
Als je een cache-folder of private folder in de content-tree hebt, en je pattern is verkeerd, lekt alles wat in die folder staat naar de public build. Quartz kopieert het bij quartz build gewoon mee, indexeert het in search, en genereert backlinks naar het. Snelle check achteraf: ls public/ na build en zoeken naar bestandsnamen die er niet horen te staan.
Correcte config
ignorePatterns: [
"private",
"templates",
".obsidian",
"**/_vault-cache/**",
],Hoe te verifieren
npx quartz build
grep -r "_vault-cache" public/ || echo "clean"Als er matches zijn, is de pattern nog niet goed. Pas aan en rebuild.
Aanbeveling: cache buiten content tree
Structureel is de betere oplossing om cache-folders volledig buiten de Quartz content-tree te houden (bijvoorbeeld via een symlink naar een folder elders). Dan kan een verkeerde ignorePattern uberhaupt geen lek veroorzaken. Dit is in kennisbank-web als vervolgactie SEC-03 geboekt.
Verbanden
- Zie ook: wiki-quartz-4-custom-extensies
- Zie ook: wiki-quartz-custom-plugins
- Zie ook: wiki-quartz-fork-en-deploy-gotchas
Bronnen
- jackyzha0. (2026). Quartz 4 configuration. https://quartz.jzhao.xyz/configuration
- Sorhus, S. (2026). globby [GitHub repository]. https://github.com/sindresorhus/globby