跳过正文

使用Hugo搭建静态博客

·1226 字·
目录
使用Google Cloud托管我的博客 - 这篇文章属于一个选集。
§ 1: 本文

最近突然有了搭建自己博客的想法。网络上有很多快速的oneclick方案,不过并不符合我的美学。经过一系列探索,我决定使用Hugo来搭建我的网站。网上有很多教程和讨论,因此不用担心出了奇怪的BUG解决不了。并且,由于Hugo生成的是一个静态网站,即没有后端,其部署方式也更加灵活。

选择了框架,接下来就要思考一下该做一个怎样的博客网站了。好在Hugo可以直接套用别人的主题,这让搭建一个优雅的博客网站简单了不少,并且大部分主题都包含在线demo,可以仔细观摩。在众多的主题中,我选择了我看着最顺眼的Blowfish。

接下来,我将逐步记录搭建的过程,供参考。

开发环境准备
#

笔者主要在WSL2上进行开发,其运行系统为Ubuntu22.04。

  • 安装即将用到的工具 sudo apt install snapd git
  • 安装go sudo snap install go 如果出现提示,请添加--classic
  • 安装hugo sudo snap install hugo --classic

自定义博客
#

初始配置
#

首先,生成站点,名称随意。

hugo new site my-blog

编辑相关文件 注 需要提前配置好vscode,安装WSL的插件

code ./my-blog

此时,当前路径应当为 my-blog/。接着:

git init
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish

复制默认配置文件:

cp -r themes/blowfish/config/_default config/_default

本地运行网站:

hugo server -D

此时,由于WSL2的vscode自带端口转发,只需要在Windows下访问 http://localhost:1313 即可。大部分修改保存后都会实时反应在网站上。

更多自定义
#

这部分请根据Blowfish的官方文档(点击查看)以及自己的喜好进行调整。可能有部分设定需要参考Hugo的文档进行。

更新Blowfish版本
#

git submodule update --remote --merge

静态文件
#

如果终端正在运行hugo server -D,输入Ctrl+C即可退出。此时,最新的静态网站文件会处于public文件夹中。也可以使用hugo --minify生成最优网站文件。

添加高级功能
#

评论系统 - giscus
#

笔者最先尝试的是Disqus,但是没玩明白,评论区总是显示无法加载,即便是实际部署环境。随后,笔者将目光转向giscus。步骤如下:

  1. 开启用于存放评论的GitHub仓库的Discussions功能。这里我直接使用的是本博客的仓库。
  2. 根据giscus的步骤,得到一个script标签。
  3. 将该标签内容写入 layouts/partials/comments.html。若没有文件夹可自行创建。

打开博文,发现底部出现评论区,配置成功。

浏览量和点赞 - firestore
#

该功能需要使用Google的Firebase。如想使用,请确保您具有可用的Google Cloud账户。官方文档说明的比较详细,可直接参考这里

唯一需要说明的是,也是笔者踩的坑,就是在Firestore规则页面,需要更新为官方文档所提供的规则,并发布。该规则和默认规则并不完全相同,默认规则是拒绝所有读写请求,而官方规则是接受request.auth != null的所有读写请求。

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

同时,params.toml中所需要的键值都可以在项目概览->该Web应用名称->设置中找到。将其对应填入params.toml中即可。

使用Google Cloud托管我的博客 - 这篇文章属于一个选集。
§ 1: 本文