meme-api

静态站点(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(浏览器会自动处理,图库「复制链接」亦为已编码地址)。

维护流程

  1. 原图/<分类>/ 放入未编号素材;运行 python 转化.py,在 原图-已处理/ 生成编号 .webp/.gif 并限最长边(默认 300px);默认保留 原图/ 源文件,清理可加 --delete-sources
  2. 动图 WebP 会在 python 转化.py 转换流程中转为 GIF。
  3. npm run build:生成 dist/(含 dist/memes.json)。请先把 原图-已处理/ 拷入 public/meme/ 再构建;构建脚本不会覆盖 public/meme/
  4. 上线(生产):项目在 Cloudflare 已连接 Git 时,由推送生产分支触发云端构建:npm run buildgit add/commit/push;仪表盘「构建命令」填 npm run build,「构建输出目录」填 distwrangler pages deploy dist 在 Git 项目里常显示为预览,属正常。