1MUSTACHE(1) Mustache Manual MUSTACHE(1)
2
3
4
6 mustache - Mustache processor
7
9 mustache <YAML> <FILE>
10 mustache --compile <FILE>
11 mustache --tokens <FILE>
12
14 Mustache is a logic-less templating system for HTML, config files, any‐
15 thing.
16
17 The mustache command processes a Mustache template preceded by YAML
18 frontmatter from standard input and prints one or more documents to
19 standard output.
20
21 YAML frontmatter begins with --- on a single line, followed by YAML,
22 ending with another --- on a single line, e.g.
23
24
25
26 ---
27 names: [ {name: chris}, {name: mark}, {name: scott} ]
28 ---
29
30
31
32 If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON
33 should work fine.
34
35 After the frontmatter should come any valid Mustache template. See mus‐
36 tache(5) for an overview of Mustache templates.
37
38 For example:
39
40
41
42 {{#names}}
43 Hi {{name}}!
44 {{/names}}
45
46
47
48 Now let´s combine them.
49
50
51
52 $ cat data.yml
53 ---
54 names: [ {name: chris}, {name: mark}, {name: scott} ]
55 ---
56
57 $ cat template.mustache
58 {{#names}}
59 Hi {{name}}!
60 {{/names}}
61
62 $ cat data.yml template.mustache | mustache
63 Hi chris!
64 Hi mark!
65 Hi scott!
66
67
68
69 If you provide multiple YAML documents (as delimited by ---), your tem‐
70 plate will be rendered multiple times. Like a mail merge.
71
72 For example:
73
74
75
76 $ cat data.yml
77 ---
78 name: chris
79 ---
80 name: mark
81 ---
82 name: scott
83 ---
84
85 $ cat template.mustache
86 Hi {{name}}!
87
88 $ cat data.yml template.mustache | mustache
89 Hi chris!
90 Hi mark!
91 Hi scott!
92
93
94
96 By default mustache will try to render a Mustache template using the
97 YAML frontmatter you provide. It can do a few other things, however.
98
99 -c, --compile
100 Print the compiled Ruby version of a given template. This is the
101 code that is actually used when rendering a template into a
102 string. Useful for debugging but only if you are familiar with
103 Mustache´s internals.
104
105 -t, --tokens
106 Print the tokenized form of a given Mustache template. This can
107 be used to understand how Mustache parses a template. The tokens
108 are handed to a generator which compiles them into a Ruby
109 string. Syntax errors and confused tags, therefore, can probably
110 be identified by examining the tokens produced.
111
113 If you have RubyGems installed:
114
115
116
117 gem install mustache
118
119
120
122 $ mustache data.yml template.mustache
123 $ cat data.yml | mustache - template.mustache
124 $ mustache -c template.mustache
125 $ cat <<data | ruby mustache - template.mustache
126 ---
127 name: Bob
128 age: 30
129 ---
130 data
131
133 Mustache is Copyright (C) 2009 Chris Wanstrath
134
135 Original CTemplate by Google
136
138 mustache(5), gem(1), http://mustache.github.io/
139
140
141
142DEFUNKT February 2015 MUSTACHE(1)