本指南将涵盖以下内容:
- 安装 Hugo
- 使用 Hugo 创建站点
- 安装 Hugo 主题
- 将站点推送到 Github
- 使用 Cloudflare 托管站点
安装 Hugo
Hugo 是一个用 Go 语言编写的静态站点生成器。要安装 Hugo,我们需要确保已安装以下软件:
- Git
- Go
- Dart Sass
✅ 你可以参考 官方安装指南 并选择你的操作系统,以获取最新的安装说明。以下是一些常见的示例。
Mac (使用 brew 安装):
brew install hugo
💡 Homebrew 是 macOS 的包管理器。如果你还没有安装,可以运行以下安装脚本进行安装。
1/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))"安装 Homebrew 后,你就可以使用上面的
brew install hugo命令了。
Debian/Ubuntu 系统:
|
|
Windows 系统 (使用 Chocolatey):
|
|
💡 Chocolatey 是 Windows 的包管理器。如果你还没有安装,可以按照他们的网站上的说明进行安装。
Hugo 快速入门
安装 Hugo 和 Git 后,我们就可以开始在命令行中创建站点了。
1. 首先检查 Hugo 是否已安装及其版本
打开你的终端或命令提示符并运行:
|
|
这应该输出你安装的 Hugo 版本。如果出现错误,请重新检查你的 Hugo 安装。
2. 初始化 Hugo 项目
在你的终端中运行以下命令 (将 blog_name 替换为你喜欢的项目名称,例如 my-awesome-blog):
参考: Hugo 官方快速入门
|
|
hugo new site blog_name 将创建一个名为 blog_name 的新文件夹,并初始化 Hugo 站点的基本模板。
cd blog_name 将你的当前目录更改为新创建的 blog_name 文件夹。本教程中所有后续命令都将在此目录中运行,除非另有说明。
3. 启动 Hugo 服务器 (现在可选,但建议测试)
要快速查看你的站点的基本版本,你可以启动 Hugo 开发服务器:
|
|
💡
-D标志包含草稿。我们将在稍后创建内容时讨论草稿。
此命令将启动本地开发服务器。默认情况下,它将在 http://localhost:1313/ 上可用。在你的 Web 浏览器中打开此地址以查看你的新 Hugo 站点。在没有主题的情况下,它将非常基础。按 Ctrl+C 在终端中停止服务器。
安装 Hugo 主题
Hugo 主题决定了你网站的外观和感觉。有许多免费和开源的主题可供选择。
-
浏览 Hugo 主题: 访问 https://themes.gohugo.io/ 并浏览可用的主题。找到一个你喜欢的主题。在本教程中,我们将使用流行的主题 Ananke。
-
将主题添加为 Git 子模块: 推荐的主题安装方式是使用 Git 子模块。在你的
blog_name目录中,运行以下命令,将your-chosen-theme-git-repo-url替换为你选择的主题的 Git 仓库 URL。 对于 Ananke 主题,使用以下命令:1 2git init # 如果你还没有初始化 git (hugo new site 应该已经完成了),则初始化 git git submodule add [https://github.com/theNewDynamic/gohugo-theme-ananke.git](https://www.google.com/search?q=https://github.com/theNewDynamic/gohugo-theme-ananke.git) themes/anankegit init初始化你的项目文件夹中的 Git 仓库 (如果尚未初始化)。hugo new site应该已经完成了此操作,但最好确保一下。git submodule add ... themes/ananke将 Ananke 主题仓库作为子模块添加到你的themes/ananke目录中。这使你的主题保持独立,并使更新更容易。
-
配置 Hugo 使用主题: 打开你
blog_name目录根目录下的hugo.toml文件。添加以下行,告诉 Hugo 使用 Ananke 主题:1theme = "ananke"如果你选择了其他主题,请将
"ananke"替换为你的主题目录的名称 (通常是主题名称)。 -
在本地测试主题: 再次启动 Hugo 服务器以查看应用新主题后的站点:
1hugo server -D刷新浏览器中的
http://localhost:1313/。你现在应该看到你的站点使用了 Ananke 主题 (或你选择的主题) 的样式。
创建你的第一篇文章
让我们创建一个示例博客文章。
-
创建一个新的内容文件: 使用
hugo new命令为你的文章创建一个新的 markdown 文件。 例如,要在posts部分中创建名为 “my-first-post.md” 的文章:1hugo new posts/my-first-post.md此命令将在
content/posts/my-first-post.md创建一个文件。 -
打开并编辑内容文件: 在你喜欢的文本编辑器中打开
content/posts/my-first-post.md。 你将在顶部看到一些 front matter,用---分隔符括起来:1 2 3 4 5--- title: "My First Post" date: 2025-02-07T15:55:52+08:00 draft: true ---title: 你的博客文章的标题。将"My First Post"更改为更具描述性的内容。date: 你的文章的日期。你可以修改它。draft: true: 这篇文章目前标记为草稿。 默认情况下,Hugo 不会发布草稿,除非你在生成站点时使用-D或--buildDrafts标志。
编辑 front matter 并在
---分隔符下方添加一些内容。例如:1 2 3 4 5 6 7 8 9 10 11 12 13--- title: "你好世界!我的第一篇 Hugo 文章" date: 2025-02-07T15:55:52+08:00 draft: false --- 欢迎来到我的 Hugo 博客! 这是我的第一篇文章。我很高兴开始使用 Hugo 写作博客并分享我的想法和经验。 你可以使用 Markdown 编写内容,Hugo 会将其转换为静态网站。 让我们在接下来的文章中探索更多功能!重要: 将
draft: true更改为draft: false以发布你的文章 (或者如果你不想发布,则保持true)。 -
在本地查看你的文章: 再次启动 Hugo 服务器:
1hugo server -D在浏览器中访问
http://localhost:1313/posts/my-first-post/。你应该看到你的第一篇博客文章了!
将站点推送到 Github
现在你已经有了一个基本的 Hugo 站点,让我们将其推送到 Github,以便可以使用 Cloudflare Pages 托管它。
-
初始化 Git 仓库 (如果尚未完成):
hugo new site应该会初始化一个 Git 仓库,但如果不是,请运行:1git init -
添加和提交你的文件:
1 2git add . git commit -m "feat: 初始提交,包含 Hugo 站点和 Ananke 主题" -
在 Github 上创建一个仓库:
- 访问 Github 并登录你的帐户。
- 点击右上角的 “+” 按钮,然后选择 “New repository”。
- 选择一个仓库名称 (例如
hugo-blog)。 - 根据需要选择 “Public” 或 “Private”。
- 你可以取消选中 “Initialize this repository with:” 选项。
- 点击 “Create repository”。
-
将本地仓库链接到你的 Github 仓库: 从你新创建的 Github 仓库页面复制仓库 URL。 它看起来像
https://github.com/your-username/hugo-blog.git。 然后,在你的终端中运行:1git remote add origin <你的-github-仓库-URL>将
<你的-github-仓库-URL>替换为你复制的 URL。 -
将你的本地仓库推送到 Github:
1git push -u origin main这将把你的 Hugo 站点文件推送到你的 Github 仓库。你可能会被提示登录你的 Github 帐户。
-
(可选) 创建一个
.gitignore文件: 为了防止不必要的文件被推送到你的仓库 (例如 Cloudflare Pages 将生成的public文件夹),在你的项目根目录中创建一个名为.gitignore的文件,并添加以下行:1 2public/ themes/*/resources/_gen/然后,提交此
.gitignore文件:1 2 3git add .gitignore git commit -m "chore: 添加 .gitignore 文件" git push origin main
使用 Cloudflare Pages 托管站点
Cloudflare Pages 是一项出色的服务,可以免费托管静态网站,并且与 Github 无缝集成。
-
注册 Cloudflare 并转到 Cloudflare Pages:
- 访问 Cloudflare 并注册一个免费帐户 (如果你还没有帐户)。
- 登录后,在 Cloudflare 仪表板中导航到 “Pages”。
-
创建一个新的 Cloudflare Pages 项目:
- 点击 “Create a new project” 按钮。
- 点击 “Connect to Git”。
-
连接到 Github 并授权 Cloudflare Pages:
- 选择 “Github” 作为 Git 提供商。
- 你可能会被要求授权 Cloudflare Pages 访问你的 Github 仓库。授予必要的权限。
- 选择你为 Hugo 博客创建的 Github 仓库 (例如
hugo-blog)。 - 点击 “Begin setup”。
-
配置构建设置:
- Framework preset: 选择 “Hugo”。
- Build command: 这应该会自动填充为
hugo。 如果没有,请输入hugo。 - Publish directory: 这应该会自动填充为
public。 如果没有,请输入public。 - Environment variables (可选): 对于基本的 Hugo 设置,你通常不需要设置环境变量。
- 点击 “Save and Deploy”。
-
等待部署: Cloudflare Pages 现在将自动从你的 Github 仓库构建和部署你的 Hugo 站点。此过程可能需要几分钟。你可以在 Cloudflare Pages 仪表板中监控构建进度。
-
访问你的站点: 部署完成后,Cloudflare Pages 将为你提供一个
*.pages.dev子域名,你的站点将在该子域名上生效。 你可以在 Cloudflare Pages 仪表板的项目概览中找到此 URL。 点击它以访问你的实时 Hugo 博客! -
(可选) 设置自定义域名: 要使用你自己的域名 (例如
www.your-blog.com):- 在你的 Cloudflare Pages 项目仪表板中,转到 “Custom domains”。
- 输入你的自定义域名。
- Cloudflare 将提供有关如何更新你的域名注册商处的 DNS 记录以指向 Cloudflare 的说明。 请按照这些说明操作。
- DNS 传播完成后 (这可能需要一些时间),你的 Hugo 博客将可以通过你的自定义域名访问。 Cloudflare Pages 还会自动处理你的自定义域名的 SSL 证书。