Insert html in a handlebar template without escaping
Javascripthandlebars.jsJavascript Problem Overview
Is there a way to insert a string with html tags into a handlebars template without getting the tags escaped in the outcoming string?
template.js:
<p>{{content}}</p>
use the template
HBS.template({content: "<i>test</i> 123"})
actual outcome:
<p><i>test</i> 123</p>
expected result:
<p><i>test</i> 123</p>
Javascript Solutions
Solution 1 - Javascript
Try like
<p>{{{content}}}</p>
> Handlebars HTML-escapes values returned by a {{expression}}
. If you
> don't want Handlebars to escape a value, use the "triple-stash", {{{
.
Solution 2 - Javascript
In your template you must add triple mustaches like this. <p>{{{content}}}</p>
See Official Reference for more information on that.
Solution 3 - Javascript
According to Handlebars documentation, http://handlebarsjs.com/expressions.html
Quote from documentation,
> If you don't want Handlebars to escape a value, use the "triple-stash", {{{
Pass the raw HTML to Handlebars template and get the raw HTML output by using triple brackets.
{{{foo}}}