0.1.6 • Published 10 years ago

gulp-hash-src v0.1.6

Weekly downloads
392
License
MIT
Repository
github
Last release
10 years ago

gulp-hash-src

Automatically add cache busting hashes to links in HTML and CSS.

Usage

var gulp = require("gulp"),
    hash_src = require("gulp-hash-src");

gulp.task("hash", function() {
    return gulp.src(["./client/**/*.html", "./client/**/*.css"])
        .pipe(hash_src({build_dir: "./build", src_path: "./client"}))
        .pipe(gulp.dest("./build"))
});

Or added it to the pipe line:

var gulp = require("gulp"),
    htmlmin = require("gulp-htmlmin"),
    hash_src = require("gulp-hash-src");

gulp.task("html", ["js", "css"], function ()
{
    return gulp.src("./client/**/*.html")
        .pipe(htmlmin())
        .pipe(hash_src({build_dir: "./build", src_path: "./client"}))
        .pipe(gulp.dest("./build"))
});

That will turn something like

<script src="file.js">

into

<script src="file.js?cbh=0123456789abcdef">

or

html {
    background: url(image.jpg);
}

into

html {
    background: url(image.jpg?cbh=0123456789abcdef);
}

Note

The files that are to be hash must be located in build_dir prior to running hash_src().

Options

build_dir   Where the files are that need to be hashed (required)

src_path    Where the files originated from (required)

hash        The type of hash (default: "md5")

hash_len    The length of the hash (default: null)
            If hash_len is falsey, the entire hash is used.

enc         Hash encoding (default: "hex")

exts        An array of the types of files to hash
            (default: [".js", ".css", ".jpg", ".jpeg", ".png", ".gif", ".webp", ".svg", ".pdf", ".ico", ".ttf", ".woff", ".mp3", ".ogg", ".ogv", ".mp4", ".webm", ".zip", ".tar", ".gz", ".bz2"])

regex       The regular expression to find links
            (by default it looks for something like src="..." href="..." url(...)

analyze     The function to use to analyze the regular expression matches
            The function will receive an array of the matches from the regex.
            Must return an object like so:
            {
                prefix: "href=",
                link:   "/file.js",
                suffix: "",
                abs: false (optional)
            }

query_name  The query string to add to the hash (default: "cbh")
            Turns links into href="file.css?cbh=0123456789abcdef"
            To remove the string entirely, give a blank string and get
            href="file.css?0123456789abcdef"

verbose     Whether or not to log info about what is happening (default: false)
            Useful for debugging

License

MIT

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

11 years ago

0.0.1

11 years ago