Given HTML, juice will inline your CSS properties into the style attribute.
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-juice --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-juice');
Run this task with the grunt juice
command.
Task targets, files and options may be specified according to the grunt Configuring tasks guide.
This task uses the same options as those passed to the juice module. The original documentation can be found here.
Type: String
Default: ""
Extra css to apply to the file.
Type: Boolean
Default: true
Whether to inline styles in <style></style>
.
Type: Boolean
Default: true
Whether to remove the original <style></style>
tags after (possibly) inlining the css from them.
Type: Boolean
Default: false
Preserves all media queries (and contained styles) within <style></style>
tags as a refinement when removeStyleTags
is true
. Other styles are removed.
Type: Boolean
Default: false
Whether to use any CSS pixel widths to create width
attributes on elements set in juice.widthElements
.
Type: Object
Default: {}
An options object that will be passed through to web-resource-inliner for juice functions that will get remote resources (juiceResources
and juiceFile
).
grunt.initConfig({
juice: {
options: {},
dist: {
files: [{
src: 'source/emails/template.html',
dest: 'public/emails/template.html'
}]
}
}
})
This task supports all the file mapping format Grunt supports. Please read Globbing patterns and Building the files object dynamically for additional details.
Task submitted by Filip Mares