迁移到 Cloudflare Pages
因为上面的严重问题,考虑到万一有路过的朋友遇到了问题,所以专门写了这么一篇公告性质的 post。写都写了,就顺便聊聊迁移到 Hexo 之后我还做了什么吧。
迁移到 Hexo 之后,起初我还是使用的本地构建 + GitHub Pages 的方式(这与我还在使用 ink 时的习惯相同)。
然而我逐渐开始不满一些缺点:
- 没有 git 历史记录,人工也不行(目录会被清空)
- 每次推送都是 force push
- 本地管理过于庞杂
- 原本的主题被安装为 node 模块,不方便修改
于是我把原来的配置推倒了一次,丢掉 npm,换上了 yarn,重新整理了一遍干净的安装,并且也理所应当地用上了 git。
重建
因为我并不想全局安装 hexo-cli
,再加上我要使用 yarn,那么我的目录结构大概就长这样:
1 | blog |
但是因为初次安装,得套个娃,所以我套了个 Hexo
文件夹在外面,然后先在这里用 yarn 安装 hexo-cli
并初始化。
1 | yarn add hexo-cli |
接下来就可以进入刚建立的 blog 文件夹,该干啥干啥,这也是之后的 git 仓库。为了让主题易于修改,下载最近的版本解压到 themes 目录下。
配得差不多了之后,稍微解决一些问题:有的依赖依赖了太旧的 stylus
,会导致一些 WARN 出现,解决方法是在 package.json
中强制指定版本
1 | "resolutions": { |
原版的费拉 renderer marked
也被我丢了,换成了 hexo-renderer-markdown-it
,配置好之后就有脚注什么的啦。
(就在我写到这的时候又发现一个新的问题:我的 highlight.js
好像唯独不能高亮 json,但是 yaml js 之类的都完全没问题…)
放哪儿呢
既然已经弄成了这样了,那肯定得找能帮我构建的平台了。选择也很多,随便列列:
- Netlify
- Vercel (now.sh)
- GitHub Actions + GitHub Pages
- Travis CI
- …
然后我就选了 Vercel,因为 Anazon 在香港有节点,至少 ping 和速度看起来还不错。但是可能是出于制杖,我又给 Vercel 套了个 Cloudflare,所以还是云减速。
Vercel 也很好用,选 Hexo 模板甚至啥都不用额外操作就行了,不过记得关一下 File Listing。
Cloudflare Pages
既然我已经 Cloudflare 全家桶了,反正我博客又从来没保证过 SLA,不如换上尝鲜试试?和别的平台相比,可能优点就是内容分发的极致优化。
试了一下,优点没有特别感觉到(速度上),缺点倒是…
- 界面比较简陋
- 不支持手动重新构建
- 部分资源 500 错误
但是也能用。那就先将就着用下去吧,毕竟有 workaround,能帮别人解决一下产品问题我还是比较高兴的。
但是!它有一个非常奇怪的 feature,是会自动抹去链接末尾的 .html
。而要命的是,我的评论系统是根据相对链接来确定哪个页面应该展示什么评论的,这就直接导致了我原本的评论现在无法显示。
没有办法,我直接换回 Vercel 了。顺便关了 Cloudflare CDN,看看直连 AWS HK 速度会不会快一点(
迁移到 Cloudflare Pages