feat: auto-generate OpenGraph images for posts without photos

Uses Satori + @resvg/resvg-js to create branded 1200x630 social
preview cards at build time. Cards show post title, type badge,
date, and site name on a dark background with blue accent.

Generated images are cached in .cache/og/ (persistent on Cloudron)
and passthrough-copied to the output. Posts with photos continue
using their own images. Untitled posts (notes) use body text.
This commit is contained in:
Ricardo
2026-02-18 08:37:50 +01:00
parent 4e2f579e71
commit fe06fe3f4f
5 changed files with 768 additions and 5 deletions

View File

@@ -16,13 +16,17 @@
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.2",
"@atproto/api": "^0.12.0",
"@chrisburnell/eleventy-cache-webmentions": "^2.2.7",
"@fontsource/inter": "^5.2.8",
"@quasibit/eleventy-plugin-sitemap": "^2.2.0",
"@resvg/resvg-js": "^2.6.2",
"eleventy-plugin-embed-everything": "^1.21.0",
"gray-matter": "^4.0.3",
"html-minifier-terser": "^7.0.0",
"markdown-it": "^14.0.0",
"markdown-it-anchor": "^9.2.0",
"pagefind": "^1.3.0",
"rss-parser": "^3.13.0"
"rss-parser": "^3.13.0",
"satori": "^0.19.2"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.0",