レンダラー

レンダラーはコンテンツのレンダリングに使用されます。

概要

hexo.extend.renderer.register(
name,
output,
function (data, options) {
// ...
},
sync,
);
引数 説明
name 入力ファイル名の拡張子(小文字、先頭「.」なし)
output 出力ファイル名の拡張子(小文字、先頭「.」なし)
sync 同期モード

3つの引数がレンダリング関数に渡されます。

引数 説明
data 次の2つの属性を含みます:ファイルパスpathとファイル内容textpathは必ずしも存在するわけではありません。
option オプション
callback 2つのパラメーターerrvalueを持つコールバック関数。

非同期モード

var stylus = require("stylus");

// Callback
hexo.extend.renderer.register(
"styl",
"css",
function (data, options, callback) {
stylus(data.text).set("filename", data.path).render(callback);
},
);

// Promise
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,
);

Nunjucks タグを無効にする

Nunjucks タグ{{ }}または{% %}タグプラグインで使用)はデフォルトで処理されます。無効にする場合、次の操作を行います。

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

lessFn.disableNunjucks = true;

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