mustache 0.99.4 → 0.99.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1a22fd6d24b05a356ea96d520d05b1d558789a55
4
+ data.tar.gz: 434c410c4f8eec4c004ce4dce27d9cc7e6e8d03a
5
+ SHA512:
6
+ metadata.gz: 3fddf352c8e8ec2303c451a834a3ed437de4dacffe211ff55f64a165dcef9692a972f2346cb6bd272fcfecccc58fef762f055a8f7c19bc74e627c851ba5321db
7
+ data.tar.gz: 091b121190a804a7d003f762b08f2ab287811ed94f3642233fcda90773affee179bc69de7132b159dae3da4cd5f4c7928cefb3d2ea49a2333038c046993c1a9a
data/README.md CHANGED
@@ -107,7 +107,7 @@ Escaping
107
107
 
108
108
  Mustache does escape all values when using the standard double
109
109
  Mustache syntax. Characters which will be escaped: `& \ " < >`. To
110
- disable escaping, simply use tripple mustaches like
110
+ disable escaping, simply use triple mustaches like
111
111
  `{{{unescaped_variable}}}`.
112
112
 
113
113
  Example: Using `{{variable}}` inside a template for `5 > 2` will
@@ -251,7 +251,7 @@ Then just include it:
251
251
  Great, but what about that `@ssl` ivar in `gravatar_host`? There are
252
252
  many ways we can go about setting it.
253
253
 
254
- Here's on example which illustrates a key feature of Mustache: you
254
+ Here's an example which illustrates a key feature of Mustache: you
255
255
  are free to use the `initialize` method just as you would in any
256
256
  normal class.
257
257
 
@@ -326,12 +326,7 @@ See <http://gist.github.com/323622> for installation instructions.
326
326
  Emacs
327
327
  -----
328
328
 
329
- mustache-mode.el is included under the contrib/ directory for any
330
- Emacs users. Based on Google's tpl-mode for ctemplates, it adds
331
- support for Mustache's more lenient tag values and includes a few
332
- commands for your editing pleasure.
333
-
334
- See <http://gist.github.com/323619> for installation instructions.
329
+ mustache-mode.el is available at https://github.com/mustache/emacs
335
330
 
336
331
 
337
332
  TextMate
@@ -400,7 +395,6 @@ Meta
400
395
  * Home: <http://mustache.github.com>
401
396
  * Bugs: <http://github.com/defunkt/mustache/issues>
402
397
  * List: <mustache@librelist.com>
403
- * Test: <http://runcoderun.com/defunkt/mustache>
404
398
  * Gems: <http://rubygems.org/gems/mustache>
405
399
 
406
400
  You can also find us in `#{` on irc.freenode.net.
@@ -40,7 +40,7 @@ require 'mustache/settings'
40
40
  #
41
41
  # * template_file
42
42
  #
43
- # You can tell Mustache exactly which template to us with this
43
+ # You can tell Mustache exactly which template to use with this
44
44
  # setting. It can be a relative or absolute path.
45
45
  #
46
46
  # * template
@@ -234,8 +234,8 @@ class Mustache
234
234
  # Returns the constant if found
235
235
  # Returns nil if nothing is found
236
236
  def self.const_get!(name)
237
- name.split('::').inject(Object) do |klass, name|
238
- klass.const_get(name)
237
+ name.split('::').inject(Object) do |klass, cname|
238
+ klass.const_get(cname)
239
239
  end
240
240
  rescue NameError
241
241
  nil
@@ -90,7 +90,7 @@ class Mustache
90
90
 
91
91
  # Callback fired when the compiler finds a section token. We're
92
92
  # passed the section name and the array of tokens.
93
- def on_section(name, content, raw, delims)
93
+ def on_section(name, offset, content, raw, delims)
94
94
  # Convert the tokenized content of this section into a Ruby
95
95
  # string we can use.
96
96
  code = compile(content)
@@ -121,7 +121,7 @@ class Mustache
121
121
 
122
122
  # Fired when we find an inverted section. Just like `on_section`,
123
123
  # we're passed the inverted section name and the array of tokens.
124
- def on_inverted_section(name, content, raw, _)
124
+ def on_inverted_section(name, offset, content, raw, delims)
125
125
  # Convert the tokenized content of this section into a Ruby
126
126
  # string we can use.
127
127
  code = compile(content)
@@ -139,12 +139,12 @@ class Mustache
139
139
  # Fired when the compiler finds a partial. We want to return code
140
140
  # which calls a partial at runtime instead of expanding and
