Given you have a file with the following [front-matter][gray-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('{%= name %}');
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);
}
})