投稿指南
在开始之前,Halo CMS 知识库全体维护者诚挚欢迎你加入。正是因为有无数位和你一样的贡献者,我们才能持续打造“Make Halo CMS Great Again”的内容体验。该页面参考社区优秀做法,系统介绍如何为本项目撰稿或修订文章,请务必在动笔前通读一遍,以帮助你提交更高质量的内容。
快速投稿
可以直接发原文链接在 issue 投稿,然后项目志愿者会帮忙加入知识库。
贡献指南
在动手编辑前,请先阅读下列资料,便于与社区保持一致:
参与协作
温馨提示
开始编写前,请先浏览 Issues 列表,确认没有人正在处理同一主题;若确认空闲,请开一个新议题记录计划和范围,便于协作。
小建议
Issues 中的迭代计划与 Todo 标签聚合了大量待办工作,是了解项目节奏、挑选任务的绝佳入口。
为了保证稿件的专业性与准确性,请在编辑前思考以下几点:
- 优先选择熟悉的领域:围绕自身的技术背景或运营经验撰写,更容易输出高价值内容。
- 谨慎进入全新主题:如果你对某个话题仍在入门,请先阅读/实践,确保理解后再撰稿。
- 查阅权威资料:引用外部观点时请附上来源链接,必要时可在
Frontmatter的references字段列出参考资料。
我们珍惜每位贡献者的热情,也理解大家的经验各不相同。让我们携手维护一个准确、友好的知识空间。引用维基百科的一句话:
不要害怕编辑,勇于更新页面!
快速上手
- 安装依赖:
pnpm install - 启动文档站:
pnpm docs:dev - 构建产物:
pnpm docs:build - 预览产物:
pnpm docs:preview - 提交前执行:
pnpm format、pnpm lint
分类范围
- 插件开发技巧 · docs/posts/plugins/
- 主题开发技巧 · docs/posts/themes/
- 插件与主题协同技巧 · docs/posts/plugin-theme-synergy/
- 使用技巧 · docs/posts/usage/
- 其他实践 · docs/posts/misc/
新文章请直接放入对应目录下的 Markdown 文件:中文稿位于
docs/posts/<分类>/,若同步英文版本,请在docs/en/posts/<分类>/中使用相同文件名创建译文。
Frontmatter 模板
---
published: 2025-12-07T21:45:30Z
author:
- name: 投稿者 A
link: https://github.com/contributor-a
email: ""
- name: 投稿者 B
link: ""
email: contributor-b@example.com
references:
- name: 参考资料名称
link: https://example.com
archive:
ia: https://web.archive.org/web/20231207120000*/https://example.com
---字段说明:
published(必填):发布时间。author(必填):至少填写一位作者的name;link和email均可选。link:主要联系方式(个人网站、GitHub 主页等),若存在则优先使用。email:备选联系方式,仅在link为空或缺失时使用。若无邮箱可填空字符串''。- 渲染规则:若
link存在则链接至该地址,否则链接至email(格式为mailto:),两项都为空则不生成链接。
references(可选):引用资料列表;每项需要name、link与archive,若没有参考资料可省略整个字段。archive:备份信息。可以包含多个备份类型,如ia(Internet Archive)、wayback等,每个类型对应一个备份 URL。- 示例:
ia: https://web.archive.org/web/...或wayback: https://...
- 示例:
Frontmatter 必须位于 Markdown 文件最开头,并用一对
---包裹,中间填写上述字段;正文须以# 文章标题的一级标题开头。
在 GitHub 上编辑
参与 Halo CMS 知识库需要一个 GitHub 账号(可前往 注册页面)。即便你是新手,只要按以下步骤操作,也能顺利完成编辑。
小贴士
在你的更改合并前,线上站点不会受到影响;如果仍担心,可以参考 GitHub 官方教程。
编辑单个页面
- 在本站找到目标页面。
- 点击正文右上方的 「编辑此页」 按钮(确认你已阅读本页与格式约定),跳转到 GitHub 编辑器。
- 在编辑框内修改内容。请关闭浏览器自动翻译,避免误改文件名或 Frontmatter。
- 滚动至页面底部,按照下文的 commit 规范填写信息,点击 Propose changes 提交。
- GitHub 会自动 Fork 仓库并保存你的提交,随后点击绿色 Create pull request 按钮进入 PR 页面,按照“Pull Request 规范”填写说明后提交。
等待审核期间,你可以在他人 PR 下评论、点赞或补充建议;若有新消息,GitHub 会通过站内通知或邮件提醒。
编辑多个页面
- 打开 MHCGA/halo-cms-docs 仓库,按下 .(或把
github.com改为github.dev)进入网页版 VS Code。 - 在编辑器中修改多个文件,可使用右上角预览按钮(或 Ctrl + K、V)查看渲染效果。
- 修改完成后使用左侧 Source Control,按 commit 规范填写信息并提交。若提示创建分支,点击绿色 Fork Repository 按钮即可。
- 提交后顶部会弹出提示框,依次填写 PR 标题、目标分支,确认后即可生成 PR。
向 PR 追加更改
- 打开 Pull Request 列表,进入你提交的 PR。
- PR 标题下方会显示
<你的 GitHub ID> wants to merge ... from <你的分支名>,点击分支名即可跳转到个人 Fork。 - 根据需求继续编辑:
- 少量文件:在 GitHub 网页端直接修改并 Commit。
- 多文件:按 . 进入网页版 VS Code,再批量提交。
- 所有新增提交都会自动出现在原 PR 中,无需重新创建。
使用 Git 在本地编辑
建议
若对 Git/GitHub 仍不熟悉,优先使用上方的 Web 编辑器;本地流程适合需要 GPG 签名、批量脚本或复杂联调的场景。
大致步骤:
- Fork
MHCGA/halo-cms-docs至个人账号。 - 将 Fork 仓库克隆到本地:
git clone git@github.com:<you>/halo-cms-docs.git。 - 创建分支并完成修改,按规范填写 commit。
git push至个人 Fork,然后在 GitHub 上创建 PR。- 需要追加改动时,在本地继续提交并推送即可。
更多 Git 用法可参考社区教程。
在构建页面中预览
每个 PR 会自动触发 GitHub Actions 构建,用于保证 lint 与 build 通过。目前仓库未接入托管预览,请在本地 pnpm docs:dev 或 pnpm docs:preview 中自查排版与链接。
目录与链接调整
- 若必须变更已发布页面的路径,请同步更新任何手动引用的链接(如 README、相关文章)。
- 目前仓库不维护额外的重定向文件,若 url 变化会造成死链,请在 PR 描述中说明,便于管理员在部署端补充跳转。
Frontmatter 责任
建文稿时需在 Frontmatter 中维护 author、references 等字段:
- 若多人共同创作,请在
author列表中依次填写每位作者的name,link和email视情况添加。 - 页面会依据 Frontmatter 自动渲染文章开结尾的作者/参考资料信息,请保持内容一致、真实。
- 若文章引入外部素材,请在
references中列出名称、链接与 Internet Archive 保存链接;没有引用时可省略。 - 若修改了他人文章,请在 PR 描述中说明原作者,尊重署名。
Commit 信息规范
<类型>(<范围>): <一句话描述>推荐类型:
feat:新增内容或功能fix:修正文档/代码问题refactor:较大范围的结构调整docs:文档类补充或排版修复revert:回滚先前提交
Commit 摘要不超过 50 个字符;若需更多说明,可在正文补充。
Pull Request 信息规范
- 标题:
<类型>(<范围>): <改动概述> (#<issue 编号,可选>) - 描述:说明做了什么、为何修改,如解决了某个 issue,请附上
fix #123。 - 勾选模板:提交 PR 时请确认已阅读贡献指南与社区公约(遵循 Halo 社区守则)。
示例:
fix(posts/usage): 修复分阶段发布流程图 (#42)feat(posts/plugins): 新增热重载调试指南docs(contributing): 明确 commit 规范
协作流程
- PR 创建后,系统会自动通知 reviewer 并启动 CI。
- GitHub Actions 完成后,你可在 PR 底部查看状态与日志。
- Reviewer 会通过 Review 或评论提出建议;若标记为
changes requested,请按上述“追加更改”步骤更新。 - 至少两位 reviewer 通过后才能合并;若涉及重大改动,Maintainer 会再做一次终审。
- 合并进
main分支后,CI 会重新构建站点并同步至生产环境。
常见问题
- 如何寻找审稿人? 可在 PR 描述中 @ 常驻 reviewer,或在群聊/Issue 中请求分配。
- 其他语言版本何时同步? 中文稿合并后,可在
docs/en/等目录下创建翻译稿,并在 PR 中注明"翻译同步状态"。 - 需要配图或附件吗? 请将图片放在
public/或与文章同级的images/目录,并在 Markdown 中使用相对路径。