141
141
  # including the partial's body to allow for recursive partials.
142
- def on_partial(name, indentation)
142
+ def on_partial(name, offset, indentation)
143
143
  ev("ctx.partial(#{name.to_sym.inspect}, #{indentation.inspect})")
144
144
  end
145
145
 
146
146
  # An unescaped tag.
147
- def on_utag(name)
147
+ def on_utag(name, offset)
148
148
  ev(<<-compiled)
149
149
  v = #{compile!(name)}
150
150
  if v.is_a?(Proc)
@@ -155,7 +155,7 @@ class Mustache
155
155
  end
156
156
 
157
157
  # An escaped tag.
158
- def on_etag(name)
158
+ def on_etag(name, offset)
159
159
  ev(<<-compiled)
160
160
  v = #{compile!(name)}
161
161
  if v.is_a?(Proc)
@@ -146,12 +146,12 @@ EOF
146
146
  case type
147
147
  when '#'
148
148
  block = [:multi]
149
- @result << [:mustache, :section, fetch, block]
149
+ @result << [:mustache, :section, fetch, offset, block]
150
150
  @sections << [content, position, @result]
151
151
  @result = block
152
152
  when '^'
153
153
  block = [:multi]
154
- @result << [:mustache, :inverted_section, fetch, block]
154
+ @result << [:mustache, :inverted_section, fetch, offset, block]
155
155
  @sections << [content, position, @result]
156
156
  @result = block
157
157
  when '/'
@@ -169,14 +169,14 @@ EOF
169
169
  when '='
170
170
  self.otag, self.ctag = content.split(' ', 2)
171
171
  when '>', '<'
172
- @result << [:mustache, :partial, content, padding]
172
+ @result << [:mustache, :partial, content, offset, padding]
173
173
  when '{', '&'
174
174
  # The closing } in unescaped tags is just a hack for
175
175
  # aesthetics.
176
176
  type = "}" if type == "{"
177
- @result << [:mustache, :utag, fetch]
177
+ @result << [:mustache, :utag, fetch, offset]
178
178
  else
179
- @result << [:mustache, :etag, fetch]
179
+ @result << [:mustache, :etag, fetch, offset]
180
180
  end
181
181
 
182
182
  # Skip whitespace and any balancing sigils after the content
@@ -234,6 +234,10 @@ EOF
234
234
  end
235
235
  end
236
236
 
237
+ def offset
238
+ position[0, 2]
239
+ end
240
+
237
241
  # Returns [lineno, column, line]
238
242
  def position
239
243
  # The rest of the current line
@@ -39,6 +39,18 @@ class Mustache
39
39
  # You can indeed use layouts with this library. Where you'd normally
40
40
  # <%= yield %> you instead {{{yield}}} - the body of the subview is
41
41
  # set to the `yield` variable and made available to you.
42
+ #
43
+ # If you don't want the Sinatra extension to look up your view class,
44
+ # maybe because you've already loaded it or you're pulling it in from
45
+ # a gem, you can hand the `mustache` helper a Mustache subclass directly:
46
+ #
47
+ # # Assuming `class Omnigollum::Login < Mustache`
48
+ # get '/login' do
49
+ # @title = "Log In"
50
+ # require 'lib/omnigollum/views/login'
51
+ # mustache Omnigollum::Login
52
+ # end
53
+ #
42
54
  module Sinatra
43
55
  module Helpers
44
56
  # Call this in your Sinatra routes.
@@ -72,10 +84,17 @@ class Mustache
72
84
  end
73
85
  end
74
86
 
75
- # Find and cache the view class we want. This ensures the
76
- # compiled template is cached, too - no looking up and
77
- # compiling templates on each page load.
78
- klass = mustache_class(template, options)
87
+ # If instead of a symbol they gave us a Mustache class,
88
+ # use that for rendering.
89
+ klass = template if template.is_a?(Class) && template < Mustache
90
+
91
+ # Find and cache the view class we want if we don't have
92
+ # one yet. This ensures the compiled template is cached,
93
+ # too - no looking up and compiling templates on each page
94
+ # load.
95
+ if klass.nil?
96
+ klass = mustache_class(template, options)
97
+ end
79
98
 
80
99
  # Does the view subclass the layout? If so we'll use the
81
100
  # view to render the layout so you can override layout
@@ -1,3 +1,3 @@
1
1
  class Mustache
2
- Version = VERSION = '0.99.4'
2
+ Version = VERSION = '0.99.5'
3
3
  end
