From 074ea23b1bd3d23e0a2770973f1c5a211f51f70c Mon Sep 17 00:00:00 2001 From: Padreug Date: Wed, 27 May 2026 20:54:53 +0200 Subject: [PATCH] docs: README image-discipline section reflects the assets/ pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates the path (public/images/ → src/assets/projects/) and adds a sentence describing why the move was made: content-hashed filenames let the deploy's immutable cache header stay correct across image swaps without manual cache busts. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index defaaef..232827d 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,12 @@ and `.dark`. Keep all shadcn-vue token names intact. ## Image discipline -All images live under `public/images//`. The build pipeline -expects: +All project images live under `src/assets/projects//` and flow +through Vite's asset pipeline: `src/data/projects.ts` resolves each +file via `import.meta.glob`, so every image lands in `dist/assets/` +with a content-hashed filename (`08-abc123.jpg`). Any swap changes the +hash, which busts the deploy's `cache-control: immutable` header +automatically — no manual cache-clear, no version query strings. - Filenames are sequence-numbered (`01.jpg`, `02.jpg`, …) — never leak addresses, neighborhood names, or owner identities in the @@ -92,7 +96,7 @@ expects: ## Adding a project -1. Drop sequence-numbered images into `public/images//`. +1. Drop sequence-numbered images into `src/assets/projects//`. 2. Add a new `Project` entry in `src/data/projects.ts` (typed) with `slug`, `name`, `eyebrow`, `intro`, `cover`, `coverAlt`, and an `images[]` array. Each image takes a `feature` tag