4.2 KiB
title, date, tags
| title | date | tags | ||||
|---|---|---|---|---|---|---|
| Migrating to hexo from hugo | 2019-11-20 16:54:40 |
|
先辈们说:Don't Reinvent The Wheel, Unless You Plan on Learning More About Wheels,反正就是不要重复造轮子,因为这本身是一件浪费时间的事情。
最早的时候我是使用Wordpress的,那个时候是还是LAMP、LNMP满天飞的时代,各种一键脚本层出不穷,虽然我不一定会用,但是事实证明我总是重复地去配置,也没有整理成自动化的脚本最后对于我掌握这门技巧还是没有任何实质性的帮助。就这样用了很久很久,博客也得到了比较好的发展也有不少的访问量了,突然发现了Github Pages,而且借助Cloudflare也可以实现半程的HTTPS访问,具体怎么做可以自行Google,这边不作赘述。然后折腾了一段时间之后得到了最优解(也使用过Pelican Static Site Generator):Hexo+NexT。当然,维护了一段时间之后发现场上除了经久不衰的Wordpress之外还出现了Grav、Ghost、Typecho等优秀的CMS搅局者,但是这些都没有吸引住我的目光,直到GoHugo。
Gohugo是个非常高效的静态博客生成器,而且是用我当时最痴迷的Golang编写的,切举例子说当博客数量在100+篇时Hexo的生成速度非常的缓慢,但是Hugo几秒钟就生成好了(当然随着版本的迭代我相信Hexo已经解决了这个问题)。所以当时二话不说直接再次抛弃之前的博客(尽管配置好了很多东西),采用了Hugo+cocoa-eh-hugo-theme来生成我的个人博客,然后托管在VPS上。而为了实现真·HTTPS,我自己购买了SSL证书配置了Nginx+HSTS,每次写完博客之后通过Rsync增量同步到VPS的nginx目录上面去,同时为了实现清真的部署方式我的Nginx是容器部署的。具体怎么做的如果有人感兴趣可以留言让我介绍一下,有这个需求的话我可以再写一篇唠唠嗑介绍一下,这边略过。
直到最近我了解到了现在大家偏向于把自己的博客部署在Netlify或是Zeit上,当然还有持续的生命力的Github Pages,我猜测可能是前面两种支持无痛的CI吧(当然之前也有人会使用Travis CI自动生成静态网页然后部署在Github Pages上,因为我本来就不会选择部署在Github Pages上所以就直接忽略了)。虽然现在Github已经开放了GitHub Actions,可能更加方便CI了吧,但是我还没好好了解过所以就先不谈了。另外Netlify和Zeit都支持自动申请和续期Let's Encrypt 的免费HTTPS证书,甚至自己也不用使用Acme.sh去申请和管理自己的证书,非常方便,所以我决定尝试一下(而且可以每个月省一笔VPS的开销,何乐而不为?虽然早晚会被割韭菜的,但是到时候再说吧)。
因为之前的主题实在是不够美观(虽然真的非常简洁),所以我选择更换主题为Even,但是碰到了个很大的问题是这个主题是从Hexo移植的,最后一次更新还是在2018年,算是很久没更新了。另外就是如果打开了TOC会导致浏览器的滚动条无限滚动,我还提了个issue。所以我就很没骨气地准备迁移回Hexo,就为了用这个我比较喜欢地主题。嗯,我真是个渣男+外貌协会。
所以这次结论就很明确了,使用Hexo+Netlify+Even来部署我的个人博客,接下来简单介绍一下步骤。
比较坑的是Netlify在拉取信息的时候,如果主Repo中有repo的嵌套,必须添加submodule,但是submodule中不一定会追踪文件的更改。