jgallen23 / grunt-inline-css

Grunt task for turning an html file with linked css to inline css. Great for emails.
MIT License
195 stars 33 forks source link

grunt-inline-css

Takes an html file with css link or separate css files and turns inline. Great for emails. It leverages the amazing juice library.

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-inline-css --save-dev

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

grunt.loadNpmTasks('grunt-inline-css');

The "inlinecss" task

Overview

In your project's Gruntfile, add a section named inlinecss to the data object passed into grunt.initConfig().

grunt.initConfig({
    inlinecss: {
        main: {
            options: {
            },
            files: {
                'out.html': 'in.html'
            }
        }
    }
})

You can see available options here

The "inlinecontent" task

Overview

In your project's Gruntfile, add a section named inlinecontent to the data object passed into grunt.initConfig().

grunt.initConfig({
    inlinecontent: {
        main: {
            {
                src: 'examples/in.html',
                css: ['examples/file.css'],
                dest: 'tmp/out.html',
            },
        }
    }
})

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.