当博客文章数量达到几百篇之后,Hexo 孱弱的性能及极大的资源需求量就会成为巨大的瓶颈。这个时候,我们可以考虑,用 Hugo 来搭建静态博客。
更新历史
- 2023.04.03:第一版说明
安装与初始化指南
因为我个人主要用 Mac 和 Linux,这里不涉及其他操作系统的安装,参考文章最后的链接。
- Mac 下的安装很简单
brew install hugo
- Linux 下的安装也很简单,参考这里
安装完成后我们就可以新建站点,进行初始化了,这里我就直接上命令,目标是搭建一个关于书摘和笔记的博客:
1 | 新建博客 |
Hexo 格式转换
如果你像我一样有大量的 hexo 格式的 md 文章,那么接下来的内容会对你有帮助。
Hexo 的文章的描述信息一般是:
1 | title: Hugo 静态博客搭建指南 |
而 Hugo 的格式如下:
1 | --- |
所以我们需要一个脚本,快速完成这样的转换。在 Mac 下,我们的 sed 命令是不标准的,所以我们需要先安装一个标准的 sed,命令为:brew install gnu-sed
。之后我们就可以用如下命令进行追加,实际上只需要在最开头加上 ---
即可:
1 | 其中 book-003.md 是文件名 |
手动摘要
我的习惯是使用手动摘要,那么只需要添加 <!--more-->
即可,这个和 hexo 的也有不一样,hexo 的是 <!-- more -->
,因此我们同样需要进行内容替换,命令如下:
1 | 其中 book-*.md 是文件名通配 |
部署与发布
如果你在服务器上已经完成了上述配置,实际上只需要生成静态页面,并且挂载到 nginx 上即可。
1 | 生成页面,会在 public 文件夹中 |
注意,URL 中不包含日期,也挺好,更简洁!
注意事项
- hugo 处理日期的逻辑和 hexo 不同,如果 date 是未来的时间,则该文章不会被生成。