繁体   English   中英

是否可以在 Ghost 中注册自定义助手?

[英]Is it possible to register custom helpers in Ghost?

我按照本指南使用 Ghost 作为 npm 模块。

我想添加一些可以在我的主题中利用的自定义助手。 有没有办法在不更改 Ghost 模块内的代码的情况下做到这一点?

这是我当前的代码:

const ghost = require('ghost');
const path = require('path');
const hbs = require('express-hbs');

const config = path.join(__dirname, 'config.js');
const coreHelpers = {};

coreHelpers.sd_nls  = require('./sd_nls');

// Register a handlebars helper for themes
function registerThemeHelper(name, fn) {
  hbs.registerHelper(name, fn);
}

registerThemeHelper('sd_nls', coreHelpers.sd_nls);

ghost({ config: config })
  .then(ghostServer => ghostServer.start());

我认为一个可能的问题是我的hbs是一个新的把手实例,与 Ghost 使用的不同,因此当 Ghost 运行时,它不包含我注册的任何帮助程序。

不幸的是,即使是最新版本,这仍然是一个非常新的问题。 我试图提出我自己的基于 3 文件的解决方案,它将采用原始的 Ghost Dockerfile 并从那里构建,仅从一个目录添加自定义帮助程序。

在这里找到它:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM