Рендер

Рендер используется для создания содержимого.

Краткий обзор

hexo.extend.renderer.register(name, output, function(data, options){
// ...
}, sync);
Аргумент Описание
name Вводится расширение входного файла (нижний регистр, без ведущей .)
output Выводится расширение входного файла (нижний регистр, без ведущей .)
sync Режим синхронизации

В функцию рендера передаются два аргумента:

Аргумент Описание
data Включает два атрибута: путь к файлу path и содержимое файла text. Переменная path не является обязательной.
option Опции

Пример

Асинхронный режим

var stylus = require('stylus');

// Обратный вызов
hexo.extend.renderer.register('styl', 'css', function(data, options, callback){
stylus(data.text).set('filename', data.path).render(callback);
});

// Запрос
hexo.extend.renderer.register('styl', 'css', function(data, options){
return new Promise(function(resolve, reject){
resolve('test');
});
});

Синхронный режим

var ejs = require('ejs');

hexo.extend.renderer.register('ejs', 'html', function(data, options){
options.filename = data.path;
return ejs.render(data.text, options);
}, true);

Disable Nunjucks tags

Nunjucks tags {{ }} or {% %} (utilized by tag plugin) are processed by default, to disable:

function lessFn(data, options) {
// do something
}

lessFn.disableNunjucks = true

hexo.extend.renderer.register('less', 'css', lessFn);