使用Github Action自动生成静态相册
前言
使用memos调用的相册虽然方便,但是也有一些痛点无法解决
- 在CDN被刷流量之后,我已经几乎关闭所有的国内CDN服务,小水管服务器也无法满足大量图片同时加载,那龟速谁用谁知道.
- S3存储太贵,在COS被刷了流量之后(没错,我就是这么倒霉),我决定多地备份,主要上传在github,利用Cloudflare+ vercel+github pages+ 其他SaaS. 这些服务的优点就是免费.
- 模板来源于网络
Deepseek
主要使用AI来解决主要功能代码,主打一个能用就行.至于有什么bug,一个简单的网页生成 能有什么逆天bug也没关系的….吧
主要代码是 Python
功能
我想要的功能
- 上传图片到Github 仓库,触发 Actions 自动生成Html页面
- 相册的缩略图需要压缩,点击显示原图,缓解小水管压力(没错,我会定时使用git拉取到国内服务器,主打一个多地都能访问)
- 根据图片名称自动生成标题
演示地址
https://blog.0tz.top/photos
部署在Github Pages
使用
使用模板
https://github.com/jkjoy/generate-albums
设置
在自己仓库的Settings
中找到
TOKEN
为你的 Github token
REPO
为你想要生成相册的仓库名称 如username/repo
上传规则
相册内容上传到 photos
这个目录下
photos
根目录下的照片默认标题为分享生活
新建文件夹, 该文件夹名称为此目录下所有图片的标题
照片同名txt中的文本为描述说明 最高优先级
如1.jpg
1.txt
则使用1.txt
中的文本为描述说明目录下
描述.txt
为此目录下所有图片的描述说明 第二优先级如果两者都没有则使用照片文件名为描述说明
其他部分
可以根据需求修改 template.html
中的布局和内容
每次修改仓库会自动触发Action 生成HTML到目标仓库,目标仓库可以使用Github Pages
,也可以部署在Vercel,这里就不多做说明
演示
https://photos-jkjkjoy.vercel.app/
总结
AI真好用!!