基于Hugo搭建静态博客
前言
一直想搭建一个记录自己学习与生活的博客,断断续续尝试过很多种方案,例如基于 Typecho 或 Wordpress 的动态博客,基于 Hexo + Coding 的静态博客。
其中基于 Wordpress 搭建动态博客在互联网上的比例很大,有海量的模版和丰富的教程。Typecho 和 Wordpress 类似,只是前者更加轻量级,界面更加简洁,理论上加载速度更快。Wordpress 的功能更加强大,可以用于搭建论坛、购物网站等,个人觉得只用来写技术博客有点大材小用了。因为不想花费很多精力在博客网站的排版、样式等功能上,更想专注于写文章本身,所以之前使用过较长时间的 Typecho 博客。
但是动态博客的优点和缺点都很明显,动态博客可以提供诸如在线发布、数据统计、用户注册等一系列在线服务,但是需要部署在云服务器上,一般需要搭配域名使用。然而个人并不常用以上的在线服务,所以更倾向使用静态博客。Hexo 和 Hugo 的区别不大,但是 Hexo 需要 nodejs 环境并且加载速度没有 Hugo 快,优点是 Hexo 的主题更多。
最终权衡下还是使用 Hugo + PaperMod 主题的方案搭建了静态博客。
技术选型
-
博客框架:Hugo
-
博客主题:PaperMod
-
博客字体:LXGW WenKai、JetBrains Mono
-
托管工具:Github 或云服务器
-
写作工具:Typora、Handraw
优点:
- 不需要购买云服务器和域名,网站托管在 Github 上(也可以部署到云服务器上,绑定域名);
- 网站功能简洁,加载速度快,不用花费精力维护;
- 使用本地 Typora 写作,所见即所得。
快速启动
搭建过程中参考了如下博客及教程:Sulv’s Blog、 田少晗的个人博客、Memory
安装Hugo
安装前需要准备 Go 和 Git 环境,以下是个人使用的环境,合适的版本即可。
基础环境 | 版本号 |
---|---|
系统 | MacOS Ventura 13.0 (M1 Pro) |
Go | go version go1.17.7 darwin/amd64 |
Git | git version 2.37.1 (Apple Git-137.1) |
Mac 用户输入:
|
|
安装完成后输入hugo version
验证,若出现版本信息则表示安装成功。
新建站点
新建站点目录kdjlyy_blog
,并将站点配置文件改为.yml
后缀写法:
|
|
会自动生成以下目录结构:
|
|
目录结构详细介绍参考:https://gohugo.io/getting-started/directory-structure/
下载主题
-
在 Hugo Themes 官网下载喜欢的主题到
themes
文件夹,以个人使用的 PaperMod 主题为例:1 2
cd themes git clone git@github.com:adityatelange/hugo-PaperMod.git
把文件夹名称由 hugo-PaperMod 改为 PaperMod,方便后续配置。
-
在站点文件夹下的配置文件
config.yaml
里配置主题:1 2 3 4
baseURL: "/" languageCode: 'en-us' title: 'My Blog' theme: "PaperMod"
新建文章
在站点目录下,新建文章:
|
|
此时first-blog.md
将自动生成在content/posts
目录下:
|
|
在后面使用 markdown 格式书写即可。
本地运行
在站点目录下执行命令:
|
|
进入 http://localhost:1313/ 即可访问个人主页。