assets.wheelofheaven.world

The image CDN — AVIF/WebP/JPG with edge caching, populated by the data-images pipeline.

≈ 2 min read 205 words Updated 2026-08-29

On this page

CDN for serving optimized images and static assets.

Overview#

Image formats#

All images are served in multiple formats:

FormatUse caseBrowser support
AVIFBest compressionModern browsers
WebPGood compressionWide support
JPGFallbackUniversal

URL structure#

https://assets.wheelofheaven.world/images/{category}/{image-name}.{ext}

Categories: wiki/, timeline/, resources/, brand/.

Per-page social cards live under their own og/ subtree:

https://assets.wheelofheaven.world/images/og/{lang}/{section}/{slug}.jpg

Rendered by the OG Image Pipeline, served with a 24h must-revalidate override so re-renders propagate within a day. Every published page on the reading site advertises one in its <meta property="og:image">.

Usage in templates#

The Bifrost theme’s figure shortcode handles format selection:

{{ figure(src="wiki/elohim-creation", caption="The Elohim creating life") }}

Generates:

<picture>
  <source srcset=".../wiki/elohim-creation.avif" type="image/avif">
  <source srcset=".../wiki/elohim-creation.webp" type="image/webp">
  <img src=".../wiki/elohim-creation.jpg" loading="lazy">
</picture>

Configuration#

The main site references the CDN via config.toml:

[extra]
cdn_url = "https://assets.wheelofheaven.world"

Image processing pipeline#

Images are processed via the data-images repository:

data-images/
├── sources/          # original high-res images
├── raw/              # unprocessed uploads
├── processed/        # optimized output (per-format trees)
├── og/               # Open Graph card renderer
└── scripts/
    ├── process_images.py
    └── deploy_to_cdn.py

See Image pipeline for the full processing chain.

Caching strategy#

SettingValue
Cache TTL1 year
Browser TTL1 month
Cache levelCache Everything
Cache-Control: public, max-age=31536000, immutable

Images are considered immutable — new versions get new filenames.

Performance benefits#

  1. Edge caching — served from nearest Cloudflare POP
  2. Format negotiation — browser gets the optimal format
  3. Lazy loading — images load on scroll
  4. Compression — AVIF is ~50% smaller than JPG

Edit this page on GitHub