Adds more functionality to Haml and Sass (part of BigBand).
Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec/sass
vendor
.gitmodules
LICENSE
README.md
haml-more.gemspec

README.md

Haml::More and Sass::More

Adds more functionality to Haml and Sass. Haml helpers detect if called from another context, so they are usable with Erb and friends.

BigBand

Haml::More and Sass::More are part of the BigBand stack. Check it out if you are looking for fancy Sinatra extensions.

Haml extensions

  • content_for and yield_content (like in Rails, you know?)

      // some_file.haml
      = yield_content(:foo)
      .content
        = haml :another_file
      
      // another_file.haml
      - content_for(:foo)
        %b bar
      .something
        %h1 cool, huh?
    
  • adds :coffee_script for inline CoffeeScript

      %head
        %title CoffeScript example
        :coffee_script
          if happy and knows_it
            claps_hands()
            cha_cha_cha()
      %body
        content
    

SassScript extensions

  • min and max

      .someClass
        width = max(100px, !someSize * 3)
        height = min(!a, !b, 20%)
    

Usage with Sinatra

Classic style:

require "sinatra"
require "haml/more"

Modular:

require "sinatra/base"
require "haml/more"

class Foo < Sinatra::Base
  helpers Haml::More
end

Usage without Sinatra

Using just Sass::More (if you're in Merb or Rails):

# in some initializer or something
require "sass/more"

Without anything:

require "haml/more"
scope = Object.new
scope.extend Haml::More
puts Haml::Engine.new("%p some haml code").render(scope)