开发
简介
您可以通过以下方式为 Hugo 项目做出贡献
请将文档问题和拉取请求提交到文档存储库。
如果您有增强或新功能的想法,请在论坛的“功能”类别中创建一个新主题。这将帮助您
- 确定该功能是否已存在
- 衡量兴趣
- 完善概念
如果兴趣足够,创建提案。在项目负责人接受提案之前,请勿提交拉取请求。
有关为 Hugo 做出贡献的完整指南,请参阅贡献指南。
先决条件
要从源代码构建扩展版或扩展/部署版,您必须
GitHub 工作流程
使用此工作流程创建并提交拉取请求。
- 步骤 1
- Fork 项目存储库。
- 步骤 2
- 克隆您的 Fork。
- 步骤 3
- 创建一个新分支,其描述性名称包含相应的问题编号。
对于新功能
git checkout -b feat/implement-some-feature-99999
对于 Bug 修复
git checkout -b fix/fix-some-bug-99999
- 步骤 4
- 进行更改。
- 步骤 5
- 编译并安装。
要编译和安装标准版
go install
要编译和安装扩展版
CGO_ENABLED=1 go install -tags extended
要编译和安装扩展/部署版
CGO_ENABLED=1 go install -tags extended,withdeploy
- 步骤 6
- 测试您的更改
go test ./...
- 步骤 7
- 使用描述性提交消息提交您的更改
- 在第一行提供摘要,通常为 50 个字符或更少,后跟一个空行。
- (可选)提供详细描述,其中每行不超过 80 个字符,后跟一个空行。
- 添加一个或多个“Fixes”或“Closes”关键字,每个关键字位于其自己的行上,引用此更改解决的问题。
例如
git commit -m "tpl/strings: Create wrap function
The strings.Wrap function wraps a string into one or more lines,
splitting the string after the given number of characters, but not
splitting in the middle of a word.
Fixes #99998
Closes #99999"
有关详细信息,请参阅提交消息指南。
- 步骤 8
- 将新分支推送到文档存储库的 Fork。
- 步骤 9
- 访问项目存储库并创建拉取请求 (PR)。
- 步骤 10
- 项目维护人员将审查您的 PR,并可能会请求更改。在维护人员合并您的 PR 后,您可以删除您的分支。
从源代码构建
您可以在其开发历史中的任何时间点构建、安装和测试 Hugo。下面的示例构建并安装了 Hugo 的扩展版本。
要构建和安装最新版本
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest
要构建和安装特定版本
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@v0.141.0
要在 master 分支上的最新提交时构建和安装
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@master
要在特定提交时构建和安装
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@0851c17