貢獻

嗨!有興趣為 Jekyll 貢獻一己之力嗎?我們非常歡迎你的協助。Jekyll 是個開放原始碼專案,由像你這樣的使用者一次一個貢獻所建構而成。

取得協助或回報問題的方法

請參閱 支援指南

貢獻方式

無論你是開發人員、設計師,還是 Jekyll 愛好者,都有許多方式可以貢獻。以下提供幾個點子

  • 在你的電腦上安裝 Jekyll 並試用看看。它能正常運作嗎?它能符合你的預期嗎?如果不行,請 開啟一個議題 並讓我們知道。
  • 針對專案的某些 公開問題 提出意見。您是否曾遇到相同的問題?知道解決方法嗎?您對如何改善功能有任何建議嗎?
  • 閱讀 文件,並在您看到任何令人困惑的地方,或對可以改進的地方有任何建議時,按一下「改善此頁面」按鈕。
  • 瀏覽 Jekyll 討論論壇,並協助回答問題。您很有可能已經體驗過其他使用者所體驗過的事情。
  • 尋找一個 公開問題(特別是 標記為 help-wanted 的問題),並提交建議的修正。如果是您第一次發出 pull request,我們保證不會批評,而且很樂意回答任何問題。
  • 協助評估 公開 pull request,方法是測試本機變更並檢閱建議的內容。

提交 pull request

一般 pull request

  • 建議的變更越小越好。如果您想要建議兩個不相關的變更,請提交兩個 pull request。

  • 資訊越多越好。明智地使用 pull request 主體。說明已做哪些變更、為什麼做這些變更,以及這些變更對使用者會產生什麼影響。

  • 如果是您第一次發出 pull request,了解 GitHub 流程 可能會有幫助。

  • 如果您要提交程式碼貢獻,請務必閱讀以下 程式碼貢獻 部分。

透過 github.com 提交 pull request

許多小變更完全可以透過 github.com 網路介面進行。

  1. jekyll/jekyll 中瀏覽到您想要編輯的檔案。
  2. 按一下右上角的鉛筆圖示以編輯檔案
  3. 進行您建議的變更
  4. 按一下「建議檔案變更」
  5. 按一下「建立拉取請求」
  6. 為您建議的變更新增描述性標題和詳細說明。資訊越多越好。
  7. 按一下「建立拉取請求」

這樣就完成了!當其他人檢閱您建議的變更並提供意見回饋時,您會自動訂閱以接收更新。

透過 Git 命令列提交拉取請求

  1. 按一下 jekyll/jekyll 右上角的「分岔」以分岔專案。
  2. 在本地複製儲存庫 git clone https://github.com/<you-username>/jekyll
  3. 建立一個描述性名稱的新分支,以包含您的變更 ( git checkout -b my-awesome-feature )。
  4. 開始編寫,新增測試。順序不拘。
  5. 執行 script/cibuild 以確認一切正常 (請參閱下方的 測試區段)
  6. 推播分支 ( git push origin my-awesome-feature )。
  7. 前往 https://github.com/<your-username>/jekyll 並按照螢幕上方的說明建立拉取請求。

建議文件更新

我們希望 Jekyll 文件能達到最佳狀態。我們已開放文件原始碼,如果您發現文件有不足之處,歡迎您提出拉取請求。

如何提交變更

您可以在 文件 目錄中找到 jekyllrb.com 的文件。請參閱上方的區段 提交拉取請求,以取得如何建議變更的資訊。

一個小秘訣,所有拉取請求都應導向 master 分支(預設分支)。

更新 jekyllrb.com 的 FontAwesome 圖示集

我們使用 FontAwesome 的自訂版本,其中僅包含我們使用的圖示。

