Inject snippets in build
append(str) // Appends the string
prepend(str) // Prepends the string
wrap(start, end) // Wraps file contents in between *start* and *end*
before(search, str) // Inserts the string before the first occurence of *search*
after(search, str) // Inserts the string after the first occurence of *search*
beforeEach(search, str) // Inserts the string before each occurence of *search*
afterEach(search, str) // Inserts the string after each occurence of *search*
replace(search, str) // Replaces each occurence of *search* with *str*
See examples/build for output.
var gulp = require('gulp'),
rename = require('gulp-rename'),
inject = require('gulp-inject-string');
gulp.task('inject:append', function(){
gulp.src('src/example.html')
.pipe(inject.append('\n<!-- Created: ' + Date() + ' -->'))
.pipe(rename('append.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:prepend', function(){
gulp.src('src/example.html')
.pipe(inject.prepend('<!-- Created: ' + Date() + ' -->\n'))
.pipe(rename('prepend.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:wrap', function(){
gulp.src('src/example.html')
.pipe(inject.wrap('<!-- Created: ' + Date() + ' -->\n', '<!-- Author: Mike Hazell -->'))
.pipe(rename('wrap.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:before', function(){
gulp.src('src/example.html')
.pipe(inject.before('<script', '<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>\n'))
.pipe(rename('before.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:after', function(){
gulp.src('src/example.html')
.pipe(inject.after('</title>', '\n<link rel="stylesheet" href="test.css">\n'))
.pipe(rename('after.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:beforeEach', function(){
gulp.src('src/example.html')
.pipe(inject.beforeEach('</p', ' Finis.'))
.pipe(rename('beforeEach.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:afterEach', function(){
gulp.src('src/example.html')
.pipe(inject.afterEach('<p', ' class="bold"'))
.pipe(rename('afterEach.html'))
.pipe(gulp.dest('build'));
});
gulp.task('inject:replace', function(){
gulp.src('src/example.html')
.pipe(inject.replace('test.js', 'test.min.js'))
.pipe(rename('replace.html'))
.pipe(gulp.dest('build'));
});
gulp.task('default', [
'inject:append',
'inject:prepend',
'inject:wrap',
'inject:before',
'inject:after',
'inject:beforeEach',
'inject:afterEach',
'inject:replace'
]);
- Removed gulp-util dependency. Thanks TheDancingCode
- Added
replace
. Thanks alexweber. - Realised that as soon as you say something is complete and will not need to change... someone will think of something else it should do.
- Added beforeEach and afterEach. Thanks Joachim.
After a year with no changes or issues, this might as well be a 1.0. It will probably never change again.