Плагины

Hexo имеет мощную систему плагинов, это делает его функции легко расширяемыми, не изменяя код основного модуля. Существует два вида плагинов в Hexo:

Скрипты

Если плагин является довольно простым, рекомендуется использовать скрипт. Все, что нужно сделать, это положить ваши JavaScript файлы в папку scripts, и Hexo загрузит их при инициализации.

Плагины

Если код довольно сложен, или если вы хотите опубликовать его через NPM, рекомендуется использовать плагин. Сначала создайте папку в папке node_modules. Название должно начинаться с hexo-, иначе Hexo проигнорирует её.

Папка должна содержать минимум два файла: один содержит фактический код JavaScript и package.json, который описывает назначение плагина и устанавливает его зависимости.

.
├── index.js
└── package.json

По крайней мере, нужно указать название name, версию version и параметр main в package.json. Например:

package.json
{
"name": "hexo-my-plugin",
"version": "0.0.1",
"main": "index"
}

Также понадобится перечислить зависимости плагина в корне package.json для вашего экземпляра hexo, чтобы Hexo обнаружил и загрузил его.

Инструментарий

Возможно использовать официальные инструменты Hexo для ускорения разработки:

Публикация

Когда плагин будет готов, можно рассмотреть возможность его публикации в список плагинов, чтобы пригласить других людей воспользоваться им. Публикация плагинов очень похожа на обновление документации. Publishing your own plugins is very similar to updating documentation.

  1. Создайте форк hexojs/site

  2. Клонируйте репозиторий на компьютер и установите все зависимости.

    $ git clone https://github.com/<username>/site.git
    $ cd site
    $ npm install
  3. Create a new yaml file in source/_data/plugins/, use your plugin name as the file name

  4. Отредактируйте source/_data/plugins.yml добавив свой плагин. Например:

    description: Server module for Hexo.
    link: https://github.com/hexojs/hexo-server
    tags:
    - official
    - server
    - console
  5. Push the branch.

  6. Создайте запрос на слияние с описанием изменений.