0.0.1 • Published 7 years ago

gulp-tag-content-replace v0.0.1

Weekly downloads
100
License
MIT
Repository
github
Last release
7 years ago

gulp-tag-content-replace

A string or tag based area-replace plugin for gulp

A gulp plugin to replace areas in text files, like comments and the code between them in js. If a tag is defined to be replaced, every PAIRED occurence of this tag and the content (even multiple lines) within will be replaced with a given string. To use a start and an end tag is even possible. In detail: The regex /startTag(?:(?!endTag").)*(.|\\n|\\r)*?endTag/gm is used to replace and given tags get escaped properly.

Usage

First, install gulp-tag-content-replace as a development dependency:

npm install --save-dev gulp-tag-content-replace

Then, add it to your gulpfile.js:

Replace with equal tag

var replace = require('gulp-replace');

gulp.task('templates', function(){
  gulp.src(['updates.txt'])
    .pipe(replace("/*today*/", '+' + new Date().toString())) //transforms every /*today*/ -> "day month Date year...."
    .pipe(gulp.dest('./build/'));
});

Define start and end tags

var replace = require('gulp-tag-content-replace');

gulp.task('templates', function(){
  gulp.src(['Code.java'])
    .pipe(replace("//use", "//less", "System.gc();")) //transforms every //use whateverXYZ //less -> System.gc();
    .pipe(replace("//", "Author", "Linus McTux, Sr.")) //transforms every "//Author" -> "Linus McTux, Sr."
    .pipe(gulp.dest('./build/'));
});

Delete Content

var replace = require('gulp-tag-content-replace');

gulp.task('templates', function(){
  gulp.src(['app.js'])
    .pipe(replace("/*dev*/", "")) // deletes occurence of /*dev*/ whateverXYZ /*dev*/
    .pipe(replace("//debug", "//debug_end", "")) // deletes occurence of //debug whateverXYZ //debug_end
    .pipe(replace("<!--", "-->", ""))
    .pipe(gulp.dest('./build/'));
});

API

gulp-tag-content-replace can be called with two or three string arguments replacements from file planned

replace(tag, replacement)

tag

Type: String

The tags to search for.

replacement

Type: String

The replacement string.

replace(start-tag, end-tag, replacement)

start-tag

Type: String

The start tag to search for.

end-tag

Type: String

The end tag to search for.

replacement

Type: String

The replacement string.

Test

Mocha gets used for test cases: npm test

License

MIT