mustache 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +30 -179
- data/Rakefile +87 -46
- data/bin/mustache +10 -19
- data/lib/mustache/context.rb +55 -12
- data/lib/mustache/sinatra.rb +1 -1
- data/lib/mustache/template.rb +3 -15
- data/lib/mustache/version.rb +1 -1
- data/man/mustache.1 +138 -0
- data/man/mustache.1.html +168 -0
- data/man/mustache.1.ron +94 -0
- data/man/mustache.5 +364 -0
- data/man/mustache.5.html +300 -0
- data/man/mustache.5.ron +220 -0
- data/test/helper.rb +1 -0
- data/test/mustache_test.rb +25 -16
- metadata +32 -65
- data/.gitignore +0 -1
- data/.kick +0 -26
- data/CONTRIBUTORS +0 -6
- data/HISTORY.md +0 -70
- data/benchmarks/complex.erb +0 -15
- data/benchmarks/complex.haml +0 -10
- data/benchmarks/helper.rb +0 -20
- data/benchmarks/simple.erb +0 -5
- data/benchmarks/speed.rb +0 -76
- data/contrib/mustache.vim +0 -69
- data/contrib/tpl-mode.el +0 -274
- data/examples/comments.mustache +0 -1
- data/examples/comments.rb +0 -14
- data/examples/complex_view.mustache +0 -16
- data/examples/complex_view.rb +0 -34
- data/examples/delimiters.mustache +0 -6
- data/examples/delimiters.rb +0 -22
- data/examples/double_section.mustache +0 -7
- data/examples/double_section.rb +0 -14
- data/examples/escaped.mustache +0 -1
- data/examples/escaped.rb +0 -14
- data/examples/inner_partial.mustache +0 -1
- data/examples/inner_partial.txt +0 -1
- data/examples/namespaced.mustache +0 -1
- data/examples/namespaced.rb +0 -25
- data/examples/partial_with_module.mustache +0 -3
- data/examples/partial_with_module.rb +0 -37
- data/examples/passenger.conf +0 -5
- data/examples/passenger.rb +0 -27
- data/examples/simple.mustache +0 -5
- data/examples/simple.rb +0 -26
- data/examples/template_partial.mustache +0 -2
- data/examples/template_partial.rb +0 -18
- data/examples/template_partial.txt +0 -4
- data/examples/unescaped.mustache +0 -1
- data/examples/unescaped.rb +0 -14
data/man/mustache.1
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
.\" generated with Ron/v0.3
|
|
2
|
+
.\" http://github.com/rtomayko/ron/
|
|
3
|
+
.
|
|
4
|
+
.TH "MUSTACHE" "1" "March 2010" "DEFUNKT" "Mustache Manual"
|
|
5
|
+
.
|
|
6
|
+
.SH "NAME"
|
|
7
|
+
\fBmustache\fR \-\- Mustache processor
|
|
8
|
+
.
|
|
9
|
+
.SH "SYNOPSIS"
|
|
10
|
+
\fBcat data.yml template.mustache | mustache\fR
|
|
11
|
+
.
|
|
12
|
+
.SH "DESCRIPTION"
|
|
13
|
+
Mustache is a logic\-less templating system for HTML, config files,
|
|
14
|
+
anything.
|
|
15
|
+
.
|
|
16
|
+
.P
|
|
17
|
+
The \fBmustache\fR 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
|
+
.P
|
|
22
|
+
YAML frontmatter beings with \fB---\fR on a single line, followed by YAML,
|
|
23
|
+
ending with another \fB---\fR on a single line, e.g.
|
|
24
|
+
.
|
|
25
|
+
.IP "" 4
|
|
26
|
+
.
|
|
27
|
+
.nf
|
|
28
|
+
|
|
29
|
+
\fB---
|
|
30
|
+
names: [ {name: chris}, {name: mark}, {name: scott} ]
|
|
31
|
+
--- \fR
|
|
32
|
+
.
|
|
33
|
+
.fi
|
|
34
|
+
.
|
|
35
|
+
.IP "" 0
|
|
36
|
+
.
|
|
37
|
+
.P
|
|
38
|
+
If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON
|
|
39
|
+
should work fine.
|
|
40
|
+
.
|
|
41
|
+
.P
|
|
42
|
+
After the frontmatter should come any valid Mustache template. See
|
|
43
|
+
mustache(5) for an overview of Mustache templates.
|
|
44
|
+
.
|
|
45
|
+
.P
|
|
46
|
+
For example:
|
|
47
|
+
.
|
|
48
|
+
.IP "" 4
|
|
49
|
+
.
|
|
50
|
+
.nf
|
|
51
|
+
|
|
52
|
+
\fB{{#names}}
|
|
53
|
+
Hi {{name}}!
|
|
54
|
+
{{/names}} \fR
|
|
55
|
+
.
|
|
56
|
+
.fi
|
|
57
|
+
.
|
|
58
|
+
.IP "" 0
|
|
59
|
+
.
|
|
60
|
+
.P
|
|
61
|
+
Now let's combine them.
|
|
62
|
+
.
|
|
63
|
+
.IP "" 4
|
|
64
|
+
.
|
|
65
|
+
.nf
|
|
66
|
+
|
|
67
|
+
\fB$ cat data.yml
|
|
68
|
+
---
|
|
69
|
+
names: [ {name: chris}, {name: mark}, {name: scott} ]
|
|
70
|
+
---
|
|
71
|
+
$ cat template.mustache
|
|
72
|
+
{{#names}}
|
|
73
|
+
Hi {{name}}!
|
|
74
|
+
{{/names}}
|
|
75
|
+
|
|
76
|
+
$ cat data.yml template.mustache | mustache
|
|
77
|
+
Hi chris!
|
|
78
|
+
Hi mark!
|
|
79
|
+
Hi scott!
|
|
80
|
+
\fR
|
|
81
|
+
.
|
|
82
|
+
.fi
|
|
83
|
+
.
|
|
84
|
+
.IP "" 0
|
|
85
|
+
.
|
|
86
|
+
.P
|
|
87
|
+
If you provide multiple YAML documents (as delimited by \fB---\fR), your
|
|
88
|
+
template will be rendered multiple times. Like a mail merge.
|
|
89
|
+
.
|
|
90
|
+
.P
|
|
91
|
+
For example:
|
|
92
|
+
.
|
|
93
|
+
.IP "" 4
|
|
94
|
+
.
|
|
95
|
+
.nf
|
|
96
|
+
|
|
97
|
+
\fB$ cat data.yml
|
|
98
|
+
---
|
|
99
|
+
name: chris
|
|
100
|
+
---
|
|
101
|
+
name: mark
|
|
102
|
+
---
|
|
103
|
+
name: scott
|
|
104
|
+
---
|
|
105
|
+
$ cat template.mustache
|
|
106
|
+
Hi {{name}}!
|
|
107
|
+
|
|
108
|
+
$ cat data.yml template.mustache | mustache
|
|
109
|
+
Hi chris!
|
|
110
|
+
Hi mark!
|
|
111
|
+
Hi scott!
|
|
112
|
+
\fR
|
|
113
|
+
.
|
|
114
|
+
.fi
|
|
115
|
+
.
|
|
116
|
+
.IP "" 0
|
|
117
|
+
.
|
|
118
|
+
.SH "INSTALLATION"
|
|
119
|
+
If you have RubyGems installed:
|
|
120
|
+
.
|
|
121
|
+
.IP "" 4
|
|
122
|
+
.
|
|
123
|
+
.nf
|
|
124
|
+
|
|
125
|
+
\fBgem install mustache \fR
|
|
126
|
+
.
|
|
127
|
+
.fi
|
|
128
|
+
.
|
|
129
|
+
.IP "" 0
|
|
130
|
+
.
|
|
131
|
+
.SH "COPYRIGHT"
|
|
132
|
+
Mustache is Copyright (C) 2009 Chris Wanstrath
|
|
133
|
+
.
|
|
134
|
+
.P
|
|
135
|
+
Original CTemplate by Google
|
|
136
|
+
.
|
|
137
|
+
.SH "SEE ALSO"
|
|
138
|
+
mustache(5), mustache(7), gem(1),\fIhttp://defunkt.github.com/mustache/\fR
|
data/man/mustache.1.html
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
|
5
|
+
<meta name='generator' value='Ron/v0.3'>
|
|
6
|
+
<title>mustache(1) -- Mustache processor</title>
|
|
7
|
+
<style type='text/css'>
|
|
8
|
+
body {margin:0}
|
|
9
|
+
#man, #man code, #man pre, #man tt, #man kbd, #man samp {
|
|
10
|
+
font-family:consolas,monospace;
|
|
11
|
+
font-size:16px;
|
|
12
|
+
line-height:1.3;
|
|
13
|
+
color:#343331;
|
|
14
|
+
background:#fff; }
|
|
15
|
+
#man { max-width:89ex; text-align:justify; margin:0 25px 25px 25px }
|
|
16
|
+
#man h1, #man h2, #man h3 { color:#232221;clear:left }
|
|
17
|
+
#man h1 { font-size:28px; margin:15px 0 30px 0; text-align:center }
|
|
18
|
+
#man h2 { font-size:18px; margin-bottom:0; margin-top:10px; line-height:1.3; }
|
|
19
|
+
#man h3 { font-size:16px; margin:0 0 0 4ex; }
|
|
20
|
+
#man p, #man ul, #man ol, #man dl, #man pre { margin:0 0 18px 0; }
|
|
21
|
+
#man pre {
|
|
22
|
+
color:#333231;
|
|
23
|
+
background:#edeceb;
|
|
24
|
+
padding:5px 7px;
|
|
25
|
+
margin:0px 0 20px 0;
|
|
26
|
+
border-left:2ex solid #ddd}
|
|
27
|
+
#man pre + h2, #man pre + h3 {
|
|
28
|
+
margin-top:22px;
|
|
29
|
+
}
|
|
30
|
+
#man h2 + pre, #man h3 + pre {
|
|
31
|
+
margin-top:5px;
|
|
32
|
+
}
|
|
33
|
+
#man > p, #man > ul, #man > ol, #man > dl, #man > pre { margin-left:8ex; }
|
|
34
|
+
#man dt { margin:0; clear:left }
|
|
35
|
+
#man dt.flush { float:left; width:8ex }
|
|
36
|
+
#man dd { margin:0 0 0 9ex }
|
|
37
|
+
#man code, #man strong, #man b { font-weight:bold; color:#131211; }
|
|
38
|
+
#man pre code { font-weight:normal; color:#232221; background:inherit }
|
|
39
|
+
#man em, var, u {
|
|
40
|
+
font-style:normal; color:#333231; border-bottom:1px solid #999; }
|
|
41
|
+
#man h1.man-title { display:none; }
|
|
42
|
+
#man ol.man, #man ol.man li { margin:2px 0 10px 0; padding:0;
|
|
43
|
+
float:left; width:33%; list-style-type:none;
|
|
44
|
+
text-transform:uppercase; font-size:18px; color:#999;
|
|
45
|
+
letter-spacing:1px;}
|
|
46
|
+
#man ol.man { width:100%; }
|
|
47
|
+
#man ol.man li.tl { text-align:left }
|
|
48
|
+
#man ol.man li.tc { text-align:center;letter-spacing:4px }
|
|
49
|
+
#man ol.man li.tr { text-align:right }
|
|
50
|
+
#man ol.man a { color:#999 }
|
|
51
|
+
#man ol.man a:hover { color:#333231 }
|
|
52
|
+
</style>
|
|
53
|
+
</head>
|
|
54
|
+
<body>
|
|
55
|
+
<div id='man'>
|
|
56
|
+
|
|
57
|
+
<h1 class='man-title'>mustache(1)</h1>
|
|
58
|
+
|
|
59
|
+
<ol class='head man'>
|
|
60
|
+
<li class='tl'>mustache(1)</li>
|
|
61
|
+
<li class='tc'>Mustache Manual</li>
|
|
62
|
+
<li class='tr'>mustache(1)</li>
|
|
63
|
+
</ol>
|
|
64
|
+
|
|
65
|
+
<h2 id='NAME'>NAME</h2>
|
|
66
|
+
<p><code>mustache</code> -- Mustache processor</p>
|
|
67
|
+
<h2>SYNOPSIS</h2>
|
|
68
|
+
|
|
69
|
+
<p><code>cat data.yml template.mustache | mustache</code></p>
|
|
70
|
+
|
|
71
|
+
<h2>DESCRIPTION</h2>
|
|
72
|
+
|
|
73
|
+
<p>Mustache is a logic-less templating system for HTML, config files,
|
|
74
|
+
anything.</p>
|
|
75
|
+
|
|
76
|
+
<p>The <code>mustache</code> command processes a Mustache template preceded by YAML
|
|
77
|
+
frontmatter from standard input and prints one or more documents to
|
|
78
|
+
standard output.</p>
|
|
79
|
+
|
|
80
|
+
<p>YAML frontmatter beings with <code>---</code> on a single line, followed by YAML,
|
|
81
|
+
ending with another <code>---</code> on a single line, e.g.</p>
|
|
82
|
+
|
|
83
|
+
<pre><code>---
|
|
84
|
+
names: [ {name: chris}, {name: mark}, {name: scott} ]
|
|
85
|
+
---
|
|
86
|
+
</code></pre>
|
|
87
|
+
|
|
88
|
+
<p>If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON
|
|
89
|
+
should work fine.</p>
|
|
90
|
+
|
|
91
|
+
<p>After the frontmatter should come any valid Mustache template. See
|
|
92
|
+
mustache(5) for an overview of Mustache templates.</p>
|
|
93
|
+
|
|
94
|
+
<p>For example:</p>
|
|
95
|
+
|
|
96
|
+
<pre><code>{{#names}}
|
|
97
|
+
Hi {{name}}!
|
|
98
|
+
{{/names}}
|
|
99
|
+
</code></pre>
|
|
100
|
+
|
|
101
|
+
<p>Now let's combine them.</p>
|
|
102
|
+
|
|
103
|
+
<pre><code>$ cat data.yml
|
|
104
|
+
---
|
|
105
|
+
names: [ {name: chris}, {name: mark}, {name: scott} ]
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
$ cat template.mustache
|
|
109
|
+
{{#names}}
|
|
110
|
+
Hi {{name}}!
|
|
111
|
+
{{/names}}
|
|
112
|
+
|
|
113
|
+
$ cat data.yml template.mustache | mustache
|
|
114
|
+
Hi chris!
|
|
115
|
+
Hi mark!
|
|
116
|
+
Hi scott!
|
|
117
|
+
</code></pre>
|
|
118
|
+
|
|
119
|
+
<p>If you provide multiple YAML documents (as delimited by <code>---</code>), your
|
|
120
|
+
template will be rendered multiple times. Like a mail merge.</p>
|
|
121
|
+
|
|
122
|
+
<p>For example:</p>
|
|
123
|
+
|
|
124
|
+
<pre><code>$ cat data.yml
|
|
125
|
+
---
|
|
126
|
+
name: chris
|
|
127
|
+
---
|
|
128
|
+
name: mark
|
|
129
|
+
---
|
|
130
|
+
name: scott
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
$ cat template.mustache
|
|
134
|
+
Hi {{name}}!
|
|
135
|
+
|
|
136
|
+
$ cat data.yml template.mustache | mustache
|
|
137
|
+
Hi chris!
|
|
138
|
+
Hi mark!
|
|
139
|
+
Hi scott!
|
|
140
|
+
</code></pre>
|
|
141
|
+
|
|
142
|
+
<h2>INSTALLATION</h2>
|
|
143
|
+
|
|
144
|
+
<p>If you have RubyGems installed:</p>
|
|
145
|
+
|
|
146
|
+
<pre><code>gem install mustache
|
|
147
|
+
</code></pre>
|
|
148
|
+
|
|
149
|
+
<h2>COPYRIGHT</h2>
|
|
150
|
+
|
|
151
|
+
<p>Mustache is Copyright (C) 2009 Chris Wanstrath</p>
|
|
152
|
+
|
|
153
|
+
<p>Original CTemplate by Google</p>
|
|
154
|
+
|
|
155
|
+
<h2>SEE ALSO</h2>
|
|
156
|
+
|
|
157
|
+
<p>mustache(5), mustache(7), gem(1),
|
|
158
|
+
<a href="http://defunkt.github.com/mustache/">http://defunkt.github.com/mustache/</a></p>
|
|
159
|
+
|
|
160
|
+
<ol class='foot man'>
|
|
161
|
+
<li class='tl'>DEFUNKT</li>
|
|
162
|
+
<li class='tc'>March 2010</li>
|
|
163
|
+
<li class='tr'>mustache(1)</li>
|
|
164
|
+
</ol>
|
|
165
|
+
|
|
166
|
+
</div>
|
|
167
|
+
</body>
|
|
168
|
+
</html>
|
data/man/mustache.1.ron
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
mustache(1) -- Mustache processor
|
|
2
|
+
=================================
|
|
3
|
+
|
|
4
|
+
## SYNOPSIS
|
|
5
|
+
|
|
6
|
+
`cat data.yml template.mustache | mustache`
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## DESCRIPTION
|
|
10
|
+
|
|
11
|
+
Mustache is a logic-less templating system for HTML, config files,
|
|
12
|
+
anything.
|
|
13
|
+
|
|
14
|
+
The `mustache` command processes a Mustache template preceded by YAML
|
|
15
|
+
frontmatter from standard input and prints one or more documents to
|
|
16
|
+
standard output.
|
|
17
|
+
|
|
18
|
+
YAML frontmatter beings with `---` on a single line, followed by YAML,
|
|
19
|
+
ending with another `---` on a single line, e.g.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
names: [ {name: chris}, {name: mark}, {name: scott} ]
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON
|
|
26
|
+
should work fine.
|
|
27
|
+
|
|
28
|
+
After the frontmatter should come any valid Mustache template. See
|
|
29
|
+
mustache(5) for an overview of Mustache templates.
|
|
30
|
+
|
|
31
|
+
For example:
|
|
32
|
+
|
|
33
|
+
{{#names}}
|
|
34
|
+
Hi {{name}}!
|
|
35
|
+
{{/names}}
|
|
36
|
+
|
|
37
|
+
Now let's combine them.
|
|
38
|
+
|
|
39
|
+
$ cat data.yml
|
|
40
|
+
---
|
|
41
|
+
names: [ {name: chris}, {name: mark}, {name: scott} ]
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
$ cat template.mustache
|
|
45
|
+
{{#names}}
|
|
46
|
+
Hi {{name}}!
|
|
47
|
+
{{/names}}
|
|
48
|
+
|
|
49
|
+
$ cat data.yml template.mustache | mustache
|
|
50
|
+
Hi chris!
|
|
51
|
+
Hi mark!
|
|
52
|
+
Hi scott!
|
|
53
|
+
|
|
54
|
+
If you provide multiple YAML documents (as delimited by `---`), your
|
|
55
|
+
template will be rendered multiple times. Like a mail merge.
|
|
56
|
+
|
|
57
|
+
For example:
|
|
58
|
+
|
|
59
|
+
$ cat data.yml
|
|
60
|
+
---
|
|
61
|
+
name: chris
|
|
62
|
+
---
|
|
63
|
+
name: mark
|
|
64
|
+
---
|
|
65
|
+
name: scott
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
$ cat template.mustache
|
|
69
|
+
Hi {{name}}!
|
|
70
|
+
|
|
71
|
+
$ cat data.yml template.mustache | mustache
|
|
72
|
+
Hi chris!
|
|
73
|
+
Hi mark!
|
|
74
|
+
Hi scott!
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
## INSTALLATION
|
|
78
|
+
|
|
79
|
+
If you have RubyGems installed:
|
|
80
|
+
|
|
81
|
+
gem install mustache
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
## COPYRIGHT
|
|
85
|
+
|
|
86
|
+
Mustache is Copyright (C) 2009 Chris Wanstrath
|
|
87
|
+
|
|
88
|
+
Original CTemplate by Google
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
## SEE ALSO
|
|
92
|
+
|
|
93
|
+
mustache(5), mustache(7), gem(1),
|
|
94
|
+
<http://defunkt.github.com/mustache/>
|