I am still not that familiar with the Jade template engine. Is there a way to convert the new lines such as \n to br tags and at the same time keep the other content encoded?
For example
.replace(/\n/g,'</br>')
applied over the encoded value should do the work. However I am not sure how to encode the value and get the result. Is there any helper for this?
if you don't exactly need <br>
, you can simply put your text within <pre>
tag. All whitespaces (including new lines) will be displayed as typed.
Or you could set css rule white-space: pre
to preserve whitespace preformatting. Check MDN on this.
You can use jades escape method and replace the linebreaks in the return value of that like so:
p !{escape(foo).replace(/\n/g, '<br/>')}
I am not aware of any built-in functionality for your use case.
Looks like pug got rid of the escape function, so this is what you would have to use now:
p !{foo.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\n/g, '<br/>')}
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