grunt-contrib-haml

Compile Haml to HTML

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
grunt-contrib-haml
2610.2.09 years ago10 years agoMinified + gzip package size for grunt-contrib-haml in KB

Readme

grunt-contrib-haml 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-contrib-haml --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-contrib-haml');

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-contrib-haml');

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

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