上线一个纯静态PPT模板下载站的过程记录
最近上线了一个 PPT 模板下载站,其中过程遇到了很多的问题,在此记录一下。
不花钱,或者尽量少的花钱。
技术选型
框架选型
因为不想花钱,所以一开始的计划就是要把做一个纯静态的网页,没有后端。可以直接部署到 cloudflare 的 page 上。
比较熟悉的是 hexo,但是因为 PPT 资源比较多,使用 hexo 构建的速度太慢。所以弃用了。再后来找到了 hugo,这个基于 GO 的静态网站生成器,宣传的速度很快。(后来实测 Macbook Pro M1 的性能,发现 hugo 构建一次也需要好几分钟,可能是我还没有优化)
模板选型
找了一些模板,都感觉不太合适。挑的眼花缭乱。最后还是自己搞了一套。从 hugo new theme
开始。一点一点搭建。最终效果虽然一般,自己看得过去就行了。
构建页面
- 由于页面和 tags 太多导致构建的页面太多。最后禁用的 hugo 自带的标签和分类的页面,改成打开网页时再加载。
- 最终再 cloudflare 上构建还是用了将近 5 分钟。
数据整理
资源下载
PPT 资源大多都是从网上下载的,这部分花了几块钱开了一个网盘的会员。最后下载了大概 100 多 G 的文件。
资源整理
整理的时候发现很多文件是重复的、空的、无效的等等。所以最后整理了大概 50 多 G 几千个 PPT。
PPT 资源提取关键词、分类、描述
首先把全部的 PPT 转为一个长图和首图(后续网页展示需要)。然后把长图交给大模型去识别提取。
精简关键词、分类
由于大模型识别出的关键词是比较粗糙的,各式各样的都有,所以通过语意相似度进行去重。从几万个关键词减少到 2 千个左右。
资源存储
存储选型
有几个选项可以选择:
- 网盘(百度网盘、阿里云盘等)
大部分网盘限速,并且不提供直链下载。虽然可以搭建 alist,但限速问题还是要充会员。- 放弃 - 开个服务器
花钱 - 放弃 - 对象存储(oss、cos、r2 等)
花钱 - 放弃 - 第三方图床(如:imgur、sm.ms 等)
大部分第三方图床限制文件大小,有的也只支持图片文件,不适合 PPT。- 放弃 - talegram。
这个挺不错的,使用机器人接口可以无限上传。大小限制也基本可以满足。唯一的问题就是国内无法访问。而且直链需要机器人接口获取,而且有时间限制。- 放弃 - 大型网站做图床(新浪、QQ 等做图床)
不稳定,传文件可能也有问题。 - 放弃 - IPFS 分布式存储
这个还没试过,不知道效果如何。后边可以测试一下。 - 代码仓库(github、gitlab 等)
使用 GitHub 存储库存储 PPT 文件。大小限制也基本可以满足 ✅,提供直链 ✅,国内访问不稳的情况也可以通过一个 cdn 解决 ✅,cdn 限制大小可以使用 cloudflare 的 worker 搭建代理 ✅,最次最次可以提供 GitHub 的链接。
最终选择了 github 作为存储。
文件上传
把这几十 G 的文件传上去也是个力气活,写了一些上传脚本。可以实现当一个存储库到达限制后自动创建一个新的。
此文章版权归houxiaozhao所有,如有转载,请注明来自原作者