Files
infloop.life/source/_posts/migrating-to-hexo-from-hugo-md.md
2019-11-20 19:32:07 +08:00

4.2 KiB
Raw Blame History

title, date, tags
title date tags
Migrating to hexo from hugo 2019-11-20 16:54:40
hexo
hugo
blog
static

先辈们说:Don't Reinvent The Wheel, Unless You Plan on Learning More About Wheels,反正就是不要重复造轮子,因为这本身是一件浪费时间的事情。

最早的时候我是使用Wordpress那个时候是还是LAMP、LNMP满天飞的时代各种一键脚本层出不穷虽然我不一定会用但是事实证明我总是重复地去配置也没有整理成自动化的脚本最后对于我掌握这门技巧还是没有任何实质性的帮助。就这样用了很久很久博客也得到了比较好的发展也有不少的访问量了突然发现了Github Pages,而且借助Cloudflare也可以实现半程的HTTPS访问具体怎么做可以自行Google这边不作赘述。然后折腾了一段时间之后得到了最优解也使用过Pelican Static Site GeneratorHexo+NexT。当然维护了一段时间之后发现场上除了经久不衰的Wordpress之外还出现了GravGhostTypecho等优秀的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中不一定会追踪文件的更改。