62

I like to put all my inline elements in a single line.

<ul>
  <li><a>click<span>here</span><strong>!</strong></a></li>

Wondering if there's a better way to create inline elements in Jade than this:

ul
  li 
    a(href="#") click 
      span here
      strong !

This get's a little closer but I'm not sure how to add the span and strong tags without breaking the lines.

ul
  li: a(href='#') click
    span ...

This obviously isn't a super big problem but it's a little annoying that I can't put inline elements inline. Thanks for the help

jwerre
  • 9,179
  • 9
  • 60
  • 69

3 Answers3

128

Since version 1.0, jade supports inline tags:

#[tag(attribute='value') inner stuff]

In your case that would be:

ul
  li #[a(href="#") click  #[span here #[strong !]]]
Sami Kuhmonen
  • 30,146
  • 9
  • 61
  • 74
pfirpfel
  • 2,176
  • 2
  • 15
  • 12
30

Ran into this today myself. Found a way to do this in jade using the pipe. Here is my example wrapping a strong tag inside a p element.

p.some-class
    strong This Renders Strong                          
    |This renders normal
marcus hall
  • 566
  • 4
  • 6
17

I also struggled with this a while back; the only answer I found is to just use HTML.

ul
  li: a(href='#') click<span>here</span><strong>!</strong>
Michelle Tilley
  • 157,729
  • 40
  • 374
  • 311