「技术」使用Hugo搭建个人博客
前言
我为什么选择 Hugo
Hugo 是一个使用Go语言编写的静态网站生成器。
长期续费一个稳定的虚拟主机的费用是昂贵的,因此我放弃了原先的Typecho系统,转而寻找静态博客系统。在尝试了Hexo、Jekyll后,我选择了Hugo,原因首先是它支持 Markdown 语法,这使得我将文章从 Typecho 迁移至 Hugo 变得容易,其次是Stack主题仅适用于 Hugo (搭建博客第一要领:好看)
网页托管
说起网页托管,大家第一想到的大概都是Github Pages吧,最初我也是使用 gh 来对生成的动态页面进行托管,可长期使用下来我发现 gh pages 存在一些问题:
- github pages 会对绑定的域名进行 cname 验证,而 Cloudflare 默认将主域名的 CNAME 拉平成 A 解析,这导致我的域名一周多了还没有通过验证
- Github Pages 默认给每个域名申请免费的 SSL 证书,而我的一个域名出现了 SSL 证书出错的情况 😓,最后也没排查出是域名还是 gh pages 的问题
- 可能会有 DNS 污染导致 github.io 无法访问
- 不支持 PHP,导致我原先的一些脚本无法使用
为了解决这些问题,我在知乎游了一圈,发现了一个宝藏部署服务:Vercel
Vercel 有以下优点:
访问速度比 Github Pages 快
比 Github Pages 稳定
自带 SSL 证书
支持将域名 DNS 服务器迁移至 Vercel
准备工作
安装 Hugo
本文仅展示使用 Windows 安装 Hugo
本教程中使用 scoop软件包管理器 安装
其余方法大同小异,请自行使用搜索引擎搜索
安装 scoop,请看这篇文章:Scoop - 一款强大的 Windows 包管理工具
win
+ r
打开运行窗口
输入Powershell
在打开的窗口中输入
scoop install hugo
或者用以下方式安装扩展版本
scoop install hugo-extended
当控制台显示'hugo' (0.92.2) was installed successfully!
时代表安装已完成
若选择安装拓展版本,则当显示
'hugo' (0.92.2) was installed successfully!
时代表安装已完成
括号内版本号以最新版本为准
创建站点
初始化站点
在控制台中输入hugo new site 路径
新建一个站点
如hugo new site E:\myblog
这个命令将在 E 盘中创建一个名为 myblog 的目录并在此中创建一个新的 hugo 站点
安装主题
由于新站点中无主题,因此无法渲染,所以我们需要安装一个新主题
在本文中选择从 hexo 移植的Next 主题
进入站点根目录后,使用 git 获取主题
git clone https://github.com/elkan1788/hugo-theme-next.git themes/hugo-theme-next
复制站点根目录/theme/hugo-theme-next/exampleSite 中的文件并粘贴至站点根目录后覆盖
运行hugo server
恭喜你,你的 hugo 博客已成功运行
部署
参见新博文 使用 Vercel 托管静态网页