/gulp-mustache

A gulp plugin that renders mustache templates

Primary LanguageJavaScriptMIT LicenseMIT

gulp-mustache NPM version Build Status Dependency Status

mustache plugin for gulp

Usage

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:

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

Partials loaded from disk

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.

API

mustache(view, options, partials)

view

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.

options

Type: hash Default: { }

The options object to configure the plugin.

options.extension

Type: string Default: the extension of the current file

partials

Type: hash Default: { }

An optional object of mustache partial strings. See mustache.js for details on partials in mustache.

License

MIT License