Documentation
Integration guide
Reference assets by their published path. Paths are emitted by the CMS at build time and should not be constructed by hand in templates.
Referencing an image
<img
src="/media/2026/03/harbour-lights-960.avif"
srcset="/media/2026/03/harbour-lights-640.avif 640w,
/media/2026/03/harbour-lights-960.avif 960w,
/media/2026/03/harbour-lights-1440.avif 1440w"
sizes="(max-width: 700px) 100vw, 700px"
width="960" height="540"
alt="Harbour at dusk" loading="lazy">
Always set intrinsic width and height so the layout does not shift while the image loads.
Variants
| Suffix | Longest edge | Typical use |
|---|---|---|
| -320 | 320 px | Thumbnails, related-article strips |
| -640 | 640 px | Mobile body images |
| -960 | 960 px | Default article width |
| -1440 | 1440 px | Lead images, high-density displays |
Cache headers
Cache-Control: public, max-age=31536000, immutable # fingerprinted paths
Cache-Control: public, max-age=300, stale-while-revalidate=86400 # rolling paths
- Should templates append a query string for cache busting?
- No. The fingerprint is already part of the path, and query strings reduce cache hit ratio.
- What happens on origin failure?
- The last good object continues to be served while revalidation is retried in the background.