thermograph/static/logo.svg
Emi Griffith 85e4e08f96 Link previews: Open Graph tags + logo for shared URLs (#35)
Sharing a Thermograph URL (Discord, Slack, iMessage…) now unfurls into a
card with the site name, page title, description, accent color, and logo.

- All five pages get description/theme-color/og:*/twitter:card meta and a
  favicon. og:url/og:image need absolute URLs and crawlers don't run JS, so
  pages carry an __ORIGIN__ placeholder the server fills in per request from
  X-Forwarded-Proto (Caddy) / scheme + the Host header + base path — correct
  on both the LAN dev server and the prod domain without hardcoding either.
- New logo assets: the header's ▚ mark as an app icon (accent quadrants on
  the dark surface) — logo.png (512x512, the og:image) and logo.svg (favicon).
- Page routes render the substitution with a weak ETag + 304 revalidation
  (replacing plain FileResponse) and now answer HEAD, which preview crawlers
  probe with (previously 404).
2026-07-11 15:59:14 +00:00

7 lines
445 B
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<!-- The ▚ brand mark from the header, as an app icon: two accent quadrants on
the app's dark surface. Keep in sync with logo.png (the og:image raster). -->
<rect width="512" height="512" rx="100" fill="#171b21"/>
<rect x="116" y="116" width="134" height="134" rx="20" fill="#f0803c"/>
<rect x="262" y="262" width="134" height="134" rx="20" fill="#f0803c"/>
</svg>