gulp-replace-md5

0.0.11 • Public • Published

gulp-replace-md5

A gulp plugin to replace static file url with file-md5.

Usage

var gulp = require("gulp"),
    gulpReplaceMd5 = require("gulp-replace-md5");
 
gulp.task("replaceMd5", function() {
 
    return gulp.src("../html/**")
        // options is optional
        .pipe(gulpReplaceMd5( options ) )
        .pipe(gulp.dest("./output"));
});

Before the html is like this.

<!doctype html>
<head>
<link rel="stylesheet" type="text/css" href="{{../css/hello.css}}" />
</head>
<body>
<script src="{{../js/hello.js}}"></script>
</body>
</html>

After replacement, the html is like this.

<!doctype html>
<head>
<link rel="stylesheet" type="text/css" href="../css/hello_7df0asdf3.css" />
</head>
<body>
<script src="../js/hello_8df7asdf9.js"></script>
</body>
</html>

gulpReplaceMd5([options])

  • options {Object}

Options

  • openTag default {{.
  • closeTag default }}. Only those surrounded with openTag and closeTag will be replaced.
<!doctype html>
<head>
    <title></title>
    <link href="{{../css/hello.css}}" type="text/css" rel="stylesheet"/>
</head>
<body>
<script src="{{../js/hello.js}}" ></script>
<!-- this js won't be replaced -->
<script src="../js/world.js" ></script>
</body>
</html>
  • hashFunction You can define the hashFunction yourself. Currently, the hashFunction is listed below. you can redefined it according to your demands.
// transfer the {{../js/hello.js}} to ../js/hello_md5.js
function(filename) {
     return function(content) {
            return filename.split('.').map(function(item, i, arr) {
                // calcMd5 is a self-defined md5 function
                return i == arr.length - 2 ? item + '_' + calcMd5(content) : item;
            }).join('.');
     }
}
  • staticHash Optional. Sometimes, you want to designate some url's corresponding urls. Use this.
    {
        "../js/a.js": "../js/a_md5ed.js",
        "../js/b.js": "../js/b_md5ed.js",
        "../css/a.css": "../css/a_md5ed.css",
        "../css/b.css": "../css/b_md5ed.css"
    }
  • base defaut ''. If there are absolute path in your html or other files. base must be set.

  • staticPrefix, you can add staticPrefix before your static files.

Readme

Keywords

none

Package Sidebar

Install

npm i gulp-replace-md5

Weekly Downloads

12

Version

0.0.11

License

none

Last publish

Collaborators

  • git-patrickliu