贡献

欢迎您加入 Hexo 的开发工作。🤗

开发

欢迎您加入 Hexo 的开发工作。本文档将帮助您完成整个流程。

开始之前

请先阅读 贡献者行为准则

请遵循编码风格

此外,Hexo 有自己的 ESLint 配置,因此请确保您的贡献能使 ESLint 满意。

工作流程

  1. Fork hexojs/hexo
  2. 将仓库克隆到您的计算机并安装依赖项。
$ git clone https://github.com/<username>/hexo.git
$ cd hexo
$ npm install
$ git submodule update --init
  1. 创建一个功能分支。
$ git checkout -b new_feature
  1. 开始编码。
  2. 推送分支
$ git push origin new_feature
  1. 创建一个拉取请求并描述更改。

注意事项

  • 请不要修改 package.json 中的版本号。
  • 只有在测试通过后,您的拉取请求才会被合并。在提交之前不要忘记运行测试。
$ npm test

更新官方插件

此外,我们也欢迎您对 official-plugins 提交 PR 或 Issue。🤗

更新文档

Hexo 文档是开源的,您可以在 hexojs/site 上找到源代码。

工作流程

  1. Fork hexojs/site
  2. 将仓库克隆到您的计算机并安装依赖项。
$ npm install hexo-cli -g # If you don't have hexo-cli installed
$ git clone https://github.com/<username>/site.git
$ cd site
$ npm install
  1. 开始编辑文档。您可以启动服务器进行实时预览。
$ hexo server
  1. 推送分支。
  2. 创建一个拉取请求并描述更改。

翻译

贡献翻译

Crowdin

我们现在使用 Crowdin 平台进行翻译,任何人都可以在不进行手动 Git 操作的情况下,贡献翻译和投票。

添加新语言

  1. 提交一个新的 Issue 通知我们。拥有 Crowdin 项目 访问权限的成员可以在设置中添加语言。
  2. 在 Crowdin 中添加语言后,任何人都可以为其贡献翻译。
  3. 将新语言添加到 source/_data/language.yml 中。
  4. 复制 themes/navy/languages 中的 en.yml 并将其重命名为语言名称(全部小写)。

报告问题

当您在使用 Hexo 时遇到问题,您可以在 疑难解答 中找到解决方案,或在 GitHubGoogle 论坛 上咨询。如果您找不到答案,请在 GitHub 上报告问题。

  1. 调试模式 下展示问题。
  2. 在 GitHub 上提交新 Issue 时,请按照 Issue 模板中的步骤提供调试消息和版本号。