Add OG metadata + Satori-rendered OG images #7

Closed
opened 2026-05-23 20:54:09 +00:00 by coilysiren · 1 comment
Owner

Originally filed by @coilysiren on 2026-05-02T23:21:10Z - https://github.com/coilysiren/eco-jobs-tracker/issues/2

🤖 Filed by Claude Code on Kai's behalf.

eco-jobs-tracker.coilysiren.me currently returns only a bare `

_Originally filed by @coilysiren on 2026-05-02T23:21:10Z - [https://github.com/coilysiren/eco-jobs-tracker/issues/2](https://github.com/coilysiren/eco-jobs-tracker/issues/2)_ > 🤖 Filed by Claude Code on Kai's behalf. eco-jobs-tracker.coilysiren.me currently returns only a bare \`<title>\` for OG. The website's /apps/ link preview (and any external paste of the URL) ends up bland as a result. **Two parts:** **1. OG meta block** in the base Jinja2 template: - \`<meta name=\"description\">\` - \`og:title\`, \`og:description\`, \`og:type=website\`, \`og:url\`, \`og:site_name\` - \`og:image\` (see part 2) - \`twitter:card=summary_large_image\` + \`twitter:image\` Per-route pages override \`title\` / \`description\` blocks; everything else inherits. **2. OG images via Satori (build-time, Node sidecar).** The app is Python + Jinja2 + HTMX, Satori is Node-only. Recommend pre-generating at build time: - \`scripts/render-og-images.mjs\` (dev-only Node deps: \`satori\` + \`@resvg/resvg-js\`). - Reads a small manifest of \`{slug, title, subtitle}\` and emits \`static/og/<slug>.png\` (1200x630). - Run it in CI before the Docker image build; bake the PNGs into the image. - Base template references \`/static/og/{{ og_slug | default('default') }}.png\`. If a per-player view needs a unique image (e.g. \"<player>'s spec board\"), consider a tiny Node sidecar at \`GET /og?title=...\` instead. For the current route set, build-time is enough. **Verify:** paste \`https://eco-jobs-tracker.coilysiren.me/\` and a per-player URL into Bluesky's compose box; confirm previews. Re-run the coilysiren/website build and check \`scripts/apps-og-cache.json\` picks up a richer entry. > 🤖 Filed by Claude Code on Kai's behalf.
Author
Owner

Merged into #4 in the 2026-05-29 backlog burn-down. OG metadata duplicate of #4 Reopen if it should stand alone.

Merged into #4 in the 2026-05-29 backlog burn-down. OG metadata duplicate of #4 Reopen if it should stand alone.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/eco-jobs-tracker#7
No description provided.