mustache plugin for gulp
First, install gulp-mustache
as a development dependency:
npm install --save-dev gulp-mustache
Then, add it to your gulpfile.js
:
var mustache = require("gulp-mustache");
gulp.src("./templates/*.mustache")
.pipe(mustache({
msg: "Hello Gulp!"
}))
.pipe(gulp.dest("./dist"));
You may also pass in an object representing mustache partials and their contents
as a third argument to the call to mustache()
like so:
With key/value pairs:
gulp.src("./templates/*.mustache")
.pipe(mustache({
msg: "Hello Gulp!",
nested_value: "I am nested.",
another_value: "1 2 3"
},{},{
some_inner_partial: "<p>{{nested_value}}</p>",
another_partial: "<div>{{another_value}}</div>"
})).pipe(gulp.dest("./dist"));
With a json file:
gulp.src("./templates/*.mustache")
.pipe(mustache('your_json_file.json',{},{}))
.pipe(gulp.dest("./dist"));
Mustache partials not given in the partials
argument will be loaded from disk, relative from the file currently being processed:
{{> ../partials/head }}
This will find a head.mustache
in the partials directory next to the current file's directory. Partials loading is recursive.
Type: hash
or string
Default: undefined
The view object, containing all template variables as keys. If you pass a string
it will be used as the path to a JSON file containing view variables.
As of v1.0.1
, file.data
is supported as a way of passing data into mustache. See this.
Type: hash
Default: { }
The options object to configure the plugin.
Type: string
Default: the extension of the current file
Type Array
Default undefined
Pass custom mustache delimiters. This must be an Array of strings where the first item is the opening tag and the second the closing tag.
Example:
['{{custom', 'custom}}']
Type: hash
Default: { }
An optional object of mustache partial strings. See mustache.js for details on partials in mustache.