MUSTACHE(1) Mustache Manual MUSTACHE(1)
NAME
mustache - Mustache processor
SYNOPSIS
mustache <YAML> <FILE>
mustache --compile <FILE>
mustache --tokens <FILE>
DESCRIPTION
Mustache is a logic-less templating system for HTML, config files, any-
thing.
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 mus-
tache(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}}
$ mustache data.yml template.mustache
Hi chris!
Hi mark!
Hi scott!
If you provide multiple YAML documents (as delimited by ---), your tem-
plate 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}}!
$ mustache data.yml template.mustache
Hi chris!
Hi mark!
Hi scott!
OPTIONS
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 iden-
tified by examining the tokens produced.
INSTALLATION
If you have RubyGems installed:
gem install mustache
EXAMPLES
$ 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
COPYRIGHT
Mustache is Copyright (C) 2009 Chris Wanstrath
Original CTemplate by Google
SEE ALSO
mustache(5), gem(1), http://mustache.github.io/
DEFUNKT November 2016 MUSTACHE(1)
Generated by dwww version 1.16 on Tue Dec 16 06:29:56 CET 2025.