本片文章主要记录自己使用 Hugo 搭建个人博客,并通过 GitHub Actions 将其自动发布到 GitHub Pages 上。

概述

Hugo 是一个使用 Go 语言编写的静态网站生成器 (Static Site Generator,SSG)。它的主要作用是将基于 Markdown 的内容转换为完整的、可部署的 HTML 静态网站。它以速度快、易于使用、可扩展性强而著称,广泛应用于博客、文档站、公司官网等场景。

GitHub Pages 是 GitHub 提供的一个免费静态网站托管服务,你可以将 HTML/CSS/JS(或者使用 Hugo、Jekyll、VuePress 等静态网站生成器构建的站点)部署到 GitHub 上并通过一个 GitHub 提供的域名(如 https://yourname.github.com)访问。

GitHub Actions 是 GitHub 提供的一套持续集成/持续部署(CI/CD)平台,可以让你在 GitHub 仓库的生命周期中自动执行各种任务,比如编译构建、测试、部署等。

准备

GitHub 上准备两个仓库,一个用来存放 markdown 原始文件,另外一个 GitHub Pages 仓库用来存放使用 Hugo 生成的静态文件。

  • blog: 私有仓库,用来存放原始文件。
  • holixsure.github.io: GitHub Pages 固定命名的仓库,用来存放博客静态文件,使用 Hugo 生成的静态文件将推送到这个仓库中。

如果需要通过域名访问,还需要注册一个域名,然后将域名解析指向 Github Pages 地址。

Hugo 安装和使用参考 Hugo 官方文档 (中文文档)

使用 Hugo 创建静态博客

创建博客目录

使用 hugo 命令创建博客根目录