Package Exports
- gulp-replace-task
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gulp-replace-task) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gulp-replace-task
Replace text patterns with applause.
Install
From NPM:
npm install gulp-replace-task --save-dev
Usage
Assuming installation via NPM, you can use gulp-replace-task
in your gulpfile like this:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
gulp.task('default', function () {
gulp
.src('src/index.html')
.pipe(
replace({
patterns: [
{
match: 'foo',
replacement: 'bar'
}
]
})
)
.pipe(gulp.dest('build'));
});
Options
Supports all the applause options.
Examples
Basic
File src/manifest.appcache
:
CACHE MANIFEST
# @@timestamp
CACHE:
favicon.ico
index.html
NETWORK:
*
Gulpfile:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
gulp.task('default', function () {
gulp
.src('src/manifest.appcache')
.pipe(
replace({
patterns: [
{
match: 'timestamp',
replacement: Date.now()
}
]
})
)
.pipe(gulp.dest('build'));
});
Multiple matching
File src/manifest.appcache
:
CACHE MANIFEST
# @@timestamp
CACHE:
favicon.ico
index.html
NETWORK:
*
File src/humans.txt
:
__ _
_ _/__ /./|,//_`
/_//_// /_|/// //_, outaTiME v.@@version
/* TEAM */
Web Developer / Graphic Designer: Ariel Oscar Falduto
Site: https://www.outa.im
Twitter: @outa7iME
Contact: afalduto at gmail dot com
From: Buenos Aires, Argentina
/* SITE */
Last update: @@timestamp
Standards: HTML5, CSS3, robotstxt.org, humanstxt.org
Components: H5BP, Modernizr, jQuery, Bootstrap, LESS, Jade, Grunt
Software: Sublime Text, Photoshop, LiveReload
Gulpfile:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
var pkg = require('./package.json');
gulp.task('default', function () {
gulp
.src(['src/manifest.appcache', 'src/humans.txt'])
.pipe(
replace({
patterns: [
{
match: 'version',
replacement: pkg.version
},
{
match: 'timestamp',
replacement: Date.now()
}
]
})
)
.pipe(gulp.dest('build'));
});
Cache busting
File src/index.html
:
<head>
<link rel="stylesheet" href="/css/style.css?rel=@@timestamp">
<script src="/js/app.js?rel=@@timestamp"></script>
</head>
Gulpfile:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
gulp.task('default', function () {
gulp
.src('src/index.html')
.pipe(
replace({
patterns: [
{
match: 'timestamp',
replacement: Date.now()
}
]
})
)
.pipe(gulp.dest('build'));
});
Include file
File src/index.html
:
<body>
@@include
</body>
Gulpfile:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
var fs = require('fs');
gulp.task('default', function () {
gulp
.src('src/index.html')
.pipe(
replace({
patterns: [
{
match: 'include',
replacement: fs.readFileSync('./includes/content.html', 'utf8')
}
]
})
)
.pipe(gulp.dest('build'));
});
Regular expression
File src/username.txt
:
John Smith
Gulpfile:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
gulp.task('default', function () {
gulp
.src('src/username.txt')
.pipe(
replace({
patterns: [
{
match: /(\w+)\s(\w+)/,
replacement: '$2, $1' // Replaces "John Smith" with "Smith, John"
}
]
})
)
.pipe(gulp.dest('build'));
});
Lookup for foo
instead of @@foo
Gulpfile:
var gulp = require('gulp');
var replace = require('gulp-replace-task');
gulp.task('default', function () {
gulp
.src('src/foo.txt')
.pipe(
replace({
patterns: [
{
match: /foo/g, // Explicitly using a regexp
replacement: 'bar'
}
]
})
)
.pipe(
replace({
patterns: [
{
match: 'foo',
replacement: 'bar'
}
],
usePrefix: false // Using the option provided
})
)
.pipe(
replace({
patterns: [
{
match: 'foo',
replacement: 'bar'
}
],
prefix: '' // Removing the prefix manually
})
)
.pipe(gulp.dest('build'));
});
Related
- applause - Human-friendly replacements
License
MIT © outaTiME