grunt-contrib-haml

Compile Haml to HTML

npm install grunt-contrib-haml
11 downloads in the last day
181 downloads in the last week
663 downloads in the last month

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

loadPath

Type: String|Array

Add a (or multiple) Haml import path.

bundleExec

Type: Boolean

Run haml with bundle exec: bundle exec haml.

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
        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


Task submitted by Jason Chen

npm loves you