贡献

我们非常欢迎您加入 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. 开始开发。
  2. 推送(push)分支。
$ git push origin new_feature
  1. 建立一个新的合并申请(pull request)并描述变动。

注意事项

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

更新 Hexo 官方插件

我们也欢迎给 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)并描述变动。

翻译

  1. source 文件夹中建立一个新的语言文件夹(全小写)。
  2. source 文件夹中相关的文件(Markdown 和模板文件)复制到新的语言文件夹中。
  3. source/_data/language.yml 中新增语言。
  4. en.yml 复制到 themes/navy/languages中并命名为语言名称(全小写)。

反馈问题

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

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