A grunt wrapper for compling your HAML templates with the Ruby compiler. #complete
Go to file
Ólafur Örn Nielsen 8c7986109f Handle HAML compile errors and output message to the console. 2013-09-02 11:18:54 +00:00
src Handle HAML compile errors and output message to the console. 2013-09-02 11:18:54 +00:00
tasks Handle HAML compile errors and output message to the console. 2013-09-02 11:18:54 +00:00
test Initial check-in. 2013-02-06 10:08:33 -08:00
.gitignore Initial check-in. 2013-02-06 10:08:33 -08:00
Gruntfile.coffee Fixed Gruntfile's 'default' setting to be correct. 2013-02-06 10:29:24 -08:00
LICENSE-MIT Initial check-in. 2013-02-06 10:08:33 -08:00
README.md Underscore dependency in Readme 2013-02-16 16:16:41 +01:00
package.json Corrected version number. Added URLs to relevant links. 2013-02-06 10:31:44 -08:00

README.md

grunt-ruby-haml

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:

grunt.loadNpmTasks('grunt-ruby-haml');

Documentation

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:

grunt.loadNpmTasks('grunt-ruby-haml');

Then add some configuration for the plugin like so:

grunt.initConfig({
    ...
    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.

Contributing

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

License

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