迁移到 Cloudflare Pages

注意:怀疑是 Cloudflare Pages 的 bug,部分图片 500 错误,已提工单。

如遇到图片浏览问题,请使用备选:blog.xyx.moe

我没想到还有一个更严重的问题,已换回 Vercel 并顺手关了 Cloudflare CDN,具体请往下读。

因为上面的严重问题,考虑到万一有路过的朋友遇到了问题,所以专门写了这么一篇公告性质的 post。写都写了,就顺便聊聊迁移到 Hexo 之后我还做了什么吧。

迁移到 Hexo 之后,起初我还是使用的本地构建 + GitHub Pages 的方式(这与我还在使用 ink 时的习惯相同)。

然而我逐渐开始不满一些缺点:

  • 没有 git 历史记录,人工也不行(目录会被清空)
  • 每次推送都是 force push
  • 本地管理过于庞杂
  • 原本的主题被安装为 node 模块,不方便修改

于是我把原来的配置推倒了一次,丢掉 npm,换上了 yarn,重新整理了一遍干净的安装,并且也理所应当地用上了 git。

重建

因为我并不想全局安装 hexo-cli,再加上我要使用 yarn,那么我的目录结构大概就长这样:

1
2
3
4
5
6
7
8
9
10
11
blog
├─node_modules
├─scaffolds
├─source
│ ├─about
│ ├─css
│ ├─images
│ ├─_drafts
│ └─_posts
└─themes
└─icarus

但是因为初次安装,得套个娃,所以我套了个 Hexo 文件夹在外面,然后先在这里用 yarn 安装 hexo-cli 并初始化。

1
2
yarn add hexo-cli
yarn hexo init blog

接下来就可以进入刚建立的 blog 文件夹,该干啥干啥,这也是之后的 git 仓库。为了让主题易于修改,下载最近的版本解压到 themes 目录下。

配得差不多了之后,稍微解决一些问题:有的依赖依赖了太旧的 stylus,会导致一些 WARN 出现,解决方法是在 package.json 中强制指定版本

1
2
3
"resolutions": {
"stylus": "^0.54.8"
}

原版的费拉 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 速度会不会快一点(

作者

星野 みなと

发布于

2021-03-06

更新于

2021-03-07

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×