New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mustache-file

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mustache-file

Read mustache files and partials from disk and pass them to mustache

  • 2.4.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19
decreased by-74.32%
Maintainers
1
Weekly downloads
 
Created
Source

mustache-file

Read mustache files and partials from disk.

This is simple wrapper around the standard mustache templating package.

This module is designed to read its template files from disk, as well as any partials referred to therein. It is fully async and is either passed a callback or it returns a promise.

Mustache is a logic-less template syntax. It can be used for HTML, config files, source code - anything. It works by expanding tags in a template using values provided in a hash or object.

For a language-agnostic overview of mustache's template syntax, see the mustache(5) manpage.

Install

npm install mustache-file

Usage

Mustache = require('mustache-file');

This returns a Mustache class that can be instantiated with new.

must = new Mustache(options);

Create a new Mustache object. Options is an object containing:

extension:

The extension to add to the template names passed to render(). If extension is null, nothing will be added to the filename. There is no need for the leading . on the extension. The default is "mustache".

path:

This is the path to look for the template and any partials. It can either be a string or an array of strings. If it is an array, the paths will be searched in order, both for the original template and for each partial. Relative paths are searched from the current working directory.

If it is not passed, templates will be loaded from the current working directory.

Example:

must = new Mustache({
    extension: 'html',
    path: [ 'templates/special', 'templates' ]
});

To render the template either pass a callback or (if no callback is passed) render() will return a promise.

With a callback
must = new Mustache({
    must.render(template, context, function(err, html) {
        if (err) throw err;
        // Send html to the browser, for example
    });
As a promise
must = new Mustache({
    must.render(template, context)
    .then(function(html) {
        // Send html to the browser, for example
    })
    .catch(function(err) {
        throw err;
    });

Mustache as a command-line utility

Starting from version 2.0.0, mustache-file contains a mustache executable. You can make this globally available by:

npm install -g mustache-file

The syntax is:

mustache [options] template.mustache [ context.json ]
  options:
    -o | --output:    Output path for the rendered text
                      (STDOUT if not specified)
    -p | --pretty:    Reformat the html output
    -e | --extension: override the default extension of .mustache
    -v | --version:   Print version and exit
    -h | --help:      This help list

If no context is required, context.json can be omitted. Also, the suffixes .mustache and .json will be added automatically if omitted.

It is possible to override the .mustache suffix with the --extension switch. This will add the correct extension for the main file and all the partials. For example:

mustache --extension 'html' index

If no output file is specified, output will be to stdout.

Any problems?

Any issues or comments would be appreciated at Github.

Keywords

FAQs

Package last updated on 06 Nov 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc