Contributing

We welcome you to join the development of Hexo. 🤗

Development

We welcome you to join the development of Hexo. This document will help you through the process.

Before You Start

Please read Contributor Covenant Code of Conduct first.

Please follow the coding style:

Also, Hexo has its own ESLint config, so please make sure your contribution will make ESLint happy.

Workflow

  1. Fork hexojs/hexo.
  2. Clone the repository to your computer and install dependencies.
$ git clone https://github.com/<username>/hexo.git
$ cd hexo
$ npm install
$ git submodule update --init
  1. Create a feature branch.
$ git checkout -b new_feature
  1. Start hacking.
  2. Push the branch:
$ git push origin new_feature
  1. Create a pull request and describe the change.

Notice

  • Don’t modify version number in package.json.
  • Your pull request will only get merged when tests passed. Don’t forget to run tests before submission.
$ npm test

Updating official-plugins

Also, we welcome PR or issue to official-plugins. 🤗

Updating Documentation

documentation ของ hexo เป็น open source และคุณสามารถอ่าน source code ได้ท่ี hexojs/site

Workflow

  1. Fork hexojs/site
  2. Clone the repository to your computer and install dependencies.
$ 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. Start editing the documentation. You can start the server for live previewing.
$ hexo server
  1. Push the branch.
  2. Create a pull request and describe the change.

Translating

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. Add the new language to source/_data/language.yml.
  4. Copy en.yml in themes/navy/languages and rename to the language name (all lower case).

Reporting Issues

เมื่อคุณพบเจอปัญหาการใช้ hexo คุณไปค้นหาวิธีการแก้ไขได้ท่ Troubleshooting หรือไปถามท่ี GitHub กรือไปถามท่ี Google Group ถ้าคุณหาวิธีแก้ไขไม่ได้ กรุณาไปรายงานปัญหาท่ี Github If you can’t find the answer, please report it on GitHub.

  1. Represent the problem in debug mode.
  2. Follow the steps from issue template to provide debug message and version when submitting a new issue at GitHub.