<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Devops on Orangex-position0的技术博客</title><link>https://Orangex-position0.github.io/tags/devops/</link><description>Recent content in Devops on Orangex-position0的技术博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 18 Mar 2026 22:30:00 +0800</lastBuildDate><atom:link href="https://Orangex-position0.github.io/tags/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>Hugo 结合 Github Pages，部署你自己的静态博客</title><link>https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/</link><pubDate>Wed, 18 Mar 2026 22:30:00 +0800</pubDate><guid>https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/</guid><description>&lt;h2 id="-读前概览"&gt;&lt;a href="#-%e8%af%bb%e5%89%8d%e6%a6%82%e8%a7%88" class="header-anchor"&gt;&lt;/a&gt;📖 读前概览
&lt;/h2&gt;&lt;p&gt;🎯 读完本篇文章，你将获得：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何结合 Hugo 和 Github Pages，免费部署你自己的静态博客网站&lt;/li&gt;
&lt;li&gt;⏱️ &lt;strong&gt;预计阅读时间&lt;/strong&gt;：8 分钟&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisite前置"&gt;&lt;a href="#prerequisite%e5%89%8d%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;Prerequisite（前置）
&lt;/h2&gt;&lt;p&gt;你需要先下载 hugo 本地&lt;/p&gt;
&lt;h2 id="前言"&gt;&lt;a href="#%e5%89%8d%e8%a8%80" class="header-anchor"&gt;&lt;/a&gt;前言
&lt;/h2&gt;&lt;p&gt;Hugo 是一个基于 Go 语言的静态网站生成器，具有构建速度快、使用简单等特点。结合 GitHub Pages，我们可以免费部署一个美观的个人博客。本文将详细介绍从创建仓库到自动部署的完整流程。&lt;/p&gt;
&lt;h2 id="一创建-github-仓库"&gt;&lt;a href="#%e4%b8%80%e5%88%9b%e5%bb%ba-github-%e4%bb%93%e5%ba%93" class="header-anchor"&gt;&lt;/a&gt;一、创建 GitHub 仓库
&lt;/h2&gt;&lt;p&gt;首先，需要在 GitHub 上创建一个仓库来存放博客源码。&lt;/p&gt;
&lt;h3 id="仓库名称建议"&gt;&lt;a href="#%e4%bb%93%e5%ba%93%e5%90%8d%e7%a7%b0%e5%bb%ba%e8%ae%ae" class="header-anchor"&gt;&lt;/a&gt;仓库名称建议
&lt;/h3&gt;&lt;p&gt;推荐使用 &lt;code&gt;&amp;lt;username&amp;gt;.github.io&lt;/code&gt; 格式的仓库名，这样访问地址就是 &lt;code&gt;https://&amp;lt;username&amp;gt;.github.io/&lt;/code&gt;，更加简洁。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;例如：用户名是 &lt;code&gt;Claude&lt;/code&gt;，仓库名就是 &lt;code&gt;Claude.github.io&lt;/code&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="仓库设置"&gt;&lt;a href="#%e4%bb%93%e5%ba%93%e8%ae%be%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;仓库设置
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;仓库必须设置为 Public&lt;/strong&gt;，否则 GitHub Pages 无法正常访问。&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" class="gallery-image" data-flex-basis="423px" data-flex-grow="176" height="1026" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-1.png" srcset="https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-1_hu_afc6d449beb38022.png 800w, https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-1_hu_66eb1d0f826601b2.png 1600w, https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-1.png 1810w" width="1810"&gt;&lt;/p&gt;
&lt;h2 id="二配置-hugo-项目"&gt;&lt;a href="#%e4%ba%8c%e9%85%8d%e7%bd%ae-hugo-%e9%a1%b9%e7%9b%ae" class="header-anchor"&gt;&lt;/a&gt;二、配置 Hugo 项目
&lt;/h2&gt;&lt;h3 id="1-修改-baseurl"&gt;&lt;a href="#1-%e4%bf%ae%e6%94%b9-baseurl" class="header-anchor"&gt;&lt;/a&gt;1. 修改 baseURL
&lt;/h3&gt;&lt;p&gt;编辑 Hguo 项目根目录下的 &lt;code&gt;hugo.toml&lt;/code&gt; 文件，修改 &lt;code&gt;baseURL&lt;/code&gt; 为你的 GitHub Pages 地址：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;baseURL&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;https://&amp;lt;username&amp;gt;.github.io/&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-配置-gitignore"&gt;&lt;a href="#2-%e9%85%8d%e7%bd%ae-gitignore" class="header-anchor"&gt;&lt;/a&gt;2. 配置 .gitignore
&lt;/h3&gt;&lt;p&gt;在 Hugo 项目根目录创建 &lt;code&gt;.gitignore&lt;/code&gt; 文件（如果不存在），添加以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ==============================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Hugo 生成文件和缓存
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ==============================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 生成的静态网站目录
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;public/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Hugo 资源处理缓存（图片压缩、SCSS 编译等）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;resources/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Hugo 构建锁文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.hugo_build.lock
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ==============================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 操作系统和编辑器生成的文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ==============================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# macOS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.DS_Store
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.AppleDouble
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.LSOverride
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Windows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Thumbs.db
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ehthumbs.db
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Desktop.ini
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 编辑器
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.vscode/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.idea/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*.swp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*.swo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*.swn
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ==============================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 其他
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ==============================================================================
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*.log
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node_modules/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.env
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这些配置确保只上传源代码，而不上传生成的静态文件。&lt;/p&gt;
&lt;h2 id="三配置-github-actions-自动部署"&gt;&lt;a href="#%e4%b8%89%e9%85%8d%e7%bd%ae-github-actions-%e8%87%aa%e5%8a%a8%e9%83%a8%e7%bd%b2" class="header-anchor"&gt;&lt;/a&gt;三、配置 GitHub Actions 自动部署
&lt;/h2&gt;&lt;p&gt;GitHub Actions 可以在代码推送后自动构建和部署博客，无需手动操作。&lt;/p&gt;
&lt;h3 id="创建工作流文件"&gt;&lt;a href="#%e5%88%9b%e5%bb%ba%e5%b7%a5%e4%bd%9c%e6%b5%81%e6%96%87%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;创建工作流文件
&lt;/h3&gt;&lt;p&gt;在 Hugo 项目根目录创建 &lt;code&gt;.github/workflows/deploy.yml&lt;/code&gt; 文件，作为 Github Actions 的配置文件&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# Workflow 名称&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;deploy&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 触发条件：当代码 push 到 main 分支时执行&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;push&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;branches&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;main&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;jobs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;deploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 运行环境：GitHub 提供的 Ubuntu 虚拟机&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runs-on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ubuntu-latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 赋予 Action 向仓库写入内容的权限（用于推送 gh-pages 分支）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;permissions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;contents&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;write&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 1. 拉取仓库代码&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Checkout&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/checkout@v4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 如果主题使用 git submodule 引入，需要递归拉取&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;submodules&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;recursive&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 获取完整 git 历史（某些主题或插件需要）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;fetch-depth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 2. 安装 Hugo&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Setup Hugo&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;peaceiris/actions-hugo@v3&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 使用最新 Hugo 版本&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;hugo-version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 使用 extended 版本（支持 SCSS/SASS）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;extended&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 3. 构建 Hugo 网站&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Build&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# --gc 清理未使用缓存&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# --minify 压缩 HTML/CSS/JS，减少页面体积&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;hugo --gc --minify&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 4. 部署到 GitHub Pages&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Deploy&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;peaceiris/actions-gh-pages@v4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 使用 GitHub 自动提供的 token，无需手动创建&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;github_token&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ secrets.GITHUB_TOKEN }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 要发布的目录（Hugo 构建输出目录）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;publish_dir&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./public&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 发布到 gh-pages 分支（与源码 main 分离）&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;publish_branch&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;gh-pages&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 自动生成提交信息&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;commit_message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Deploy: ${{ github.sha }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="工作流说明"&gt;&lt;a href="#%e5%b7%a5%e4%bd%9c%e6%b5%81%e8%af%b4%e6%98%8e" class="header-anchor"&gt;&lt;/a&gt;工作流说明
&lt;/h3&gt;&lt;p&gt;这个配置文件做了以下几件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Checkout&lt;/strong&gt;: 拉取代码和主题子模块&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup Hugo&lt;/strong&gt;: 安装最新版本的 Hugo extended&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build&lt;/strong&gt;: 执行 &lt;code&gt;hugo --gc --minify&lt;/code&gt; 构建网站&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deploy&lt;/strong&gt;: 将 &lt;code&gt;public/&lt;/code&gt; 目录推送到 &lt;code&gt;gh-pages&lt;/code&gt; 分支&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="四启用-github-pages"&gt;&lt;a href="#%e5%9b%9b%e5%90%af%e7%94%a8-github-pages" class="header-anchor"&gt;&lt;/a&gt;四、启用 GitHub Pages
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;进入 GitHub 仓库的 &lt;strong&gt;Settings&lt;/strong&gt; 页面&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="alt text" class="gallery-image" data-flex-basis="553px" data-flex-grow="230" height="785" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-2.png" srcset="https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-2_hu_1ee0b280699e82c4.png 800w, https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-2_hu_cf588d9f864a31a8.png 1600w, https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-2.png 1812w" width="1812"&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;在左侧菜单找到 &lt;strong&gt;Pages&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;配置如下选项：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Source&lt;/strong&gt;: 选择 &lt;code&gt;Deploy from branch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Branch&lt;/strong&gt;: 选择 &lt;code&gt;gh-pages&lt;/code&gt; 分支&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;⚠️注意，若没有 gh-pages 分支，可能是 Github Actions 执行失败，导致没创建分支&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="alt text" class="gallery-image" data-flex-basis="353px" data-flex-grow="147" height="1244" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-3.png" srcset="https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-3_hu_57242802227dcba.png 800w, https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-3_hu_fccd480cb5f0e3d3.png 1600w, https://Orangex-position0.github.io/posts/blog/hugo-with-github-pages/Hugo-with-Github-Pages-3.png 1832w" width="1832"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;配置完成后，GitHub 会自动开始部署，几分钟后即可通过 &lt;code&gt;https://&amp;lt;username&amp;gt;.github.io/&lt;/code&gt; 访问你的博客。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="五推送代码到-github"&gt;&lt;a href="#%e4%ba%94%e6%8e%a8%e9%80%81%e4%bb%a3%e7%a0%81%e5%88%b0-github" class="header-anchor"&gt;&lt;/a&gt;五、推送代码到 GitHub
&lt;/h2&gt;&lt;h3 id="首次推送"&gt;&lt;a href="#%e9%a6%96%e6%ac%a1%e6%8e%a8%e9%80%81" class="header-anchor"&gt;&lt;/a&gt;首次推送
&lt;/h3&gt;&lt;p&gt;第一次推送代码到 &lt;code&gt;main&lt;/code&gt; 分支时，GitHub Actions 会自动创建 &lt;code&gt;gh-pages&lt;/code&gt; 分支并完成部署。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 初始化 git 仓库（如果还没有）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 添加所有文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 提交&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Initial commit&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 添加远程仓库&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git remote add origin https://github.com/&amp;lt;username&amp;gt;/&amp;lt;username&amp;gt;.github.io.git
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 推送到 main 分支&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;️⚠️&lt;strong&gt;注意&lt;/strong&gt;：如果你本地的默认分支是 &lt;code&gt;master&lt;/code&gt;，需要先改为 &lt;code&gt;main&lt;/code&gt; 分支，因为 GitHub Actions 配置文件中指定的分支是 &lt;code&gt;main&lt;/code&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 重命名 master 为 main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git branch -M main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="分支说明"&gt;&lt;a href="#%e5%88%86%e6%94%af%e8%af%b4%e6%98%8e" class="header-anchor"&gt;&lt;/a&gt;分支说明
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;main 分支&lt;/strong&gt;：存放纯净的 Markdown 源码和配置文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;gh-pages 分支&lt;/strong&gt;：存放生成的 HTML 静态文件（由 Actions 自动维护）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="六日常写作与发布"&gt;&lt;a href="#%e5%85%ad%e6%97%a5%e5%b8%b8%e5%86%99%e4%bd%9c%e4%b8%8e%e5%8f%91%e5%b8%83" class="header-anchor"&gt;&lt;/a&gt;六、日常写作与发布
&lt;/h2&gt;&lt;h3 id="创建新文章"&gt;&lt;a href="#%e5%88%9b%e5%bb%ba%e6%96%b0%e6%96%87%e7%ab%a0" class="header-anchor"&gt;&lt;/a&gt;创建新文章
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 使用 Hugo 命令创建新文章&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo new posts/my-new-post.md
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或在分类目录下创建&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo new posts/category/article-name.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="发布流程"&gt;&lt;a href="#%e5%8f%91%e5%b8%83%e6%b5%81%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;发布流程
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;在本地编写文章（Markdown 格式）&lt;/li&gt;
&lt;li&gt;修改文章的 front matter，将 &lt;code&gt;draft = true&lt;/code&gt; 改为 &lt;code&gt;draft = false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;提交并推送到 GitHub：
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git commit -m &lt;span class="s2"&gt;&amp;#34;Add new post&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;GitHub Actions 自动构建并部署&lt;/li&gt;
&lt;li&gt;几分钟后访问你的博客，新文章已上线&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="七总结"&gt;&lt;a href="#%e4%b8%83%e6%80%bb%e7%bb%93" class="header-anchor"&gt;&lt;/a&gt;七、总结
&lt;/h2&gt;&lt;p&gt;通过 Hugo + GitHub Pages 的组合，我们可以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;零成本&lt;/strong&gt;：完全免费托管&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动化&lt;/strong&gt;：推送即发布，无需手动构建&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高性能&lt;/strong&gt;：Hugo 构建速度极快，生成的页面轻量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;版本控制&lt;/strong&gt;：所有文章都在 Git 中管理，永不丢失&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自定义主题&lt;/strong&gt;：丰富的 Hugo 主题生态&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;快快尝试搭建你的个人博客吧！&lt;/p&gt;
&lt;h2 id="参考资料"&gt;&lt;a href="#%e5%8f%82%e8%80%83%e8%b5%84%e6%96%99" class="header-anchor"&gt;&lt;/a&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://gohugo.io/" target="_blank" rel="noopener"
 &gt;Hugo 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pages.github.com/" target="_blank" rel="noopener"
 &gt;GitHub Pages 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener"
 &gt;Stack 主题&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>