我們歡迎您加入 Hexo 的開發。🤗
開發
我們歡迎您加入 Hexo 的開發。此文件將協助您完成整個流程。
開始之前
請先閱讀 貢獻者公約行為準則。
請遵循程式碼風格
- 遵循 Google JavaScript 風格指南。
- 使用兩個空格縮排的軟 Tab。
- 不要將逗號放在前面。
此外,Hexo 有自己的 ESLint 設定,因此請確保您的貢獻能讓 ESLint 滿意。
工作流程
- Fork hexojs/hexo。
- 將儲存庫複製到您的電腦並安裝相依性。
$ git clone https://github.com/<username>/hexo.git |
- 建立一個功能分支。
$ git checkout -b new_feature |
- 開始開發。
- 推送分支
$ git push origin new_feature |
- 建立一個 Pull Request 並描述變更。
注意事項
- 請勿修改
package.json
中的版本號碼。 - 只有在測試通過時,您的 Pull Request 才會被合併。請不要忘記在提交之前執行測試。
$ npm test |
更新官方外掛
此外,我們也歡迎針對 official-plugins 的 PR 或 issue。🤗
更新文件
Hexo 文件是開源的,您可以在 hexojs/site 上找到原始碼。
工作流程
- Fork hexojs/site
- 將儲存庫複製到您的電腦並安裝相依性。
$ npm install hexo-cli -g # If you don't have hexo-cli installed |
- 開始編輯文件。您可以啟動伺服器以進行即時預覽。
$ hexo server |
- 推送分支。
- 建立一個 Pull Request 並描述變更。
翻譯
貢獻翻譯
現在我們使用 Crowdin 平台進行翻譯,任何人都可以貢獻翻譯並投票,而無需手動 Git 操作。
新增語言
- 提交一個新的 issue 來通知我們。有權存取 Crowdin 專案的成員會在設定中新增語言。
- 在 Crowdin 中新增語言後,任何人都可以貢獻翻譯。
- 將新語言新增至
source/_data/language.yml
。 - 在
themes/navy/languages
中複製en.yml
並將其重新命名為語言名稱(全部小寫)。
回報問題
當您在使用 Hexo 時遇到問題,您可以在疑難排解中找到解決方案,或在 GitHub 或 Google Group 上詢問我。如果您找不到答案,請在 GitHub 上回報。
- 以 除錯模式呈現問題。
- 在 GitHub 上提交新的 issue 時,請按照 issue 範本中的步驟提供除錯訊息和版本。