Модуль представляет собой контейнер, используемый для обработки файлов в указанной папке. Hexo использует два модуля: hexo.source
и hexo.theme
. Первый используется для обработки папки с исходниками source
с последующим применением указанной темы из папки themes
.
Обработка файлов (Load Files)
Модули используют два способа загрузки файлов: process
и watch
. process
обрабатывает все файлы в папке по команде. watch
обрабатывает файлы при их изменении.
box.process().then(function () { |
Сопоставление папок (Path Matching)
Модули поддерживают много способов для нахождения обрабатываемых папок. Можно использовать регулярные выражения, функции или строки шаблонов Express-style. Например:
posts/:id => posts/89 |
Подробная информация (eng): util.Pattern.
Обработчики
Обработчик является важнейшим элементом модуля и служит для преобразования файлов. Можно использовать сопоставление папок, как описано выше, для ограничения обрабатываемых файлов. Новый обработчик добавляется методом addProcessor
box.addProcessor("posts/:id", function (file) { |
Модуль передаёт содержимое соответствующих файлов обработчикам. Информацию можно читать прямо из аргумента file
в обратный вызов (callback):
Свойство | Описание |
---|---|
source |
Полный путь к файлу |
path |
Относительный путь к файлу модуля |
type |
Тип файла. Возможные значения create , update , skip , delete . |
params |
Информация о сопоставлении путей. |
Box also provides some methods so you don’t have to do file IO by yourself.
Метод | Описание |
---|---|
read |
Чтение файла |
readSync |
Синхронное чтение файла |
stat |
Получение статуса файла |
statSync |
Синхронное получение статуса файла |
render |
Обработка файла |
renderSync |
Синхронная обработка файла |