Gulp plugin that replaces the contents of a file with the contents of another file using the filepath specified on the 'contents' property in front-matter. Customizable, useful for generating scaffolding or defining placeholder files.
Install with npm:
$ npm install --save gulp-data-contentsGiven you have a file with the following front-matter:
---
contents: scaffold.txt
---
This plugin will replace the contents of the file with the contents from scaffold.txt.
var gulp = require('gulp');
var contents = require('gulp-data-contents');
gulp.task('contents', function() {
return gulp.src('example.txt')
.pipe(contents())
.pipe(gulp.dest('dist'));
});Customize the file property to use. By default, file.data.contents is used.
Type:: string
Default:: data.contents
Example
contents({prop: 'data.value'})Which would be used like this:
---
value: scaffold.txt
---
Note that gray-matter (the front-matter parser used by assemble, metalsmith, the electron website and many others, uses the file.data property for front-matter. Other libraries might use a different property).
Customize current working directory to use for filepath specified in front-matter. If not specified, file.base is used as the cwd.
Type:: string
Default:: undefined
Example
contents({cwd: 'templates'})Custom function for resolving file.contents from the path defined in front-matter.
Type:: function
Default: Uses fs.readFileSync()
Example
contents({
resolve: function(file, options, next) {
var fp = path.join('some/path', file.data.contents);
file.contents = fs.readFileSync(fp);
next(null, file);
}
})Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verbRunning and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm testJon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on August 07, 2017.