Hugo 发文 → 本地预览 → 提交到 GitHub 的完整流程。
一、基础配置(仅需做一次)
1. 本地 Hugo 环境确认
在 D:\hugo\blog 目录下打开 PowerShell,执行:
# 确认 Hugo 版本
hugo version
# 确认 Git 状态
git status
- 看到版本号说明 Hugo 正常
- 看到
On branch main说明 Git 已初始化并关联远程仓库
二、完整发文流程(日常重复用)
步骤 1:新建文章
# 新建文章(自动生成 .md 文件,默认 draft=true)
hugo new content/posts/2026-05-28-我的新文章.md
文件路径:content/posts/2026-05-28-我的新文章.md
步骤 2:编辑文章内容
打开 .md 文件,做两件事:
- 写正文(Markdown 格式)
- 修改文章配置(关键)
--- title: "我的新文章" # 文章标题 date: 2026-05-28T10:00:00+08:00 # 发布日期(建议用当天) draft: false # ✅ 必须改成 false,否则不会被构建 --- 这里写正文内容...
步骤 3:本地预览(确保效果正确)
# 启动本地服务器,预览文章
hugo server -D
- 打开浏览器访问
http://localhost:1313 - 检查文章排版、样式、链接是否正常
- 预览无误后,按
Ctrl + C关闭服务器
步骤 4:构建静态文件(生产环境)
# 构建压缩后的静态文件到 public/ 目录
hugo --minify
- 此步骤会自动忽略
draft=true的文章,只构建正式内容 - 生成的
public/目录就是可以直接部署的静态网站
步骤 5:提交并推送到 GitHub
# 1. 添加所有修改到暂存区
git add .
# 2. 提交修改(写清楚提交说明)
git commit -m "post: 发布《我的新文章》"
# 3. 推送到 GitHub
git push
- 如果你配置了 Cloudflare Pages,推送后会自动触发构建,几分钟后网站就会更新
三、高频场景补充说明
场景1:临时预览草稿文章
如果你不想把文章改成 draft=false,只想本地预览:
# 包含草稿文章的本地预览
hugo server -D
⚠️ 注意:生产构建(hugo --minify)时,draft=true 的文章会被忽略,所以发布前一定要改 draft=false。
场景2:更新已有文章
# 1. 直接修改已有的 .md 文件
# 2. 本地预览
hugo server
# 3. 构建
hugo --minify
# 4. 提交推送
git add .
git commit -m "update: 修改《我的新文章》正文"
git push
场景3:解决常见报错
- 文章不显示:检查
draft=false、date不是未来时间 - 构建失败:检查文章 Markdown 语法,是否有未闭合的标签
- Git 提交报错:使用
git commit -m "说明"命令行提交,避免 Vim 界面
四、一键脚本(Windows 专属,懒人必备)
把下面的内容复制到 D:\hugo\blog 目录,保存为 deploy.ps1:
param(
[string]$message = "update: site content"
)
Write-Host "=== 1. 构建静态文件 ==="
hugo --minify
Write-Host "=== 2. 添加所有修改 ==="
git add .
Write-Host "=== 3. 提交修改 ==="
git commit -m $message
Write-Host "=== 4. 推送到 GitHub ==="
git push
Write-Host "✅ 部署完成!"
以后发文只需执行:
.\deploy.ps1 -message "post: 发布《我的新文章》"
一条命令完成构建、提交、推送全流程。