98 lines
3.1 KiB
Markdown
98 lines
3.1 KiB
Markdown
# gulp-token-replace [![NPM version][npm-image]][npm-url] [![Build status][travis-image]][travis-url]
|
|
|
|
> A token replace plugin for gulp 3
|
|
|
|
## Installation
|
|
|
|
First, install `gulp-token-replace` as a development dependency:
|
|
|
|
`npm install --save-dev gulp-token-replace`
|
|
|
|
## Usage
|
|
|
|
Add it to your `gulpfile.js`:
|
|
|
|
```javascript
|
|
var replace = require('gulp-token-replace');
|
|
|
|
gulp.task('token-replace', function(){
|
|
var config = require('./configuration/config.json');
|
|
return gulp.src(['src/*.js', 'src/*.html'])
|
|
.pipe(replace({global:config}))
|
|
.pipe(gulp.dest('dist/'))
|
|
});
|
|
```
|
|
|
|
## Example config
|
|
|
|
```javascript
|
|
module.exports = {
|
|
"tokens":{
|
|
"RMLibs":"http://ads.pictela.com/ads/jsapi/ADTECH.js",
|
|
"size":"320x50",
|
|
"Copyrights":"Copyright 2010-2014 AOL Platforms.",
|
|
"Author":"Martin Wojtala"
|
|
},
|
|
"main":{
|
|
"name":"example",
|
|
"title":"EXAMPLE TITLE"
|
|
}
|
|
};
|
|
```
|
|
|
|
In a file (also works for JavaScript)
|
|
```html
|
|
<!--{{tokens.Copyrights}}-->
|
|
<!--canvasSize:{{tokens.size}}-->
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head><title>{{main.title}}</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9">
|
|
<meta charset="UTF-8">
|
|
<script src="{{tokens.RMLibs}}"></script>
|
|
<script src="swipe.min.js"></script>
|
|
<link rel="stylesheet" href="{{main.name}}.css">
|
|
<script src="{{main.name}}.debug.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="content"></div>
|
|
<div id="debug"></div>
|
|
</body>
|
|
</html>
|
|
```
|
|
|
|
## CHANGELOG
|
|
* **[1.1.2]** Full support for arrays (thank you for the feature request Daniel Jost & @gregmcor).
|
|
* **[1.1.1]** Minor documentation adjustments.
|
|
* **[1.1.0]** Added support for nested arrays. Tokens can now include an array which can be retrieved by specific order number (i.e. array[0]);
|
|
* **[1.0.4]** Dependencies bump (contribution by @coreyfarrell).
|
|
* **[1.0.3]** Custom token delimiter added (contribution by @ejurgelionis).
|
|
* **[1.0.2]** Added a object replace feature.
|
|
|
|
## API
|
|
|
|
gulp-token-replace can be called with a config object with these attributes:
|
|
* **prefix** (defaults to '{{')
|
|
* **suffix** (defaults to '}}')
|
|
* **tokens** (or **global**) - An object containing all the tokens to be used for replacement. This object can contain
|
|
sub-objects with hierarchical tokens.
|
|
* **preserveUnknownTokens** (defaults to false) - By default unknown tokens will be removed from the source file and
|
|
replaced with an empty string. By setting the preserveUnknownTokens option to true, the source file will not be
|
|
changed when an unknown token is encountered.
|
|
* **delimiter** (defaults to '.') - By default dot-notation is used to search for values in sub-objects. By setting
|
|
the delimiter option to any other value, tokens like `{{main.css}}` or `{{styles/main.css}}` can be used.
|
|
|
|
### replace(object)
|
|
|
|
#### object
|
|
Type: `Object`
|
|
|
|
configuration object.
|
|
|
|
*Note:* gulp-token-replace cannot perform regex replacement on streams.
|
|
|
|
[travis-url]: http://travis-ci.org/Pictela/gulp-token-replace
|
|
[travis-image]: https://secure.travis-ci.org/Pictela/gulp-token-replace.png?branch=master
|
|
[npm-url]: https://npmjs.org/package/gulp-token-replace
|
|
[npm-image]: https://badge.fury.io/js/gulp-token-replace.png
|