一、工具安装
1. Go
这里安装的 Go 版本为 1.25.3,官网地址:Go。
安装过程:略。
安装完成后,查看 Go 版本:
| |
2. Hugo
Hugo 是一个用 Go 写的静态网站生成器。
这里安装的是标准版的 Hugo。
| |
3. Hugo 的常用命令
| |
二、创建网站
1. 创建流程
基本创建流程如下:
| |
可选
为了方便管理,建议将 Hugo 创建的网站保存到 Github 的私有仓库或其他私人 Git 服务器,当然也可以保留到本地。\
Hugo 是用来生成静态网站的,我们发布的只是 Hugo 生成的静态网站,而不是 Hugo 创建的网站。
| |
2. 目录架构
| |
3. 修改配置文件
配置文件是 hugo_blog/hugo.toml。
示例如下:
| |
创建完成后的效果如下所示:
中文

英文

4. 创建第一篇文章
- 这里我计划是创建一个
article目录来存放文章(上述配置文件里面 url 也是/article/)。 - 由于是使用 Markdown 格式,为了方便资源(比如图片)的引用和管理,文章需要和资源放到同一个目录。
| |
如果打开这个 .md 文件,可以发现 Hugo 会在这个 .md 文件的顶部添加了一些头部信息,如下所示:
这些头部信息称为
Front Matter。
| |
我们将其修改下,添加一些信息:
| |
title:文章的标题
date:文章的创建或发布时间
draft:是否为草稿。设为
true时 hugo 默认不构建。tags:文章标签。可以设置多个标签。
其效果如下:

三、生成静态网站
| |
执行完成后,静态网站的内容位于 hugo_blog/public 目录下。
四、发布到 Github
Github 上创建一个名为 <用户名>.github.io 的仓库,而且这个仓库必须是公开的。
| |
提交完成后确认仓库的配置。

1. 自动发布
我们可以使用 Github Action 来实现自动发布:当更新 hugo_blog 仓库后,自动生成静态网站文件,并更新到 <用户名>.github.io 仓库。
可以参考:hugo-setup
在 hugo_blog 目录下创建工作流目录
1$ mkdir -p .github/workflows在 workflow 目录中创建 YAML 文件 hugo_update.yaml:
1 2$ cd .github/workflows $ touch hugo_update.yaml文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42name: Deploy Hugo Site to GitHub Pages on: push: branches: [ master ] jobs: deploy: runs-on: ubuntu-22.04 concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: # 检出代码 - name: Checkout repository uses: actions/checkout@v4 with: submodules: recursive fetch-depth: 0 # 安装 Hugo - name: Setup Hugo uses: peaceiris/actions-hugo@v3 with: hugo-version: '0.152.1' extended: false # 静态构建 - name: Build with Hugo run: hugo --minify --gc # 部署到 GitHub Pages - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: personal_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} external_repository: <指定仓库> # 这里一般是 <用户名>/<用户名>.github.io publish_dir: ./public publish_branch: master force_orphan: true user_name: 'Zeepunt' user_email: <个人邮箱> # 个人邮箱 commit_message: 'blog: ${{ github.event.head_commit.timestamp }}'
2. 创建 PAT 令牌
点击 GitHub 页面右上角的头像,进入 Settings:
在左侧边栏找到 Developer settings,然后选择 Personal access tokens 下的 Tokens (classic)。
点击 Generate new token (classic)。
为令牌起一个易于识别的名称,例如
Hugo Blog Deploy。过期时间:为了长期使用的便利性,建议选择 No expiration。如果出于安全考虑选择有效期,请记住到期前需要更新。
权限范围:务必勾选
repo权限,这能赋予它对所有仓库的完全访问权限。点击 Generate token,并立即复制生成的令牌字符串。
在仓库中添加令牌
进入存放 Hugo 源代码的仓库(例如
<用户名>/hugo_blog)。点击 Settings 选项卡,然后选择 Secrets and variables 下的 Actions。
点击 New repository secret。
Name 处输入
PERSONAL_ACCESS_TOKEN(此名称需与工作流文件中的引用保持一致)。Value 处粘贴您刚才复制的令牌。
点击 Add secret 保存。