助手

助手可以让你轻松快速地将代码片段添加到你的模板中。 当处理更复杂的代码时,我们建议使用助手而不是模板。

助手无法从 `source` 文件中访问。

概要

hexo.extend.helper.register(name, function () {
// ...
});

示例

hexo.extend.helper.register("js", function (path) {
return '<script src="' + path + '"></script>';
});
<%- js('script.js') %>
// <script src="script.js"></script>

常见问题解答

自定义助手应该放在哪里?

将其放在 `scripts/` 或 `themes/<你的主题>/scripts/` 文件夹下。

如何在自定义助手里面使用另一个已注册的助手?

所有助手在同一个上下文中执行。 例如,要在自定义助手里面使用 url_for()

hexo.extend.helper.register("lorem", function (path) {
return '<script src="' + this.url_for(path) + '"></script>';
});

如何在其他扩展(例如过滤器、注入器)中使用已注册的助手?

hexo.extend.helper.get 将返回助手函数,但它需要以 hexo 为上下文,所以

const url_for = hexo.extend.helper.get("url_for").bind(hexo);