@@ -1,10 +1,10 @@
1
- .\" generated with Ronn/v0.5
2
- .\" http://github.com/rtomayko/ronn/
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "MUSTACHE" "1" "May 2010" "DEFUNKT" "Mustache Manual"
4
+ .TH "MUSTACHE" "1" "August 2011" "DEFUNKT" "Mustache Manual"
5
5
  .
6
6
  .SH "NAME"
7
- \fBmustache\fR \-\- Mustache processor
7
+ \fBmustache\fR \- Mustache processor
8
8
  .
9
9
  .SH "SYNOPSIS"
10
10
  .
@@ -17,17 +17,13 @@ mustache \-\-tokens <FILE>
17
17
  .fi
18
18
  .
19
19
  .SH "DESCRIPTION"
20
- Mustache is a logic\-less templating system for HTML, config files,
21
- anything.
20
+ Mustache is a logic\-less templating system for HTML, config files, anything\.
22
21
  .
23
22
  .P
24
- The \fBmustache\fR command processes a Mustache template preceded by YAML
25
- frontmatter from standard input and prints one or more documents to
26
- standard output.
23
+ The \fBmustache\fR command processes a Mustache template preceded by YAML frontmatter from standard input and prints one or more documents to standard output\.
27
24
  .
28
25
  .P
29
- YAML frontmatter beings with \fB\-\-\-\fR on a single line, followed by YAML,
30
- ending with another \fB\-\-\-\fR on a single line, e.g.
26
+ YAML frontmatter beings with \fB\-\-\-\fR on a single line, followed by YAML, ending with another \fB\-\-\-\fR on a single line, e\.g\.
31
27
  .
32
28
  .IP "" 4
33
29
  .
@@ -42,12 +38,10 @@ names: [ {name: chris}, {name: mark}, {name: scott} ]
42
38
  .IP "" 0
43
39
  .
44
40
  .P
45
- If you are unfamiliar with YAML, it is a superset of JSON. Valid JSON
46
- should work fine.
41
+ If you are unfamiliar with YAML, it is a superset of JSON\. Valid JSON should work fine\.
47
42
  .
48
43
  .P
49
- After the frontmatter should come any valid Mustache template. See
50
- mustache(5) for an overview of Mustache templates.
44
+ After the frontmatter should come any valid Mustache template\. See mustache(5) for an overview of Mustache templates\.
51
45
  .
52
46
  .P
53
47
  For example:
@@ -65,23 +59,23 @@ For example:
65
59
  .IP "" 0
66
60
  .
67
61
  .P
68
- Now let's combine them.
62
+ Now let\'s combine them\.
69
63
  .
70
64
  .IP "" 4
71
65
  .
72
66
  .nf
73
67
 
74
- $ cat data.yml
68
+ $ cat data\.yml
75
69
  \-\-\-
76
70
  names: [ {name: chris}, {name: mark}, {name: scott} ]
77
71
  \-\-\-
78
72
 
