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).
7 lines
445 B
XML
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>
|