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-contents
Given 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 && verb
Running 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 test
Jon 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.