grunt-slim

Compile Slim to HTML

grunt-slim

Compile Slim to HTML

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-slim --save-dev

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

grunt.loadNpmTasks('grunt-slim');

Run this task with the grunt sass command.

This task requires you to have Ruby and Slim. 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 slim to install Slim.

Type: Boolean

Show a full traceback on error.

Type: Boolean

Compile only but do not run.

Type: Boolean

Generate rails compatible code (Implies --compile).

Type: Boolean

Enable translator plugin.

Type: Boolean

Enable logic less plugin.

Type: Boolean

Produce pretty html.

Type: String|Array

Set slim option.

grunt.initConfig({
  slim: {                              // Task 
    dist: {                            // Target 
      files: {                         // Dictionary of files 
        'index.html': 'index.slim',     // 'destination': 'source' 
        'sidebar.html': 'sidebar.slim'
      }
    },
    dev: {                             // Another target 
      options: {                       // Target options 
        style: 'expanded'
      },
      files: {
        'index.html': 'index.slim',
        'page.html': [
          'header.html',
          'body.html',
          'footer.html'  // Maybe you need one extra file in dev 
        ]
      }
    }
  }
});
 
grunt.loadNpmTasks('grunt-slim');
 
grunt.registerTask('default', ['jshint', 'slim']);
grunt.initConfig({
  slim: {
    dist: {
      files: {
        'index.html': 'index.slim'
      }
    }
  }
});

If you specify an array of src paths they will be concatenated. However, in most cases you would want to just render them into index.slim.

grunt.initConfig({
  slim: {
    dist: {
      files: {
      'index.html': [
          'header.html',
          'content.html'
        ]
      }
    }
  }
});

You can specify multiple destination: source items in files.

grunt.initConfig({
  slim: {
    dist: {
      files: {
        'index.css': 'index.slim',
        'sidebar.html': 'sidebar.slim'
      }
    }
  }
});
  • 2013-02-22 v0.1.0 Initial release.

Task submitted by Keiichiro Matsumoto

This file was generated on Fri Feb 22 2013 04:05:33.