无题

总算把博客搭好了。

这事情拖了三年,谁叫我最初想自己写一个博客系统。这根本就不是一个正确的解决方案。自己水平相当有限,精力也相当有限,就算写出来能运行也只会是一团浆糊,想着就令人头疼。更重要的是,与其花费精力维护一个博客系统,还不如多写点内容。这几年什么都没写颇有一种荒废感。

当然好的地方是,我现在知道这一切是如何工作的了。如果搭起来也不知道自己到底在干什么,我就会不断怀疑我的做法是否是正确的。到了现在,即使不见得是很好的方法,我也可以确信至少没有多大的问题。

现在这个博客用的是 Hexo,虽然我根本就不想用这个,但是实在是不想再继续研究了。这个比较方便,先凑合着用一段时间吧。

关于部署,尽管也可以部署到自己的服务器上,但是感觉挺麻烦的,加上也想试一下 Hexo 的部署功能,就先用了第三方平台。Github Pages 要建一个域名同名仓库,感觉很不爽。看到 Hexo 支持部署到 Heroku,正好以前也用过,就用这个了。Heroku 本来是用来部署代码应用的,但是静态网页是 PHP 的子集,所以也可以部署。

后面又踩了一堆坑:

  • Heroku 以前可以配 ssh key,这次配完了之后发现现在已经不支持了,又把 key 给删了。现在只能用 HTTP API token,还最多只有 30 天的有效期。
  • Hexo 的 Heroku 的插件一直报错,查了半天得出的结论是只能把 node 降级到 12。
    • 虽然 npm 写了支持 node 12,但实际上 npm 一更新就报错,最后只能不更新了。
    • 事实上连 node 14 的 npm 也无法更新,但是把 node 16 的 npm 直接复制过去是可以用的(node 12 不行)。
  • 看了下那个插件的代码,就是调用几个 git 命令。坑点在于,它会在子目录里建 git 仓库,如果主目录已经建了 git 仓库它就不建了,会错误地使用主目录的 git 仓库。

用 Heroku 的自定义域名要绑定信用卡,不想绑定,只好自己整了个反向代理。

2022-05-27 更新

改用 GitLab Pages 了。看了这篇教程。GitLab 的 CI 看起来比 GitHub Actions 正常多了,部署静态页面很方便,自定义域名也很方便。

GitLab 有 Hexo 的模板,不过我用的是部署静态网页的模板,在本地生成好了再提交过去。不想管 Hexo 的部署功能在搞什么了,随手糊了一个一键部署脚本。