r20 #
- Generated and shipped the site’s Open Graph image at
/og-image.png(1200×630 PNG, 50 KB) so that when any page is shared on Twitter / X, Discord, Slack, LinkedIn, or Facebook, a branded preview card appears instead of a blank or placeholder. Uses only confirmed brand elements: the “D” rounded-square mark from the nav header, the existing cyan accent, and the actual page-count / chart-count / tool-count from the site as a credibility tag. - Injected
og:image,og:image:width,og:image:height,og:image:alt, andtwitter:imagemeta tags on every page (19 of 19) referencing the same image with the standard cache-bust query. - Hidden gap fix: the about page (
/about.html) was missing its full Open Graph + Twitter meta tag suite entirely — only had a single description meta. The full block (og:type, og:url, og:title, og:description, og:site_name, og:locale, twitter:card, twitter:title, twitter:description) is now in place, parallel to every other page’s head structure. Caught while inspecting the meta-tag landscape for og:image injection. - Asset cache-bust advanced from r19 to r20. New build script:
build-scripts/r20_build_og_image.py(PIL-based, idempotent — regenerates the same image bit-for-bit on a re-run).