2.0.2 • Published 3 years ago
broccoli-replace v2.0.2
broccoli-replace
Replace text patterns with applause.
Install
From NPM:
npm install broccoli-replace --save-dev
Usage
Assuming installation via NPM, you can use broccoli-replace
in your Brocfile.js like this:
var BroccoliReplace = require('broccoli-replace');
module.exports = new BroccoliReplace('src', {
files: [
'**/*.html'
],
patterns: [
{
match: 'foo',
replacement: 'bar'
}
]
});
Options
Supports all the applause options.
Examples
Basic
File src/manifest.appcache
:
CACHE MANIFEST
# @@timestamp
CACHE:
favicon.ico
index.html
NETWORK:
*
Brocfile.js:
var BroccoliReplace = require('broccoli-replace');
module.exports = new BroccoliReplace('src', {
files: [
'manifest.appcache'
],
patterns: [
{
match: 'timestamp',
replacement: Date.now()
}
]
});
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
Brocfile.js:
var BroccoliReplace = require('broccoli-replace');
var pkg = require('./package.json');
module.exports = new BroccoliReplace('src', {
files: [
'manifest.appcache',
'humans.txt'
],
patterns: [
{
match: 'version',
replacement: pkg.version
},
{
match: 'timestamp',
replacement: Date.now()
}
]
});
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>
Brocfile.js:
var BroccoliReplace = require('broccoli-replace');
module.exports = new BroccoliReplace('src', {
files: [
'index.html'
],
patterns: [
{
match: 'timestamp',
replacement: Date.now()
}
]
});
Include file
File src/index.html
:
<body>
@@include
</body>
Brocfile.js:
var BroccoliReplace = require('broccoli-replace');
var fs = require('fs');
module.exports = new BroccoliReplace('src', {
files: [
'index.html'
],
patterns: [
{
match: 'include',
replacement: fs.readFileSync('./includes/content.html', 'utf8')
}
]
});
Regular expression
File src/username.txt
:
John Smith
Brocfile.js:
var BroccoliReplace = require('broccoli-replace');
module.exports = new BroccoliReplace('src', {
files: [
'username.txt'
],
patterns: [
{
match: /(\w+)\s(\w+)/,
replacement: '$2, $1' // Replaces "John Smith" with "Smith, John"
}
]
});
Lookup for foo
instead of @@foo
Brocfile.js:
var BroccoliMergeTrees = require('broccoli-merge-trees');
var BroccoliReplace = require('broccoli-replace');
var inputNodes = [
new BroccoliReplace('src', {
files: [
'foo.txt'
],
patterns: [
{
match: /foo/g, // Explicitly using a regexp
replacement: 'bar'
}
]
}),
new BroccoliReplace('src', {
files: [
'foo.txt'
],
patterns: [
{
match: 'foo',
replacement: 'bar'
}
],
usePrefix: false // Using the option provided
}),
new BroccoliReplace('src', {
files: [
'foo.txt'
],
patterns: [
{
match: 'foo',
replacement: 'bar'
}
],
prefix: '' // Removing the prefix manually
})
];
module.exports = new BroccoliMergeTrees(nodes);
Related
- applause - Human-friendly replacements
License
MIT © outaTiME
2.0.2
3 years ago
2.0.1
3 years ago
2.0.0
3 years ago
0.12.0
8 years ago
0.11.0
9 years ago
0.10.1
9 years ago
0.3.3
9 years ago
0.3.1
9 years ago
0.3.0
9 years ago
0.2.0
10 years ago
0.1.7
10 years ago
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
10 years ago
0.0.1
10 years ago