I have a comments AJAX call which returns data of the posted comment, I also have @mention functionality built in, the server side is processing the @mentions and doing a str_replace
on the mentioned users replacing their names with an a tag within the response, for example:
{ data: { comment: "<a href=\"profile/derp\">Username</a> hey what's up" } }
However I can't seem to find in the documentation how to allow nunjucks to print this as actual HTML, it escapes it and displays the code instead of letting it be a real a tag.
Does anyone know how I can allow this to be printed as an actual a tag?
A variable looks up a value from the template context. This documents details on the variables available in JMWE and how to create custom variables. If you want to insert the value of a variable in your template, you can use the following syntax: {{ myVar }} .
Comments. You can write comments using {# and #} . Comments are completely stripped out when rendering.
OK so almost immediately after I posted this I found the answer! for anyone else looking it's simply this; within your template where you're printing your variable add the safe filter, which will disable automatic escaping.
{{ comment.content|safe }}
Although this means it's vulnerable to XSS injection, so make sure you add your protection on the server side.
You can also avoid escaping globally using:
nunjucks.configure({ autoescape: false });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With