开发
简介
您可以通过以下方式为 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/[email protected]
要构建和安装主分支上的最新提交:
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@master
要构建和安装特定提交:
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@0851c17