highlight.haml

    %title
      = @title
      \= @title
    %script{
      "type": "text/javascript",

      "src": "javascripts/script_#{2 + 7}",
      "data": {
        "controller": "reporter",
      },
    }
    %div{:id => [@item.type, @item.number], :class => [@item.type, @item.urgency]}
    %div{:id => "#{@item.type}_#{@item.number}", :class => "#{@item.type} #{@item.urgency}"}
    .item{:class => @item.is_empty? && "empty"}
    %a(title=@title href=href) Stuff
    %a(title=@title){:href => @link.href} Stuff
    %a{:href=>"/posts", :data => {:author_id => 123, :category => 7}} Posts By Author
    .book-info{:data => {:book => {:id => 123, :genre => 'programming'}, :category => 7}}
    %div#things
      %span#rice Chicken Fried
      %p.beans{ :food => 'true' } The magical fruit
      %h1.class.otherclass#id La La La
    %br/
    %meta{'http-equiv' => 'Content-Type', :content => 'text/html'}/
    %p[user]{:class => 'alpha bravo'}

    %blockquote<
      %div
        Foo!

    %img
    %img>
    %img

    %img
    %pre><
      foo
      bar
    %img

    -# file: app/views/users/show.haml
      %p
        hello
    %div[@user, :greeting]
      %bar[290]/
        Hello!
    - user = User.find(1)
    .foo.moo{:class => ['bar', 'alpha']}(class='baz')
    !!! XML

    %peanutbutterjelly
      / This is the peanutbutterjelly element
      I like sandwiches!
    /
      %p This doesn't render...
      %div
        %h1 Because it's commented out!
    %p
    /[if IE]
      %a{ :href => 'http://www.mozilla.com/en-US/firefox/' }
        %h1 Get Firefox

    %p foo
    -# This is a comment
    %p bar

    %p foo
    -#
      This won't be displayed
        Nor will this
                       Nor will this.
    %p bar

    %p
      = ['hi', 'there', 'reader!'].join " "
      = "yo"

    = link_to_remote "Add to cart",
        :url => { :action => "add", :id => product.id },
        :update => { :success => "cart", :failure => "error" }

    - foo = "hello"
    - foo << " there"
    - foo << " you!"
    %p= foo

    - links = {:home => "/",
        :docs => "/docs",
        :about => "/about"}

    - (42...47).each do |i|
      %p= i
    %p See, I can count!

    %p
      - case 2
      - when 1
        = "1!"
      - when 2
        = "2?"
      - when 3
        = "3."

    ~ "Foo\n<pre>Bar\nBaz</pre>"

    %p This is #{h quality} cake!
    %p
      Look at \\#{h word} lack of backslash: \#{foo}
      And yon presence thereof: \{foo}
    &= "I like cheese & crackers"
    & I like #{"cheese & crackers"}
    = "I feel <strong>!"
    != "I feel <strong>!"
    ! I feel #{"<strong>"}!

    %whoo
      %hoo= h(                       |
        "I think this might get " +  |
        "pretty long so I should " + |
        "probably make it " +        |
        "multiline so it doesn't " + |
        "look awful.")               |
      %p This is short.

    !!!
    %html{ :xmlns => "http://www.w3.org/1999/xhtml", :lang => "en", "xml:lang" => "en"}
      %head
        %title BoBlog
        %meta{"http-equiv" => "Content-Type", :content => "text/html; charset=utf-8"}
        %meta(http-equiv="Content-Type" content = "text/html; charset=utf-8" class=21 id='d3')
        %link{rel: 'stylesheet', href: 'main.css', type: 'text/css'}
        :css
          body {
            font-size: 16px;
            margin-top: 0px;
            margin-bottom: 0px;
            font-family: Arial, sans-serif;
          }

          p {
            margin: 0px;
            padding: 0px;
          }
      %body
        #header
          %a{
            href: root_path,
            name: "home"
          }
            %h1 BoBlog
          %h2 Bob's Blog
        #content
          - @entries.each do |entry|
            .entry{ id: entry.id }
              %h3.title= entry.title
              %p.date
                Posted on #{entry.posted.strftime("%A, %B %d, %Y")}
              %p.body= entry.body
          = button_to "Load more", entries_path,
            class: "btn btn-primary",
            method: :get,
            params: { last_id: @entries.map(&:id).min },
            form: { data: { turbo_stream: true } }
        :ruby
          provide(:title, user_title(@user))
          provide(:og, user_opengraph(@user))
          provide(:meta, user_twitter_card(@user))

          parent_layout 'user/profile'
        #footer
          %p
            All content copyright © Bob

        #filterTest
          %p Just testing some more HAML filters

          :coffee
            window.alert "Hello from CoffeeScript #{1}"

          :coffeescript
            window.alert "Hello from CoffeeScript again, #{1 + 1}"

          :css
            #filterTest {
              display: none;
            }

          :erb
            For some reason <%= "ERB works too #{@abcdef}" %>.

          :plain
            Anything else should be treated as plain text.
            This also means that the following shouldn't be highlighted:

            %h1#superawesomeheading Heading 1

          %div Filter test done