Preserving newlines in Jade
node.js, pug
Solution
In Jade's compiling options set `pretty` to true.
Which can be done in multiple ways depending of how you are compiling them
- From the command line pass the `-P` or `--pretty` flag.
- From express 3.x: `app.locals.pretty = true;`
(express 2.x used a different syntax: `app.set('view options', { pretty: true });`, see migration guide: https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x)
Then you can do the following
#test. // <-- notice the dot
Lorem Ipsum is simply dummy text of
the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy
text ever since the 1500s ,
when an unknown printer took a galley of type and scrambled
which will produce
<div id="test">
Lorem Ipsum is simply dummy text of
the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy
text ever since the 1500s ,
when an unknown printer took a galley of type and scrambled
</div>
Problem
Whenever I render a JADE template, I get all HTML in a single line. This makes it difficult to read in view-source mode. How can I tell JADE to create HTML which is properly indented? Here is my template: ``` #application p#docs a(href='/docs/index.html') Documentation p#user-input input#msg(name='msg', size='50') input#submit(name='submit', type='submit', value='Send a Message') ul#messages ```