Eleventy Image v7 removed its synchronous stats API, which broke the
build. Rather than downgrade (older versions bundle a vulnerable sharp),
adapt to v7 and clear out the remaining vulnerable dependencies:
- Make the `image` shortcode async
- Replace the unmaintained markdown-it-eleventy-img with a local plugin
that pre-loads image metadata in eleventy.before, so markdown (and
feed) images keep rendering as <picture> elements
- Upgrade @11ty/eleventy-fetch to v6
- Swap npm-run-all for the maintained npm-run-all2 fork
- Override eleventy-plugin-og-image's satori (and its pinned fflate) to
patched versions, and set explicit heading weights in the OG template
so newer satori doesn't synthesise bold text