如果您需要使用我們自訂圖示集中尚未提供的圖示來更新我們的文件,您必須使用 Icomoon 的產生器重新產生圖示集

  1. 前往 https://icomoon.io/app/
  2. 按一下頂端橫條上的 匯入圖示 並上傳現有的 <jekyll>/docs/icomoon-selection.json
  3. 按一下頁面下方進一步的 從圖書館新增圖示.. 並新增「Font Awesome」。
  4. 從圖書館中選取所需的圖示(請確定是「FontAwesome」圖書館,而不是「IcoMoon-Free」圖書館)。
  5. 按一下底端橫條上的 產生字型
  6. 檢查包含的圖示,並按一下 下載 繼續。
  7. 解壓縮字型檔案,並調整 CSS 以符合我們在 Jekyll 中使用的路徑
  • 複製整個 fonts 目錄,並覆寫 <jekyll>/docs/ 中現有的目錄。
  • 複製 selection.json 的內容,並覆寫 <jekyll>/docs/icomoon-selection.json 中現有的內容。
  • 複製整個 @font-face {} 宣告,以及僅在下方的新圖示 CSS 宣告,以更新 <jekyll>/docs/_sass/_font-awesome.scss sass 部分。
  • @font-face {} 宣告中修正路徑,方法是在 fonts/FontAwesome.* 之前加上 ../,如下所示:('../fonts/Fontawesome.woff?9h6hxj')

新增外掛程式

如果您想將外掛程式新增至外掛程式清單,請提交一個拉取請求,修改外掛程式頁面原始檔,並在適當的子標題下新增一個連結至您的外掛程式。

程式碼貢獻

有興趣提交拉取請求嗎?太棒了。請繼續閱讀。有一些常見的陷阱,我們很樂意協助您避免。

測試和文件

每次您提出程式碼變更時,您也應該在同一個拉取請求中包含文件和測試的更新。

文件

如果您的貢獻變更了任何 Jekyll 行為,請務必更新文件。文件位於docs/_docs資料夾中(爆雷提示:它是一個 Jekyll 網站!)。如果文件中缺少資訊,請隨時新增。好的文件會讓專案更棒。在您的拉取請求中包含文件變更,一旦合併,jekyllrb.com就會更新。

測試

  • 如果您正在為現有功能建立一個小修正或補丁,一個簡單的測試就綽綽有餘了。您通常可以從tests資料夾中現有的範例複製/貼上,但如果您需要,您可以瞭解我們的測試套件ShouldaRSpec-Mocks

  • 如果它是一個全新的功能,請建立一個新的Cucumber功能,適當地重複使用現有的步驟。

一般程式碼貢獻

  • Jekyll 使用 Rubocop 靜態分析器,以確保貢獻遵循 GitHub Ruby Styleguide。請使用 script/fmt 檢查您的程式碼,並在推入您的分支之前解決任何錯誤。

  • 不要在您的拉取請求中升級 Gem 版本(如果您不知道這表示什麼,您可能沒有升級)。

  • 您可以使用命令 script/console 來啟動 REPL,以探索 Jekyll 方法的結果。它還為您提供了快速建立網站或設定檔的實用方法。 歡迎查看!

  • 以前,我們使用 WIP Probot 應用程式來協助貢獻者確定他們的拉取請求是否已準備好進行審查。請改用 草稿拉取請求。準備好後,將拉取請求標記為準備好進行審查

在本地執行測試

測試相依性

若要執行測試套件和建立 gem,您需要透過執行下列命令來安裝 Jekyll 的相依性

script/bootstrap

在進行任何變更之前,請執行測試並確保它們通過(以確認您的環境已正確設定)

script/cibuild

如果您只更新 test/ 中的檔案,您可以使用命令

script/test test/blah_test.rb

如果您只更新 .feature 檔案,您可以使用命令

script/cucumber features/blah.feature

script/testscript/cucumber 都可以在沒有引數的情況下執行,以執行其各自的完整套件。

Visual Studio Code 開發容器

如果您已安裝 Visual Studio Code遠端開發擴充功能套件,那麼只要在 Visual Studio Code 中開啟此存放庫,並依照提示「在開發容器中重新開啟」,即可設定並準備好一個已安裝所有需求的新環境。

感謝

謝謝!駭入 Jekyll 應該很有趣。如果您發現任何難以理解的地方,請告訴我們,以便我們改善流程或文件!