Skip to content

tactivos/grunt-rev-md5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: {
        options: {
            /** @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,
            /** @optional - let you define extentions and the file types (html or css). If not provided, a default set of types will be used. */
            supportedTypes : {
              'jsp' : 'html'
            }
        },
        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/'
        }
    }
});

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
  • 0.2.0 Migrated to Grunt ~0.4.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published