Модуль

Модуль представляет собой контейнер, используемый для обработки файлов в указанной папке. Hexo использует два модуля: hexo.source и hexo.theme. Первый используется для обработки папки с исходниками source с последующим применением указанной темы из папки themes.

Обработка файлов (Load Files)

Модули используют два способа загрузки файлов: process и watch. process обрабатывает все файлы в папке по команде. watch обрабатывает файлы при их изменении.

box.process().then(function(){
// ...
});

box.watch().then(function(){
// Можно вызвать команду box.unwatch() после, чтобы остановить отслеживание файлов.
});

Сопоставление папок (Path Matching)

Модули поддерживают много способов для нахождения обрабатываемых папок. Можно использовать регулярные выражения, функции или строки шаблонов Express-style. Например:

posts/:id => posts/89
posts/*path => posts/2015/title

Подробная информация (eng): util.Pattern.

Обработчики

Обработчик является важнейшим элементом модуля и служит для преобразования файлов. Можно использовать сопоставление папок, как описано выше, для ограничения обрабатываемых файлов. Новый обработчик добавляется методом addProcessor

box.addProcessor('posts/:id', function(file){
//
});

Модуль передаёт содержимое соответствующих файлов обработчикам. Информацию можно читать прямо из аргумента file в обратный вызов (callback):

Свойство Описание
source Полный путь к файлу
path Относительный путь к файлу модуля
type Тип файла. Возможные значения create, update, skip, delete.
params Информация о сопоставлении путей.

Модуль содержит и другие методы, не нужно делать прямые вызовы к файлу самостоятельно.

Метод Описание
read Чтение файла
readSync Синхронное чтение файла
stat Получение статуса файла
statSync Синхронное получение статуса файла
render Обработка файла
renderSync Синхронная обработка файла