meme-api

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

维护流程

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