Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including gulp-mustache with all npm packages installed. Try it out:

var gulpMustache = require("gulp-mustache")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

gulp-mustache v4.1.2

A plugin for Gulp that renders mustache templates into html

gulp-mustache NPM version Build Status Dependency Status

Greenkeeper badge

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:

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

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

options.tags

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

partials

Type: hash Default: { }

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

License

MIT License

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free