Skip to content

Latest commit

 

History

History
87 lines (56 loc) · 1.54 KB

.verb.md

File metadata and controls

87 lines (56 loc) · 1.54 KB

What does this do?

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.

Usage

var gulp = require('gulp');
var contents = require('{%= name %}');

gulp.task('contents', function() {
  return gulp.src('example.txt')
    .pipe(contents())
    .pipe(gulp.dest('dist'));
});

Options

options.prop

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).

options.cwd

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'})

options.resolve

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);
  }
})