grunt-compass-multiple

compass complie at multi threads.

grunt-compass-multiple ==========

Grunt plugin for compiling compass files at multi threads.

This plugin requires Grunt ~0.4.0

Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-compass-multiple

Then add this line to your project's grunt.js gruntfile:

grunt.loadNpmTasks('grunt-compass-multiple');

This plugin slove the problem of compass slow compile.

This provides you to compass multi threads compiling, so you can develop faster.

the statement below is how to use this plugin.

grunt.initConfig({
 
  compassMultiple: {
    options : {
      // if you need, you can set options. 
      environment: 'production',
      outputStyle: 'compressed',
      javascriptsDir: './js',
      imagesDir: './image',
      fontsDir: './font',
      importPath: './css/framework',
      relativeAssets: true,
      time: true
    },
 
    // you can specify compiling target as options.sassDir, and output dir as options.cssDir. 
    // At now, you can only set sassDir and cssDir options. 
    common : {
      options: {
        // every compile needs sassDir and cssDir. 
        sassDir: 'page/css/cmn/',
        cssDir: '../static/page/css/cmn/'
      }
    }
  }
});

you can set multiple sassDir and cssDir for compiling.

grunt.initConfig({
 
  compassMultiple: {
    options : {
      // if you need, you can set options. 
      environment: 'production',
      outputStyle: 'compressed',
      javascriptsDir: './js',
      imagesDir: './image',
      fontsDir: './font',
      importPath: './css/framework',
      relativeAssets: true,
      time: true
    },
 
 
    // multiple option provides you to compile multi sassDir. 
    all: {
      options: {
        multiple: [
          {
          sassDir: 'page/css/cmn/',
          cssDir: '../static/page/css/cmn/'
          },{
          sassDir: 'page/css/orgn/scss',
          cssDir: '../static/page/css/orgn/'
          }
        ]
      }
    }
  }
});

You can use config.rb for build setting. Sample is below.

grunt.initConfig({
 
  compassMultiple: {
    options : {
      // you can use config.rb for build setting. 
      config: 'config.rb',
      // sassDir must be set, for identify compiling targets. 
      sassDir: 'page/css/orgn/scss'
    },
 
    // compile task. no need any options. 
    common : {},
  }
});

You can identify compile targets files, if you use sassFiles option.

grunt.initConfig({
 
    compassMultiple: {
      options : {
        javascriptsDir: 'js',
        imagesDir: 'img',
      },
 
      // you can set compile target sass files at sassFiles. 
      // and you must be set sassDir for compiling option. This is compass command restriction. 
      sassFilesTest: {
        options: {
          sassDir: 'css3/scss',
          sassFiles: ['css3/scss/sample*.scss', 'css3/scss/hoge.scss'],
          cssDir: ['css3/css'],
        }
      }
    },
});

Copyright (c) 2013 Yohei Munesada Licensed under the MIT license.