Relative header_image paths (./img.webp) now resolve to /<slug>/img.webp, and article
assets also ship unhashed so og:image and JSON-LD URLs resolve.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Articles get NewsArticle structured data (headline, image, dates, author,
publisher) plus article:published_time and article:modified_time, and the
homepage gets WebSite and Organization data. Every indexable page allows
max-image-preview:large. The modified date is the article folder's last
commit, so editing an article updates it, the sitemap lastmod included.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cloudflare Pages falls back to the homepage with a 200 when there's no
404.html, which Google treats as soft 404s. The generated 404.html is
noindex and shows a detective gif from vibegif.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Swap every direct-img.link image across 7 articles and the site OG/author
images for hand-picked free.direct-img.link equivalents, update alt text to
match, and point the writer template at the free host.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Visiting /newsletter/unsubscribe?email=... now unsubscribes on load and
shows an animated success check; the manual form shares the same state.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Renders an interaction-only Turnstile widget on /newsletter/ and sends its
token to newsletter.planetrenox.com/api/sub, which verifies it server side.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>