静态站点(Cloudflare Pages)。在 原图/ 放未编号素材后运行 python 转化.py,输出到 原图-已处理/。npm run build 会把 public/ 整站复制到 dist/,并写入 dist/memes.json(清单优先 原图-已处理/,无则 原图/)。素材放在 public/meme/ 或使用 npm run build:sync-meme。部署目录为 dist/。直链可外部引用;JSON 已配置 CORS。
GET /memes.json(与旧版兼容:GET /api/v1/memes,内部映射为同一份 JSON)
返回所有分类及文件相对路径;前端与脚本可用其拼接直链。
curl -sS ""
站点根目录对应构建产物 dist/(本地从 public/ 同步而来);表情文件在 /meme/<分类>/,对应 URL:
GET /meme/<分类>/<文件名>.webp 或 .gif
https://example.com/meme/%E7%99%BD%E8%89%B2%E5%B0%8F%E4%BA%BA/1.webp
中文或多段路径请使用编码后的 URL(浏览器会自动处理,图库「复制链接」亦为已编码地址)。
原图/<分类>/ 放入未编号素材;运行 python 转化.py,在 原图-已处理/ 生成编号 .webp/.gif 并限最长边(默认 300px);默认保留 原图/ 源文件,清理可加 --delete-sources。原图-已处理/ 仍有需单独转的动图 WebP,可运行 python animated_webp_to_gif.py 原图-已处理。npm run build:生成 dist/(含 dist/memes.json)。把 原图-已处理/ 拷入 public/meme/ 或使用 npm run build:sync-meme。npm run build → git add/commit/push;仪表盘「构建命令」填 npm run build,「构建输出目录」填 dist。wrangler pages deploy dist 在 Git 项目里常显示为预览,属正常。