79
- $ cat template.mustache
73
+ $ cat template\.mustache
80
74
  {{#names}}
81
75
  Hi {{name}}!
82
76
  {{/names}}
83
77
 
84
- $ cat data.yml template.mustache | mustache
78
+ $ cat data\.yml template\.mustache | mustache
85
79
  Hi chris!
86
80
  Hi mark!
87
81
  Hi scott!
@@ -91,8 +85,7 @@ Hi scott!
91
85
  .IP "" 0
92
86
  .
93
87
  .P
94
- If you provide multiple YAML documents (as delimited by \fB\-\-\-\fR), your
95
- template will be rendered multiple times. Like a mail merge.
88
+ If you provide multiple YAML documents (as delimited by \fB\-\-\-\fR), your template will be rendered multiple times\. Like a mail merge\.
96
89
  .
97
90
  .P
98
91
  For example:
@@ -101,7 +94,7 @@ For example:
101
94
  .
102
95
  .nf
103
96
 
104
- $ cat data.yml
97
+ $ cat data\.yml
105
98
  \-\-\-
106
99
  name: chris
107
100
  \-\-\-
@@ -110,10 +103,10 @@ name: mark
110
103
  name: scott
111
104
  \-\-\-
112
105
 
113
- $ cat template.mustache
106
+ $ cat template\.mustache
114
107
  Hi {{name}}!
115
108
 
116
- $ cat data.yml template.mustache | mustache
109
+ $ cat data\.yml template\.mustache | mustache
117
110
  Hi chris!
118
111
  Hi mark!
119
112
  Hi scott!
@@ -123,23 +116,15 @@ Hi scott!
123
116
  .IP "" 0
124
117
  .
125
118
  .SH "OPTIONS"
126
- By default \fBmustache\fR will try to render a Mustache template using the
127
- YAML frontmatter you provide. It can do a few other things, however.
119
+ By default \fBmustache\fR will try to render a Mustache template using the YAML frontmatter you provide\. It can do a few other things, however\.
128
120
  .
129
121
  .TP
130
122
  \fB\-c\fR, \fB\-\-compile\fR
131
- Print the compiled Ruby version of a given template. This is the
132
- code that is actually used when rendering a template into a
133
- string. Useful for debugging but only if you are familiar with
134
- Mustache's internals.
123
+ 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\.
135
124
  .
136
125
  .TP
137
126
  \fB\-t\fR, \fB\-\-tokens\fR
138
- Print the tokenized form of a given Mustache template. This can be
139
- used to understand how Mustache parses a template. The tokens are
140
- handed to a generator which compiles them into a Ruby
141
- string. Syntax errors and confused tags, therefor, can probably be
142
- identified by examining the tokens produced.
127
+ 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\.
143
128
  .
144
129
  .SH "INSTALLATION"
145
130
  If you have RubyGems installed:
@@ -158,10 +143,10 @@ gem install mustache
158
143
  .
159
144
  .nf
160
145
 
161
- $ mustache data.yml template.mustache
162
- $ cat data.yml | mustache \- template.mustache
163
- $ mustache \-c template.mustache
164
- $ cat <<data | ruby mustache \- template.mustache
146
+ $ mustache data\.yml template\.mustache
147
+ $ cat data\.yml | mustache \- template\.mustache
148
+ $ mustache \-c template\.mustache
149
+ $ cat <<data | ruby mustache \- template\.mustache
165
150
  \-\-\-
166
151
  name: Bob
167
152
  age: 30
@@ -177,4 +162,4 @@ Mustache is Copyright (C) 2009 Chris Wanstrath
177
162
  Original CTemplate by Google
178
163
  .
179
164
  .SH "SEE ALSO"
180
- mustache(5), mustache(7), gem(1), \fIhttp://mustache.github.com/\fR
165
+ mustache(5), gem(1), \fIhttp://mustache\.github\.com/\fR
@@ -2,77 +2,86 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta http-equiv='content-type' value='text/html;charset=utf8'>
5
- <meta name='generator' value='Ronn/v0.5'>
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 }
5
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
6
+ <title>mustache(1) - Mustache processor</title>
7
+ <style type='text/css' media='all'>
8
+ /* style: man */
9
+ body#manpage {margin:0}
10
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
11
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
12
+ .mp h2 {margin:10px 0 0 0}
13
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
14
+ .mp h3 {margin:0 0 0 4ex}
15
+ .mp dt {margin:0;clear:left}
16
+ .mp dt.flush {float:left;width:8ex}
17
+ .mp dd {margin:0 0 0 9ex}
18
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
19
+ .mp pre {margin-bottom:20px}
20
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
21
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
22
+ .mp img {display:block;margin:auto}
23
+ .mp h1.man-title {display:none}
24
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
25
+ .mp h2 {font-size:16px;line-height:1.25}
26
+ .mp h1 {font-size:20px;line-height:2}
27
+ .mp {text-align:justify;background:#fff}
28
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
29
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
30
+ .mp u {text-decoration:underline}
31
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
32
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
33
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
34
+ .mp b.man-ref {font-weight:normal;color:#434241}
35
+ .mp pre {padding:0 4ex}
36
+ .mp pre code {font-weight:normal;color:#434241}
37
+ .mp h2+pre,h3+pre {padding-left:0}
38
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
39
+ ol.man-decor {width:100%}
40
+ ol.man-decor li.tl {text-align:left}
41
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
42
+ ol.man-decor li.tr {text-align:right;float:right}
52
43
  </style>
53
44
  </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
-
68
- <h2>SYNOPSIS</h2>
45
+ <!--
46
+ The following styles are deprecated and will be removed at some point:
47
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
48
+
49
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
50
+ .man-navigation should be used instead.
51
+ -->
52
+ <body id='manpage'>
53
+ <div class='mp' id='man'>
54
+
55
+ <div class='man-navigation' style='display:none'>
56
+ <a href="#NAME">NAME</a>
57
+ <a href="#SYNOPSIS">SYNOPSIS</a>
58
+ <a href="#DESCRIPTION">DESCRIPTION</a>
59
+ <a href="#OPTIONS">OPTIONS</a>
60
+ <a href="#INSTALLATION">INSTALLATION</a>
61
+ <a href="#EXAMPLES">EXAMPLES</a>
62
+ <a href="#COPYRIGHT">COPYRIGHT</a>
63
+ <a href="#SEE-ALSO">SEE ALSO</a>
64
+ </div>
65
+
66
+ <ol class='man-decor man-head man head'>
67
+ <li class='tl'>mustache(1)</li>
68
+ <li class='tc'>Mustache Manual</li>
69
+ <li class='tr'>mustache(1)</li>
70
+ </ol>
71
+
72
+ <h2 id="NAME">NAME</h2>
73
+ <p class="man-name">
74
+ <code>mustache</code> - <span class="man-whatis">Mustache processor</span>
75
+ </p>
76
+
77
+ <h2 id="SYNOPSIS">SYNOPSIS</h2>
69
78
 
70
79
  <pre><code>mustache &lt;YAML> &lt;FILE>
71
80
  mustache --compile &lt;FILE>
72
81
  mustache --tokens &lt;FILE>
73
82
  </code></pre>
74
83
 
75
- <h2>DESCRIPTION</h2>
84
+ <h2 id="DESCRIPTION">DESCRIPTION</h2>
76
85
 
77
86
  <p>Mustache is a logic-less templating system for HTML, config files,
78
87
  anything.</p>
@@ -93,7 +102,7 @@ names: [ {name: chris}, {name: mark}, {name: scott} ]
93
102
  should work fine.</p>
94
103
 
95
104
  <p>After the frontmatter should come any valid Mustache template. See
96
- mustache(5) for an overview of Mustache templates.</p>
105
+ <a href="mustache.5.ron.html" class="man-ref">mustache<span class="s">(5)</span></a> for an overview of Mustache templates.</p>
97
106
 
98
107
  <p>For example:</p>
99
108
 
@@ -143,7 +152,7 @@ Hi mark!
143
152
  Hi scott!
144
153
  </code></pre>
145
154
 
146
- <h2>OPTIONS</h2>
155
+ <h2 id="OPTIONS">OPTIONS</h2>
147
156
 
148
157
  <p>By default <code>mustache</code> will try to render a Mustache template using the
149
158
  YAML frontmatter you provide. It can do a few other things, however.</p>
@@ -161,14 +170,14 @@ identified by examining the tokens produced.</p></dd>
161
170
  </dl>
162
171
 
163
172
 
164
- <h2>INSTALLATION</h2>
173
+ <h2 id="INSTALLATION">INSTALLATION</h2>
165
174
 
166
175
  <p>If you have RubyGems installed:</p>
167
176
 
168
177
  <pre><code>gem install mustache
169
178
  </code></pre>
170
179
 
171
- <h2>EXAMPLES</h2>
180
+ <h2 id="EXAMPLES">EXAMPLES</h2>
172
181
 
173
182
  <pre><code>$ mustache data.yml template.mustache
174
183
  $ cat data.yml | mustache - template.mustache
@@ -181,24 +190,24 @@ age: 30
181
190
  data
182
191
  </code></pre>
183
192
 
184
- <h2>COPYRIGHT</h2>
193
+ <h2 id="COPYRIGHT">COPYRIGHT</h2>
185
194
 
186
195
  <p>Mustache is Copyright (C) 2009 Chris Wanstrath</p>
187
196
 
188
197
  <p>Original CTemplate by Google</p>
189
198
 
190
- <h2>SEE ALSO</h2>
199
+ <h2 id="SEE-ALSO">SEE ALSO</h2>
191
200
 
192
- <p>mustache(5), mustache(7), gem(1),
193
- <a href="http://mustache.github.com/">http://mustache.github.com/</a></p>
201
+ <p><a href="mustache.5.ron.html" class="man-ref">mustache<span class="s">(5)</span></a>, <span class="man-ref">gem<span class="s">(1)</span></span>,
202
+ <a href="http://mustache.github.com/" data-bare-link="true">http://mustache.github.com/</a></p>
194
203
 
195
204
 
196
- <ol class='foot man'>
197
- <li class='tl'>DEFUNKT</li>
198
- <li class='tc'>May 2010</li>
199
- <li class='tr'>mustache(1)</li>
200
- </ol>
205
+ <ol class='man-decor man-foot man foot'>
206
+ <li class='tl'>DEFUNKT</li>
207
+ <li class='tc'>August 2011</li>
208
+ <li class='tr'>mustache(1)</li>
209
+ </ol>
201
210
 
202
- </div>
211
+ </div>
203
212
  </body>
204
213
  </html>