Two changes:
- New POST /api/cache/clear (auth: REVALIDATE_TOKEN). Wipes the
TTL content cache, the image disk + memory cache, and forwards to
the RustyCMS /api/transform/cache/invalidate endpoint when an
API key is configured. Single trigger to flush everything.
- /api/revalidate now also calls clearImageCache() on asset.* events
so a re-upload (focal change, alt edit, replacement) doesn't keep
serving the previous transformed image from disk.
clearImageCache() in image-cache.server.ts wipes the in-memory map
and removes every file under IMAGE_CACHE_DIR.
- Set trailingSlash='always' globally via root layout.
- Update postHref, pageHref, Pagination, tag/breadcrumb hrefs, blog→posts
redirects to emit trailing slash.
- Match old Astro canonical so indexed URLs hit 200 directly instead of
308-redirect.