Plugins

O Hexo possui um poderoso sistema de plugins, o que facilita a extensão das funcionalidades sem modificar o código-fonte do módulo central. Existem dois tipos de plugins no Hexo:

Script

Se o seu plugin for relativamente simples, recomenda-se usar um script. Tudo o que você precisa fazer é colocar seus arquivos JavaScript no diretório scripts e o Hexo irá carregá-los durante a inicialização.

Plugin

Se seu código é complicado ou se você deseja publicá-lo no registro do NPM, recomendamos usar um plugin. Primeiro, crie um diretório dentro do diretório node_modules. O nome desse diretório deve começar com hexo- ou o Hexo irá ignorá-lo.

Seu novo diretório deve conter pelo menos dois arquivos: um contendo o código JavaScript e um arquivo package.json que descreve a finalidade do plugin e define suas dependências.

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

No mínimo, você deve definir as entradas name, version e main no package.json. Por exemplo:

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

Você também precisará listar seu plugin como uma dependência no arquivo package.json da raiz de sua instância do Hexo para que o Hexo a detecte e carregue.

Ferramentas

Você pode usar as ferramentas oficiais fornecidas pelo Hexo para acelerar o desenvolvimento:

Publicando

Quando o seu plug-in estiver pronto, você pode considerar publicá-lo na lista de plugins para que outras pessoas possam conhecê-lo e usá-lo. Publicar seus próprios plugins é bastante parecido com atualizar a documentação.

  1. Fork hexojs/site

  2. Clone o repositório no seu computador e instale as dependências.

    $ 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. Edite source/_data/plugins.yml e adicione seu plugin. Por exemplo:

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

  6. Crie um pull request e descreva as modificações.