黑人生命也是命

貢獻

有許多 Grunt 專案。

此外,每個個別的 grunt-contrib 外掛程式都是一個獨立的儲存庫,列於 gruntjs 組織首頁 上。每個儲存庫都有自己的維護人員,您可以透過查看最近的提交和推播輕鬆找到維護人員。只要在您有興趣的儲存庫中建立一個問題,然後 @提及 一位維護人員即可開始。

貢獻者授權協議

除了提供支援給其他使用者之外,大多數形式的貢獻都需要您簽署並提交一份與 jQuery 基金會的貢獻者授權協議(簡稱「CLA」)。

總而言之,CLA 聲明當您捐贈修正或文件時,您同時擁有您提交的程式碼,而 jQuery 基金會可以進一步將該程式碼授權給其他人。

提交 CLA 是單次行為,一旦完成,您就可以開始為所有 jQuery 基金會專案做出貢獻!不過,為了有效,您需要稍微了解貢獻者和提交者如何協調工作,因此參與並提出問題應該是您的第一步。

有關 CLA 的更多資訊,請閱讀 Alex Russell 的為什麼我需要簽署這個?

想貢獻嗎?

如果您想貢獻,但不知道從何開始,這適合您。下方連結的問題標示為需要 PR,這表示它們需要一個拉取請求才能修復。選擇其中任何一個問題,並在您正在處理它們時務必留言。

發布新版本

若要發布 grunt-contrib-* 外掛的新版本,請遵循下列步驟

  • 查看外掛 GitHub 頁面,確認通過 Travis CI。
  • cd 進入外掛目錄。
  • git pullmaster 分支拉取最新變更。
  • rm -rf node_modules 移掉過時或舊的 node 模組。
  • npm install 取得 node 模組的最新版本。
  • 執行 npm test 並確認所有測試在本地通過。
  • package.json 中調整版本。
  • 更新 CHANGELOG.md
  • 在外掛目錄中執行 grunt。這會產生新的 README。
  • 提交變更記錄、package.json 和 README。
  • 為新版本建立新的 git 標籤。使用下列格式作為標籤:vX.Y.Z。(例如 v0.1.13
  • 將變更推送到 master,將標籤推送到外掛儲存庫。
  • 發布到 npm:npm publish .。如果您無法使用 npm publish,請請核心貢獻者之一為您發布。

非程式碼貢獻

如果您不喜歡寫程式碼,您仍然可以為專案做出貢獻!

  • 您可以提交更新和改進至 文件
  • 提交文章和指南,它們也是 文件 的一部分。
  • 透過在 StackOverflowIRCGitHub 上回答問題,協助 Grunt 使用者。

提交問題

如果某些事項不如您預期般運作,請閱讀 文件,特別是 入門 指南。如果您想與人聊天,進入 IRC discussing-grunt 並在那裡提出您的問題。

如果您有一個文件未涵蓋的問題,或想回報錯誤,確保問題獲得處理的最佳方式是在適當的問題追蹤器中提交問題。

  • 如果 grunt、grunt-init、grunt-lib-??? 模組或特定 grunt-contrib-??? 外掛出現問題
    • 請在該專案的議題追蹤器中提出議題。
  • 如果您想貢獻新的外掛模組
  • 如果 網站 有問題
  • 如果問題不屬於上述任何一項

簡化問題

嘗試將 您的程式碼簡化到重現問題所需的最低限度。這使得隔離和修復問題變得更容易(也更快)。

說明問題

如果我們無法重現問題,我們就無法修復它。請列出重現問題所需的確切步驟。包含您的作業系統、Node.js、grunt 等版本。包含相關日誌或範例程式碼。

討論 grunt

加入 freenode: IRC #grunt 頻道進行一般討論,或 #grunt-dev 進行核心和外掛模組開發討論。我們有一個機器人,應有盡有。

請勿傳送私人訊息。

修改 grunt

首先,請確保您已安裝最新的 Node.jsnpm

  1. 確保已安裝 grunt-cli(請參閱 入門 指南以取得更多資訊)
  2. 分岔並複製儲存庫。
  3. 檢出 master 分支(大部分 grunt/grunt-contrib 開發都在那裡進行)。
  4. 執行 npm install 以安裝所有 Grunt 相依性。
  5. 執行 npm uninstall grunt,這將移除 node_modules 中多餘的 Grunt,請參閱 npm 議題 3958
  6. 執行 grunt 以 Grunt grunt。

假設您沒有看到任何紅色,您就可以開始了。只要確保在進行任何變更後執行 grunt,以確保沒有任何問題。

提交 pull request

  1. 請建立一個新的分支,請勿直接在master中作業。
  2. 針對您想做的變更,新增失敗的測試。執行grunt以查看測試失敗。
  3. 修復問題。
  4. 執行grunt以查看測試是否通過。重複步驟 2-4,直到完成。
  5. 更新文件以反映任何變更。
  6. 推送到您的 fork 並提交 pull 要求。

語法

  • 兩個空格縮排。請勿在任何地方使用 tab。如果您需要在字串中使用 tab 字元,請使用\t
  • 沒有尾隨空白,markdown 檔案中強制換行除外。
  • 請勿過度使用空白。
  • 每個var陳述式中最多只能有一個指定
  • 使用單引號'界定字串,而非雙引號"
  • 優先使用ifelse,而非「聰明」使用? :條件式或||&&邏輯運算子。
  • 註解很棒。請將它們放在程式碼行之前而非行尾。
  • 如有疑問,請遵循您在來源中看到的慣例。

README

所有 grunt-contrib-* 外掛程式都使用grunt-contrib-internal建構README.mdCONTRIBUTING.md檔案。來源檔案位於對應的docs/資料夾中。README 中的變更記錄會從CHANGELOG檔案產生。

當提交對 README 檔案的變更時,請直接編輯來源檔案,而非 README 本身。