我在this guide之后使用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运行时它并不包括我注册的任何帮助者。
答案 0 :(得分:0)
不幸的是,即使使用最新版本,这仍然是一个新问题。我试图提出自己的基于3文件的解决方案,该解决方案将采用原始的Ghost Dockerfile并从那里构建,仅从一个目录添加自定义帮助程序。
在这里找到它