Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby Bindings for Handlebars.js
Branch: master
Pull request Compare This branch is even with GermanDZ:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
js @ 059a806
lib
spec
.gitignore
.gitmodules
.rspec
Gemfile
README.mdown
Rakefile
hbs.gemspec

README.mdown

Handlebars.rb

This uses therubyracer to bind to the actual JavaScript implementation of Handlebars.js so that you can use it from ruby.

Usage

Simple stuff

require 'handlebars'
template = Handlebars.compile("{{say}}{{what}}")
template.call(:say => "Hey", :what => "Yuh!") #=> "Hey Yuh!"

With functions as properties

template.call(:say => "Hey", :what => lambda {|this| ("yo" * 2) + "!"}) #=> "Hey yoyo!"

Register block helpers:

Handlebars.register_helper(:twice) do |block|
  "#{block.call}#{block.call}"
end
template = Handlebars.compile({{#twice}}Hurray!{{/twice}})
template.call #=> Hurray!Hurray!

Hack

git clone git@github.com:cowboyd/handlebars.rb.git #git it
cd handlebars.rb #go to it
git submodule update --init #pull down handlebars.js
rspec spec/ #test it

Rubygems

Handlebars is available via the hbs gem on rubygems.org. There is also a handlebars gem, which is a pure-ruby implementation that appears to no longer be maintained.

Something went wrong with that request. Please try again.