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