静态站点(Cloudflare Pages)。在 原图/ 放未编号素材后运行 python 转化.py,输出到 原图-已处理/。将成品拷入 public/meme/ 后运行 npm run build:只生成 memes.json 并把 public/ 复制到 dist/,不会改写 public/meme/。清单默认按 public/meme/ 扫描;若尚未拷素材则回退扫描 原图-已处理/(无则 原图/)。需强制按源目录生成清单时用 npm run build:manifest-from-source。部署目录为 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。python 转化.py 转换流程中转为 GIF。npm run build:生成 dist/(含 dist/memes.json)。请先把 原图-已处理/ 拷入 public/meme/ 再构建;构建脚本不会覆盖 public/meme/。npm run build → git add/commit/push;仪表盘「构建命令」填 npm run build,「构建输出目录」填 dist。wrangler pages deploy dist 在 Git 项目里常显示为预览,属正常。