Prismic.io с рулем
Я пытаюсь интегрировать prismic.io в существующий проект, в котором я использую руль в качестве движка шаблонов.
Вот пример того, как визуализировать представление с помощью Pug из документации Prismic.io:
div.welcome
img(src=pagecontent.getImage('page.image').url, class='star')
!= pagecontent.getStructuredText('page.title').asHtml(ctx.linkResolver)
!= pagecontent.getStructuredText('page.description').asHtml(ctx.linkResolver)
Работает нормально, но когда я пытаюсь сделать что-то подобное в Handlebars:
{{{pagecontent.getStructuredText('page.title').asHtml(ctx.linkResolver)}}}
Я получаю сообщение об ошибке:
Ошибка: ошибка разбора в строке 13:...
{{{pagecontent.getStructuredText ('p ----------------------- ^ Ожидается'ID', получено'INVALID''
Есть ли способ, которым я могу использовать prismic.io с движком шаблонов Handlebars?
1 ответ
Вам нужно зарегистрировать функции в качестве помощников Handlebars, в противном случае вы не сможете их вызвать. Например:
app.engine('.hbs', expressHbs({
defaultLayout: 'main',
extname: '.hbs',
layoutsDir: path.join(__dirname,'/views/layouts'),
helpers: {
PrismicText: (data) => {
return PrismicDOM.RichText.asText(data, PrismicConfig.linkResolver)
}
}
}));