贡献

我们非常欢迎您加入 Hexo 的开发。 🤗

开发

我们非常欢迎您加入 Hexo 的开发。 这份文件将帮助您了解开发流程。

开始之前

请首先阅读《贡献者行为准则》,并确保您不会违反它。

请使用以下代码风格:

另外,Hexo 拥有自己的 ESLint 配置,因此请确保您的贡献能够通过 ESLint。

工作流

  1. Fork hexojs/hexo.
  2. 把库(repository)复制到电脑上,并安装所依赖的插件。
$ git clone https://github.com/<username>/hexo.git
$ cd hexo
$ npm install
$ git submodule update --init
  1. 创建一个功能分支。
$ git checkout -b new_feature
  1. Start hacking.
  2. 推送分支:
$ git push origin new_feature
  1. 建立一个新的合并申请(pull request)并描述变动。

注意事项

  • 不要修改 package.json 的版本号。
  • 只有在测试通过的情况下您的合并申请才会被批准。 在提交前别忘了进行测试。
$ npm test

更新官方插件

我们也欢迎给 Hexo 官方插件 提交 PR 和 Issue 🤗 🤗

更新文档

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

工作流

  1. Fork hexojs/site
  2. 把库(repository)复制到电脑上,并安装所依赖的插件。
$ 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. 推送(push)分支。
  2. 建立一个新的合并申请(pull request)并描述变动。

翻译

Contribute translations

Crowdin

Now we use the Crowdin platform for translation, where anyone can contribute translations and vote for translations without manual git operations.

Add a new language

  1. Submit a new issue to let us know. The members with access to the Crowdin Project add the language in settings.
  2. After adding language in Crowdin, anyone can contribute translations on it.
  3. source/_data/language.yml 中新增语言。
  4. en.yml 复制到 themes/navy/languages中并命名为语言名称(全小写)。

报告问题

当您在使用 Hexo 时遇到问题,您可以尝试在 问题解答 中寻找解答,或是在 GitHubGoogle Group 上提问。 如果你没有找答案,请在 Github 报告它。

  1. 调试模式 中重现问题。
  2. 在 GitHub 上提交 Issue 时,请遵循 Issue 模板中的步骤提供调试消息和版本信息。