static/ folder is not a Quartz constraint; merge into x/attachments/
Context and Problem Statement
Initial assumption was that the vault’s static/ folder was a Quartz convention requiring root placement. Closer reading of Quartz v4 source revealed otherwise:
Plugin.Static()reads from<quartz-install-dir>/static(Quartz’s own passthrough files like favicon/CNAME), not from the user’s content directory.- User-content images are handled by
Plugin.Assets(), which resolves them via wikilink from anywhere in the content directory.
The vault’s static/ was just an Obsidian attachment dumping ground, not a Quartz-required location.
Considered Options
- Move
static/*contents intox/attachments/; delete emptystatic/. - Keep
static/at root as a carve-out (the original wrong premise). - Split static between Quartz-passthrough vs Obsidian-attachments.
Decision Outcome
Chosen option: “Move into x/attachments/”, because Plugin.Assets resolves wikilinked images by filename, so moving them does not break references. Removing the static/ exception keeps the 0007-consolidate-scaffolding-into-x principle intact.
Pros and Cons of the Options
Move into x/attachments/
- Good, because preserves the “all scaffolding under
x/” rule. - Good, because no broken references (filename-based wikilink resolution).
Keep static/ at root
- Bad, because no actual Quartz constraint requires it.
Split static between Quartz-passthrough and Obsidian-attachments
- Bad, because Quartz-passthrough doesn’t live in the user vault root anyway; the split is moot.