贡献博客指引
2026年8月16日·
·
1 分钟阅读时长
mkaaad
写一篇文章只需要一个 Markdown 文件,剩下的自动化和部署都交给 CI。
文章放在哪里
每篇文章是一个目录:
content/blog/<文章英文短名>/index.md
目录名建议用英文小写和短横线,比如 content/blog/contribution-guide/index.md。这样文章地址就是 /blog/contribution-guide/。
必填 front matter
文件开头必须用 --- 包裹一段 YAML,包含以下字段:
---
title: "文章标题"
summary: "一句话简介,会显示在博客卡片和分享描述里。"
tags:
- 指南
authors:
- 你的GitHub用户名
---
title:文章标题summary:一句话简介authors:你的 GitHub 用户名(不是昵称)tags:可选,一个或多个标签date:可选,不用写。CI 会自动按文章首次提交时间填写,并用于排序和显示
正文怎么写
正文用 Markdown,直接跟在 front matter 后面。建议:
- 标题从
##开始,#留给页面大标题 - 代码块写清楚语言,比如
```yaml - 图片可以放在文章目录里,用相对路径引用,比如

作者档案自动生成
如果 authors 里填的用户名还没有档案(data/authors/<用户名>.yaml),CI 会:
- 从 GitHub 抓取你的名字、简介和主页
- 自动创建
data/authors/<用户名>.yaml和头像 - 已存在的档案不会被覆盖,你手动维护的内容始终保留
想自定义档案(职务、社交链接、个人简介),见《作者如何维护自己的档案》。
怎么提交
两种方式任选:
- GitHub 网页直接写:在仓库里进入
content/blog/,点 “Add file” 新建目录和index.md,写完在下方 “Commit changes” 里选择创建一个新分支,再点 “Compare & pull request” 发起 Pull Request。 - 本地提交:clone 仓库,新建分支写文章,提交推送到远程,然后在 GitHub 上发起 Pull Request。
PR 提交后 CI 会自动校验:缺少必填字段会报错并阻止合并。合并到 main 后网站自动重新部署,文章就上线了。
日志栏自动记录
如果这次改动希望自动记录到日志栏(修复日志、公告等),请在 PR 上打上 log 标签。PR 合并进 main 后,CI 会自动:
- 用 PR 标题生成日志标题
- 用 PR 描述的第一段生成日志摘要
- 生成
content/log/pr-<编号>/index.md并推回仓库,站点随即重新部署
不需要记录到日志栏的 PR 不用打标签。
本地预览
在仓库根目录运行:
hugo server
然后打开 http://localhost:1313/ 即可预览。写完记得确认:
- 地址能正常访问
- 文章卡片上的标题、简介、作者显示正常
- 作者头像和档案链接正确
