Compile Haml to HTML
JavaScript HTML
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tasks
test
.gitattributes
.gitignore
.jshintrc
.npmignore
.travis.yml
AUTHORS
Gruntfile.js
LICENSE-MIT
README.md
package.json

README.md

DEPRECATED

This library is no longer being maintained. Please take a look at grunt-haml as an alternative.

grunt-haml2html Build Status

Compile Haml to HTML

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-haml2html --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-haml2html');

Haml task

Run this task with the grunt haml command.

This task requires you to have Ruby and Haml. If you're on OS X or Linux you probably already have Ruby installed, try ruby -v in your terminal. When you've confirmed you have Ruby installed, run gem install haml to install Haml.

Options

Any HAML options are also valid. Ex. { format: 'html5' } will run haml with --format html5.

loadPath

Type: String|Array

Add a (or multiple) Haml import path.

bundleExec

Type: Boolean

Run haml with bundle exec: bundle exec haml.

encoding

Type: String

Specifiy default character encoding. Same as running haml with the -E option.

Examples

Example config

grunt.initConfig({
  haml: {                              // Task
    dist: {                            // Target
      files: {                         // Dictionary of files
        'main.html': 'main.haml',       // 'destination': 'source'
        'widgets.html': 'widgets.haml'
      }
    },
    dev: {                             // Another target
      options: {                       // Target options
        bundleExec: true,
        style: 'expanded'
      },
      files: {
        'main.html': 'main.haml',
        'widgets.html': [
          'button.haml',
          'tab.haml',
          'debug.haml'  // Maybe you need one extra file in dev
        ]
      }
    }
  }
});

grunt.loadNpmTasks('grunt-haml2html');

grunt.registerTask('default', ['jshint', 'haml']);

Compile

grunt.initConfig({
  haml: {
    dist: {
      files: {
        'main.html': 'main.haml'
      }
    }
  }
});

Concat and compile

If you specify an array of src paths they will be concatenated. However, in most cases you would want to just @import them into main.haml.

grunt.initConfig({
  haml: {
    dist: {
      files: {
      'main.html': [
          'reset.haml',
          'main.haml'
        ]
      }
    }
  }
});

Compile multiple files

You can specify multiple destination: source items in files.

grunt.initConfig({
  haml: {
    dist: {
      files: {
        'main.html': 'main.haml',
        'widgets.html': 'widgets.haml'
      }
    }
  }
});

Release History

  • 2014-10-13   v0.3.0   Rename to haml2html
  • 2014-05-06   v0.2.0   Add encoding option
  • 2014-03-01   v0.1.2   Update deprecated dependency
  • 2013-08-19   v0.1.1   Bug fix #1 (Thanks @shahata)
  • 2013-03-23   v0.1.0   Initial release. Mostly a modification of https://github.com/gruntjs/grunt-contrib-sass

Task submitted by Jason Chen