· ruby haml

Ruby/Haml: Maintaining white space/indentation in a <pre> tag

I’ve been writing a little web app in which I wanted to display cypher queries inside a tag which was then prettified using SyntaxHighlighter but I was having problems with how code on new lines was being displayed.

I had the following Haml code to display a query looking up Gareth Bale in a graph:

%pre{ :class => "brush: cypher; gutter: false; toolbar: false;"}
  START player = node:players('name:"Gareth Bale"')
  RETURN player.name

When I rendered the page it looked like this:

After a bit of googling I ended up on this Stack Overflow post which described the preserve helper which seems to do the job:

%pre{ :class => "brush: cypher; gutter: false; toolbar: false;"}
  = preserve do
    START player = node:players('name:"Gareth Bale"')
    RETURN player.name

That part of the page now looks much better:


  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket