Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
MUSTACHE(1) Mustache Manual MUSTACHE(1)

mustache - Mustache processor

mustache <YAML> <FILE> mustache --compile <FILE> mustache --tokens <FILE>

Mustache is a logic-less templating system for HTML, config files, anything.
The mustache command processes a Mustache template preceded by YAML frontmatter from standard input and prints one or more documents to standard output.
YAML frontmatter begins with --- on a single line, followed by YAML, ending with another --- on a single line, e.g.
--- names: [ {name: chris}, {name: mark}, {name: scott} ] ---
If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON should work fine.
After the frontmatter should come any valid Mustache template. See mustache(5) for an overview of Mustache templates.
For example:
{{#names}} Hi {{name}}! {{/names}}
Now let´s combine them.
$ cat data.yml --- names: [ {name: chris}, {name: mark}, {name: scott} ] ---
$ cat template.mustache {{#names}} Hi {{name}}! {{/names}}
$ cat data.yml template.mustache | mustache Hi chris! Hi mark! Hi scott!
If you provide multiple YAML documents (as delimited by ---), your template will be rendered multiple times. Like a mail merge.
For example:
$ cat data.yml --- name: chris --- name: mark --- name: scott ---
$ cat template.mustache Hi {{name}}!
$ cat data.yml template.mustache | mustache Hi chris! Hi mark! Hi scott!

By default mustache will try to render a Mustache template using the YAML frontmatter you provide. It can do a few other things, however.
-c, --compile
Print the compiled Ruby version of a given template. This is the code that is actually used when rendering a template into a string. Useful for debugging but only if you are familiar with Mustache´s internals.
-t, --tokens
Print the tokenized form of a given Mustache template. This can be used to understand how Mustache parses a template. The tokens are handed to a generator which compiles them into a Ruby string. Syntax errors and confused tags, therefore, can probably be identified by examining the tokens produced.

If you have RubyGems installed:
gem install mustache

$ mustache data.yml template.mustache $ cat data.yml | mustache - template.mustache $ mustache -c template.mustache $ cat <<data | ruby mustache - template.mustache --- name: Bob age: 30 --- data

Mustache is Copyright (C) 2009 Chris Wanstrath
Original CTemplate by Google

mustache(5), gem(1),
October 2014 DEFUNKT

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.