Ознакомьтесь с проектом Rho .Вы можете использовать InlineCompiler
, что по сути делает то, что вам нужно (при условии, что вам также нужны некоторые базовые экранирования, такие как <
и &
).
Вы можете использовать Rho внутри помощников Express / Handlebars, например так:
var exphbs = require('express-handlebars');
var rho = require('rho');
var hbs = exphbs.create({
helpers: {
mdToHtml: function(options) {
return new hbs.handlebars.SafeString(
rho.toInlineHtml(options.fn(this))
);
}
}
});
, а затем прочитайте уценку из JSON внутри шаблонов, например
<div class="col-xs-12">
<p class="body">
{{#mdToHtml}}{{message.body}}{{/mdToHtml}}
</p>
</div>
, где message
- это некоторый JSON, который вы предоставили шаблону.