Hugo 静态博客搭建指南
约 2 分钟
当博客文章数量达到几百篇之后,Hexo 孱弱的性能及极大的资源需求量就会成为巨大的瓶颈。这个时候,我们可以考虑,用 Hugo 来搭建静态博客。
更新历史
- 2023.04.03:第一版说明
安装与初始化指南
因为我个人主要用 Mac 和 Linux,这里不涉及其他操作系统的安装,参考文章最后的链接。
- Mac 下的安装很简单
brew install hugo - Linux 下的安装也很简单,参考这里
安装完成后我们就可以新建站点,进行初始化了,这里我就直接上命令,目标是搭建一个关于书摘和笔记的博客:
# 新建博客
hugo new site wdxmzy-read
# 下载 next 主题
cd wdxmzy-read
git init
git submodule add https://github.com/hugo-next/hugo-theme-next.git themes/hugo-theme-next
cp themes/hugo-theme-next/exampleSite/config.yaml .
mv config.toml config.toml.backup
# 预览一下,执行以下命令后,打开浏览器访问 http://127.0.0.1:1313/
hugo server
# 能正常访问就说明没有问题
Hexo 格式转换
如果你像我一样有大量的 hexo 格式的 md 文章,那么接下来的内容会对你有帮助。
Hexo 的文章的描述信息一般是:
title: Hugo 静态博客搭建指南
categories:
- 收费服务
date: 2023-04-03 21:06:36
tags:
- 独立博客
- 博客搭建
---
而 Hugo 的格式如下:
---
title: 【书摘】1979对越战争亲历
date: 2014-09-11T12:34:56+08:00
categories:
- 书摘
tags:
- 战争
- 越南
- 军人
---
所以我们需要一个脚本,快速完成这样的转换。在 Mac 下,我们的 sed 命令是不标准的,所以我们需要先安装一个标准的 sed,命令为:brew install gnu-sed。之后我们就可以用如下命令进行追加,实际上只需要在最开头加上 --- 即可:
# 其中 book-003.md 是文件名
gsed -i '1i---' book-*.md
手动摘要
我的习惯是使用手动摘要,那么只需要添加 即可,这个和 hexo 的也有不一样,hexo 的是,因此我们同样需要进行内容替换,命令如下:
# 其中 book-*.md 是文件名通配
gsed -i 's/- more -/-more-/g' book-*.md
部署与发布
如果你在服务器上已经完成了上述配置,实际上只需要生成静态页面,并且挂载到 nginx 上即可。
# 生成页面,会在 public 文件夹中
hugo
# 剩下的根据需要进行配置即可
注意,URL 中不包含日期,也挺好,更简洁!
注意事项
- hugo 处理日期的逻辑和 hexo 不同,如果 date 是未来的时间,则该文章不会被生成。