Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: b31c599c92
Fetching contributors…

Cannot retrieve contributors at this time

205 lines (164 sloc) 5.513 kb
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' value='text/html;charset=utf8'>
<meta name='generator' value='Ronn/v0.5'>
<title>mustache(1) -- Mustache processor</title>
<style type='text/css'>
body {margin:0}
#man, #man code, #man pre, #man tt, #man kbd, #man samp {
font-family:consolas,monospace;
font-size:16px;
line-height:1.3;
color:#343331;
background:#fff; }
#man { max-width:89ex; text-align:justify; margin:0 25px 25px 25px }
#man h1, #man h2, #man h3 { color:#232221;clear:left }
#man h1 { font-size:28px; margin:15px 0 30px 0; text-align:center }
#man h2 { font-size:18px; margin-bottom:0; margin-top:10px; line-height:1.3; }
#man h3 { font-size:16px; margin:0 0 0 4ex; }
#man p, #man ul, #man ol, #man dl, #man pre { margin:0 0 18px 0; }
#man pre {
color:#333231;
background:#edeceb;
padding:5px 7px;
margin:0px 0 20px 0;
border-left:2ex solid #ddd}
#man pre + h2, #man pre + h3 {
margin-top:22px;
}
#man h2 + pre, #man h3 + pre {
margin-top:5px;
}
#man > p, #man > ul, #man > ol, #man > dl, #man > pre { margin-left:8ex; }
#man dt { margin:0; clear:left }
#man dt.flush { float:left; width:8ex }
#man dd { margin:0 0 0 9ex }
#man code, #man strong, #man b { font-weight:bold; color:#131211; }
#man pre code { font-weight:normal; color:#232221; background:inherit }
#man em, var, u {
font-style:normal; color:#333231; border-bottom:1px solid #999; }
#man h1.man-title { display:none; }
#man ol.man, #man ol.man li { margin:2px 0 10px 0; padding:0;
float:left; width:33%; list-style-type:none;
text-transform:uppercase; font-size:18px; color:#999;
letter-spacing:1px;}
#man ol.man { width:100%; }
#man ol.man li.tl { text-align:left }
#man ol.man li.tc { text-align:center;letter-spacing:4px }
#man ol.man li.tr { text-align:right }
#man ol.man a { color:#999 }
#man ol.man a:hover { color:#333231 }
</style>
</head>
<body>
<div id='man'>
<h1 class='man-title'>mustache(1)</h1>
<ol class='head man'>
<li class='tl'>mustache(1)</li>
<li class='tc'>Mustache Manual</li>
<li class='tr'>mustache(1)</li>
</ol>
<h2 id='NAME'>NAME</h2>
<p><code>mustache</code> -- Mustache processor</p>
<h2>SYNOPSIS</h2>
<pre><code>mustache &lt;YAML> &lt;FILE>
mustache --compile &lt;FILE>
mustache --tokens &lt;FILE>
</code></pre>
<h2>DESCRIPTION</h2>
<p>Mustache is a logic-less templating system for HTML, config files,
anything.</p>
<p>The <code>mustache</code> command processes a Mustache template preceded by YAML
frontmatter from standard input and prints one or more documents to
standard output.</p>
<p>YAML frontmatter beings with <code>---</code> on a single line, followed by YAML,
ending with another <code>---</code> on a single line, e.g.</p>
<pre><code>---
names: [ {name: chris}, {name: mark}, {name: scott} ]
---
</code></pre>
<p>If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON
should work fine.</p>
<p>After the frontmatter should come any valid Mustache template. See
mustache(5) for an overview of Mustache templates.</p>
<p>For example:</p>
<pre><code>{{#names}}
Hi {{name}}!
{{/names}}
</code></pre>
<p>Now let's combine them.</p>
<pre><code>$ 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!
</code></pre>
<p>If you provide multiple YAML documents (as delimited by <code>---</code>), your
template will be rendered multiple times. Like a mail merge.</p>
<p>For example:</p>
<pre><code>$ 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!
</code></pre>
<h2>OPTIONS</h2>
<p>By default <code>mustache</code> will try to render a Mustache template using the
YAML frontmatter you provide. It can do a few other things, however.</p>
<dl>
<dt><code>-c</code>, <code>--compile</code></dt><dd><p>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.</p></dd>
<dt><code>-t</code>, <code>--tokens</code></dt><dd><p>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, therefor, can probably be
identified by examining the tokens produced.</p></dd>
</dl>
<h2>INSTALLATION</h2>
<p>If you have RubyGems installed:</p>
<pre><code>gem install mustache
</code></pre>
<h2>EXAMPLES</h2>
<pre><code>$ mustache data.yml template.mustache
$ cat data.yml | mustache - template.mustache
$ mustache -c template.mustache
$ cat &lt;&lt;data | ruby mustache - template.mustache
---
name: Bob
age: 30
---
data
</code></pre>
<h2>COPYRIGHT</h2>
<p>Mustache is Copyright (C) 2009 Chris Wanstrath</p>
<p>Original CTemplate by Google</p>
<h2>SEE ALSO</h2>
<p>mustache(5), mustache(7), gem(1),
<a href="http://mustache.github.com/">http://mustache.github.com/</a></p>
<ol class='foot man'>
<li class='tl'>DEFUNKT</li>
<li class='tc'>April 2010</li>
<li class='tr'>mustache(1)</li>
</ol>
</div>
</body>
</html>
Jump to Line
Something went wrong with that request. Please try again.