
IMGX
从2025-02-08
开始建仓库,到现在已经有一个月多一点
一开始只是为了解决写文章时配图问题,我的要求不高,但AI 生成的很难贴合实际内容。所以还不如直接用一个只有文字的图片,只需要简单排版就好了。
在解决了自己的问题后,我在 v2ex 上分享了 Github 仓库,以及现有的功能,很快收获了近 100 star
这也算是一次成功的推广吧,在只做了不到 1/4 的功能,就吸引了一批人的注意,说明这个需求还是有很多人需要的。
所以也是立马花了小一个月的业余时间,用来投入到这个项目上。
但是这一个月功能没推进多少,因为计划赶不上变化,加班一下子加了两周...
最近又回归常态后,又可以开始新的规划啦
在升级到 0.6.0 之后,我的计划是开发一套模板录入+预设保存的机制,用于解决一大堆参数的问题,保存预设时会得到一个 4(或3)位数的预设码,这个预设码包含了使用哪个模板、使用什么默认样式等信息。
在使用时只需要携带这个预设码,再传入自己的文字内容即可获得一张图片
于是我引入了 Prisma、Mysql、Redis,以满足未来的需求。
但敲了两天代码后,发现现在的项目结构有点别扭。
前端功能很少,大部分集中在后端,但又依赖了 createSSRApp
和 renderToString
,所以我再调研后决定去除这两个依赖,直接生成 VNode
来渲染出 SVG
。
而且这还仅仅是 IMG
部分的功能,X
部分我还没开发,所以为了避免未来代码烂掉。
我新开了一个仓库:imgx-nitro,用于继续开发新的 Api 功能。
现有的仓库先保留(毕竟有 100 个 star),但暂时不会在这个基础上写新功能了,新的前端仓库也会基于 Vue3
再开一个。
有开发能力的小伙伴可以自行 Fork
本仓库来魔改
我的规划是这样的:(未来)提供一个入口,可以创建自己的模板(HTML),以及编写自己模板需要的样式(props),我会根据 props
,生成一个 propsSchema
。
propsSchema
会在生成自己的预设时,选择模板后带出来,并且会根据propsSchema
来渲染出一个表单,用于配置自己的默认样式
然后保存后就会得到一个 code,比如 1234,在使用时通过 GET imgx.zzao.club/1234/这是一段内容
即可快速拿到一个自己常用风格的图片。
当然,这套繁琐的配置只是为了方便用户从前端去使用。
真正有价值的还是在后端上。
比如和其他 Api 配合,抓取内容后输出到图片中
和插件配合,在浏览器任意网页中生成图片。
或是把本地大量的文字、或 md 文件的内容都批量转换成图片
所以我目前的想法是,先完成核心的 API。
其他功能到底是以方便普通用户使用,还是先支持开发者自建模板,还是先开发配套插件,就以实际推广后的反馈为准吧