Photo by Pawel Czerwinski on Unsplash
为什么要选用Hugo?
简单来说,就是为了折腾(。展开来说的话也有一些小小的理由。
- Hugo是Go语言写的,相对于之前使用的Hexo所选用Nodejs而言Go接触更多,出了问题或是未来想要贡献都会更简单
- 使用Go的Hugo比Hexo的解析速度快
- 主题好看(逃
部署的过程
使用hugo-theme-stack-stater
使用hugo-theme-stack-stater相较于使用传统的hugo搭建方式(参见Hugo文档的Quick-Start)自由度有一些些下降,但搭建起来确实非常快捷方便
寻找托管平台:自建、Github Page还是Vercel
在博客的框架准备好以后就要开始寻找托管平台了。其实我当时第一反应是用自己的服务器,但这引来了几个问题
- 我自己的服务器是纯纯的小水管,当中转服务器都不太行的那种,硬件条件不太好
- 服务器的硬盘小,担心静态资源存不下
- 我的服务器在硅谷,大陆直连速度只能说令人感慨
- 推文相对其他方案麻烦(大概请参考这篇博客?)
- etc…
那么Github Page呢?这是一个老方案了,相关教程很多,也能白嫖,和Github联系也密切。但是,一个非常难受的问题是国内一般用户无法直连。
综上最后选择了Vercel来托管,Vercel的好处是
- 当推文push到github仓库后会自动渲染,不麻烦
- 可以白嫖
- 国内的读者不用梯云纵也能看到推文
改变DNS解析
因为之前的博客使用的是Github Page,所以实际上我有将我的blog.cannedfishsan.com 使用一条CNAME指向我的Github Page博客。这里为了实现Vercel托管需要将这条DNS解析为Vercel指定的DNS Namespace。
需要注意的是如果国内想要国内读者直连的话需要将CNAME解析的内容设置为cname-china.vercel-dns.com.。
使用Vercel托管
这里请参见这篇文档以及hugo-theme-stack-stater的README.md中关于Vercel的部分。
设置使用的博客模板
这一步因个人的需求以及个人使用的模板而异,我个人使用的是Stack,大概的设置思路是跟着Stack的文档走的。在这里我唯一踩到的坑是需要把assets文件夹拿到博客的根目录下才能像文档里一样配置。
最后想说的话
再说一遍,你好世界!
