A grunt wrapper for compling your HAML templates with the Ruby compiler. #complete
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Elf M. Sternberg 664328e95c Merge pull request #1 from develup/master 11 years ago
src Initial check-in. 11 years ago
tasks Initial check-in. 11 years ago
test Initial check-in. 11 years ago
.gitignore Initial check-in. 11 years ago
Gruntfile.coffee Fixed Gruntfile's 'default' setting to be correct. 11 years ago
LICENSE-MIT Initial check-in. 11 years ago
README.md Underscore dependency in Readme 11 years ago
package.json Corrected version number. Added URLs to relevant links. 11 years ago



Compile your HTML templates using the Ruby HAML command-line compiler

WHAT!? WHY!?!?!?

Because I like underscore, and underscore templates. They come free with Backbone. And Ruby's HAML treats them without abusing them. It's not a great solution, but it's better than trying to write yet another HAML parser.

And before you get me started on Jade, or Mustache, or whatever: forget it. Jade is a big learning curve for little reward, and the rest are templating languages in their own right.

Getting Started

Make sure you have Ruby and Haml available in you $PATH.

Install this grunt plugin next to your project's [grunt.js gruntfile][getting_started] with: npm install grunt-ruby-haml

Then add this line to your project's grunt.js gruntfile:



Make sure you have underscore installed:

npm install underscore

Then you'll need to install grunt-ruby-haml:

npm install grunt-ruby-haml

Then modify your Gruntfile.js file by adding the following line:


Then add some configuration for the plugin like so:

    rubyHaml: {
      app: {
        files: {
            "public/index.html": "src/index.haml"
        options: {
            templatize: false

Then just run grunt rubyHaml and enjoy!

Ruby-HAML will, by default, generate HTML. With the 'templatize' option set to True, it will instead spit out an underscore template ready to be rendered, wrapped in an AMD-compliant define() call. This may be useful to some of you who want to use the output of the HAML engine as a pre-parsed underscore template.


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [grunt][grunt].

Release History

0.0.1 - Just what I've always run. Don't expect miracles


Copyright (c) 2013 Elf M. Sternberg Licensed under the MIT license.