dwww Home | Manual pages | Find package

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 identified 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.15 on Thu Sep 4 15:25:46 CEST 2025.