grunt-rev-md5-ideame

0.1.4 • Public • Published

Grunt plugin for automating resource versioning based on the MD5 hash of referenced files (works on CSS, HTML, SOYs)

Getting Started

Install this grunt plugin next to your project's gruntfile with: npm install grunt-rev-md5

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

grunt.loadNpmTasks('grunt-rev-md5');

Then specify your config:

    grunt.initConfig({
        revmd5: {
            dist: {
                /** @required  - string (or array of) including grunt glob variables */
                src: ['./static/*.html', './static/*.css', './static/*.soy'],
                /** @optional  - if provided a copy will be stored without modifying original file */
                dest: './dist/static/',
                /** @required - base file system path for your resources (which MD5 will be calculated) */
                relativePath: './',
                /** @optional - when provided if a resource isn't found will fail with a warning */
                safe: true
            }
        }
    });

Notes about path location

There are two types of path resolution that this task do: relative and absolute.

  • Relative. Imagine that you're referencing the file image1.png from styles.css which is stored on /static/home/css in this way:
    background: url('../image1.png')

In this case our grunt task will go to css path and combine its path (the css) with the relative path resulting in `/static/home/image1.png'. This looks as the most comprehensive behavior in this case.

  • Absolute. Imagine that you're referencing the file image2.png from styles.css and you've set the relativePath to be ./public
    background: url('/static/images/image2.png')

In this case our grunt task will go to the relativePath and combine it with the resource path resulting in `./public/static/images/image2.png'.

NOTE: We consider paths starting with . (or ..) as relative, and with / absolute. We're using the same aproach as the *NIX file-system.

Release History

  • 0.1.0 Initial Release

Readme

Keywords

none

Package Sidebar

Install

npm i grunt-rev-md5-ideame

Weekly Downloads

5

Version

0.1.4

License

none

Last publish

Collaborators

  • jpgarcia
  • ideame