`next/og` compatible function built on Satori
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- typescript, wasm
调研方向
Start by reading the existing next/og shim in vinext and how Void handles Wasm modules on workerd; the issue does not name files or tests. Prototype an ImageResponse compatible with next/og using Satori and resvg, then verify JSX image generation works in Void apps on Workers.
由索引模型根据 Issue 内容生成。
描述
Summary
It would be great if Void provided an ImageResponse compatible with next/og, so OG images can be generated from JSX in Void apps (e.g. import { ImageResponse } from 'void/og').
Motivation
Most apps need dynamic OG images, and next/og is the API most people (and coding agents) already know. If existing next/og code worked by just changing the import, moving from Next.js/Vercel to Void would be much easier.
Setting this up yourself on Workers is surprisingly tricky. Satori and resvg ship Wasm that has to be loaded as precompiled modules on workerd, and recent Satori versions don't run on Workers out of the box. This feels like something Void could solve once for everyone. vinext already has a next/og shim, but that only helps vinext apps.
Why Satori and not Cloudflare Images
Cloudflare Images can transform and overlay images, and recently added basic text rendering. But it has no layout engine: no JSX/HTML/CSS input, no flexbox, no nested styled elements. So it can't reproduce what next/og does. next/og itself is built on Satori + resvg, so building on vercel/satori is the most straightforward way to get the same output.
If this direction is appropriate, I would be happy to help implement the prototype.
- 主要语言
- TypeScript
- 星标
- 402
- 派生
- 32
- 平均合并
- 11 小时 52 分钟
- 30 天内合并 PR
- 88
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
voidzero-dev/void 的其他 Issue
-
bug
难度 1/5 1-3 小时 新手友好度 78/100
voidzero-dev/void#428 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
voidzero-dev/void#511 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
voidzero-dev/void#510 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 58/100
voidzero-dev/void#509 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 55/100
voidzero-dev/void#507 ·
维护者通常 1 天内回复
查看 voidzero-dev/void 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
logancyang/obsidian-copilot#3753 ·
维护者通常 1 天内回复
-
area: presentation severity: important
难度 2/5 1-3 小时 新手友好度 85/100
voithos-labs/aragonite#763 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
diegosouzapw/OmniRoute#17386 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 半天 新手友好度 72/100
super-productivity/super-productivity#10982 · 1 条评论 ·
维护者通常 1 天内回复