Awesome
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
andyield_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
andmax
.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)