gulp-rev-collector-search-modify
v1.0.0
Published
Copy and modify by gulp-rev to fit our need. Static asset revision data collector from manifests, generated from different streams, and replace their links in html template.
Maintainers
Readme
Static asset revision data collector from manifests, generated from different streams, and replace their links in html template.
Install
$ npm install --save gulp-rev-collector-search-modifyUsage
We can use gulp-rev-search-modify to cache-bust several assets and generate manifest files for them. Then using gulp-rev-collector-search-modify we can collect data from several manifest files and replace links to assets in html templates.
var gulp = require('gulp');
var rev = require('gulp-rev');
gulp.task('css', function () {
return gulp.src('src/css/*.css')
.pipe(rev())
.pipe(gulp.dest('dist/css'))
.pipe( rev.manifest() )
.pipe( gulp.dest( 'rev/css' ) );
});
gulp.task('scripts', function () {
return gulp.src('src/js/*.js')
.pipe(rev())
.pipe(gulp.dest('dist/js'))
.pipe( rev.manifest() )
.pipe( gulp.dest( 'rev/js' ) );
});
...
var revCollector = require('gulp-rev-collector-search-modify');
var minifyHTML = require('gulp-minify-html');
gulp.task('rev', function () {
return gulp.src(['rev/**/*.json', 'templates/**/*.html'])
.pipe( revCollector({
replaceReved: true,
dirReplacements: {
'css': '/dist/css',
'/js/': '/dist/js/',
'cdn/': function(manifest_value) {
return '//cdn' + (Math.floor(Math.random() * 9) + 1) + '.' + 'exsample.dot' + '/img/' + manifest_value;
}
}
}) )
.pipe( minifyHTML({
empty:true,
spare:true
}) )
.pipe( gulp.dest('dist') );
});Options
collectedManifest
Type : String
It is a filename for collecded and merged manifest data in json format.
replaceReved
Type : Boolean
You set a flag, replaceReved, which will replace alredy replaced links in template's files. Default value is false.
dirReplacements
Specifies a directories replacement set. gulp-rev-search-modify creates manifest files without any info about directories. E.c. if you use dirReplacements param from Usage example, you get next replacement:
"/css/style.css" => "/dist/css/style?v=1d87bebe.css"
"/js/script1.js" => "/dist/script1?v=61e0be79.js"
"cdn/image.gif" => "//cdn8.example.dot/img/image?v=35c3af8134.gif"revSuffix
Type : String
It is pattern for define reved files suffixes. Default value is '?v=[0-9a-f]{8,10}'. This is necessary in case of e.c.
