HUGO
Menu
GitHub 87548 stars Mastodon

Hugo 开发

为 Hugo 的开发做出贡献。

介绍

你可以通过以下方式参与 Hugo 项目:

请将文档问题与拉取请求提交到 documentation repository

如果你有任何增强或新功能的想法,在 forum 的"Feature"类别中创建一个新主题。这将帮助你:

  • 确定功能是否已存在
  • 衡量兴趣
  • 完善概念

如果有足够的兴趣,create a proposal。在项目负责人接受提案之前,不要提交拉取请求。

有关贡献 Hugo 的完整指南,请参阅 Contribution Guide

先决条件

要从源代码构建 extended 或 extended/deploy 版本,你必须:

  1. 安装 Git
  2. 安装 Go 1.24.0 或更高版本
  3. 安装 C 编译器,GCCClang
  4. 按照 Go documentation 中的描述更新 PATH 环境变量

请参阅这些 detailed instructions 了解如何在 Windows 上安装 GCC。

GitHub 工作流

本节假设你对 Go、Git 和 GitHub 有工作知识,并且对命令行操作感到舒适。

使用此工作流创建和提交拉取请求。

步骤 1
Fork project repository
步骤 2
克隆你的 fork。
步骤 3
创建一个带有描述性名称的新分支,包括相应的问题编号。

对于新功能:

git checkout -b feat/implement-some-feature-99999

对于 bug 修复:

git checkout -b fix/fix-some-bug-99999
步骤 4
进行更改。
步骤 5
编译和安装。

编译和安装标准版本:

go install

编译和安装 extended 版本:

CGO_ENABLED=1 go install -tags extended

编译和安装 extended/deploy 版本:

CGO_ENABLED=1 go install -tags extended,withdeploy
步骤 6
测试你的更改:
go test ./...
步骤 7
使用描述性的提交消息提交你的更改:
  • 在第一行提供一个摘要,通常为 50 个字符或更少,后跟一个空行。
    • 以包名开始摘要,后跟冒号、空格和以大写字母开头的更改的简要描述
    • 使用命令式现在时
    • 请参阅 commit message guidelines 了解要求
  • 可选择提供详细描述,每行 72 个字符或更少,后跟一个空行。
  • 添加一个或多个"Fixes"或"Closes"关键字,每个关键字单独一行,引用此更改解决的 issues

例如:

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
访问 project repository 并创建拉取请求 (PR)。
步骤 10
项目维护者将审查你的 PR 并可能请求更改。你可以在维护者合并你的 PR 后删除你的分支。

从源代码构建

你可以在 Hugo 开发的任何阶段构建、安装和测试 Hugo。下面的示例构建和安装 Hugo 的 extended 版本。

构建和安装最新版本:

CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest

构建和安装特定版本:

CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@v0.155.3

在 master 分支上构建和安装最新提交:

CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@master

在特定提交上构建和安装:

CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@c0d9beb

Last updated: January 1, 0001
Improve this page