grunt-usemin2
v0.0.6
Published
An alternative to grunt-usemin.
Downloads
6
Readme
grunt-usemin2
An alternative to grunt-usemin
Usage
Configuration
{
options: {
// If provided, then set all path in html files relative to this directory
baseDir: "baseDir/",
// Same thing as baseDir but forces path to be absolute to this directory
absoluteBaseDir: "baseDir/",
// Task(s) to execute to process the css
cssmin: 'cssmin',
// Task(s) to execute to process the js
jsmin: 'uglify'
},
// This should contain a reference to all HTML files that usemin2
// needs to process
html: 'src/*.html',
// This section contain everything about css files processing
css: {
// You can create as much section as you want with
// any name you want to use
section_name: {
// Each section should define a destination that point to the file
// that will be created if the minification process is executed
dest: "dest/css/section_name.min.css",
// Files that needs to be processed for this section
files: [{
// Same as usual
cwd: "src",
// List of src (can be an array), each can be expanded,
// you can also use a special "__min__" markup to select
// thje correct file depending on the running process
src: ["css/*.css", "externals/css/*__min__.css"]
// Destination of the files when no minification process
// occurs
dest: "dest/"
} /* , ... */]
}/* , ... */
},
// Same as css but for js files
js: {
// ...
}
}
Options
baseDir
: not set by default, set all path in html files relative to this directory.absoluteBaseDir
: same asbaseDir
but forces path to be absolute from this point (starting with a /).cssmin
: defaults to'cssmin'
, tasks to execute to minify CSS files. Also accepts an array of tasks like['cssmin1', 'cssmin2']
. In this case, it supposes that the first task is able to produce a single file from numerous inputs. If it does not, use 'concat' first like in:['concat', 'taskonsinglefile', 'cssmin']
.jsmin
: same ascssmin
but for js minification process, defaults to'uglify'
.
HTML files
Just add simple comments to your HTML file that will be replaced by the correct include(s) depending on the process :
<!-- usemin2:css:section_name -->
<!-- usemin2:js:section_name -->
Invokation
Right now, by default grunt-usemin2 assume it is in dev mode
. It means that
it will publish each files listed in src sections to its corresponding
destination and then replace sections in HTML files by a list of all moved files.
To activate the minification process, you need to be in release mode
. To do so,
you have to pass a release
argument to the task just like that :
grunt usemin2:release
Any argument value other than release
is ignored thus making the task behave
as if in dev mode
.
When the minification process is used, each task of the process is executed resulting in a single file per section. This is the single file that will be included in the HTML file where the section is referenced.