gerbil 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1 +1,2 @@
1
- Please see doc/guide.html in your web browser.
1
+ Please see the ./doc/guide.html file in your web browser
2
+ or visit http://gerbil.rubyforge.org for more information.
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ require 'rake/gempackagetask'
11
11
 
12
12
  # the user guide
13
13
  file 'doc/guide.html' => 'doc/guide.erb' do |t|
14
- sh "ruby bin/gerbil html #{t.prerequisites} > #{t.name}"
14
+ sh "ruby bin/gerbil -u html #{t.prerequisites} > #{t.name}"
15
15
  end
16
16
  task :doc => 'doc/guide.html'
17
17
  CLOBBER.include 'doc/guide.html'
data/bin/gerbil CHANGED
@@ -2,12 +2,15 @@
2
2
 
3
3
  # Gerbil is an extensible document generator based on eRuby.
4
4
  #
5
- # * STDIN will be read if an input file is not specified.
5
+ # * STDIN will be read if no input files are specified.
6
6
  #
7
7
  # * If an error occurs, the input document will be printed to STDOUT
8
8
  # so you can investigate line numbers in the error's stack trace.
9
- #
10
9
  # Otherwise, the final output document will be printed to STDOUT.
10
+ #
11
+ # * The --unindent option assumes that all beginning (<% ... do %>)
12
+ # and ending (<% end %>) eRuby directives appear one per line
13
+ # (with nothing else on the line, except whitespace) in the input.
11
14
 
12
15
  # Copyright 2007 Suraj N. Kurapati
13
16
  # See the file named LICENSE for details.
@@ -23,7 +26,7 @@ $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
23
26
  require 'gerbil'
24
27
 
25
28
  # Prints the given message and raises the given error.
26
- def hoist aMessage, aError = $!
29
+ def error aMessage, aError = $!
27
30
  STDERR.printf "%s:\n\n", aMessage
28
31
  raise aError
29
32
  end
@@ -104,11 +107,11 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
104
107
  # show program description located at the top of this file
105
108
  puts File.read(__FILE__).split(/^$\n/)[1].gsub(/^# ?/, '')
106
109
 
107
- puts "\nUsage: #{File.basename $0} [Option...] Format|SpecFile [InputFile]\n"
110
+ puts '', "Usage: #{File.basename $0} [Option...] Format|SpecFile [InputFile...]\n"
108
111
 
109
- puts "\nOption: #{opts}"
112
+ puts '', "Option: #{opts}"
110
113
 
111
- puts "\nFormat:"
114
+ puts '', "Format:"
112
115
  Gerbil[:format_files].each do |file|
113
116
  name = File.basename(file, '.yaml')
114
117
  desc = YAML.load_file(file)['desc'] rescue nil
@@ -122,9 +125,13 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
122
125
  puts "%s %s (%s) %s %s" % [
123
126
  :name, :version, :release, :website, :home
124
127
  ].map {|m| Gerbil[m] }
128
+
125
129
  exit
126
130
  end
127
131
 
132
+ unindent = false
133
+ opts.on '-u', '--unindent', 'unindent node content' do unindent = true end
134
+
128
135
  opts.parse! ARGV
129
136
 
130
137
  # load format specification file
@@ -140,7 +147,7 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
140
147
  :name => File.basename(specFile).sub(/\..*?$/, '')
141
148
 
142
149
  rescue Exception
143
- hoist "Error when loading the format specification file (#{specFile.inspect})"
150
+ error "Error when loading the format specification file (#{specFile.inspect})"
144
151
  end
145
152
 
146
153
  if specData.key? 'code'
@@ -151,10 +158,40 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
151
158
  input = ARGF.read
152
159
 
153
160
  # expand all "include" directives in the input
154
- begin end while input.gsub! %r/<%#\s*include\s+(.+?)\s*%>/ do
161
+ begin end while input.gsub! %r{<%#\s*include\s+(.+?)\s*#%>} do
155
162
  "<%#begin(#{name = $1.inspect})%>#{File.read $1}<%#end(#{name})%>"
156
163
  end
157
164
 
165
+ # unindent node content
166
+ if unindent
167
+ BLOCK_HEAD = /<%(?!%)(?:.(?!<%[^%]))*\bdo\s*%>/
168
+ BLOCK_TAIL = /<%\s*end\s*%>/
169
+
170
+ margins = input.scan(/#{BLOCK_HEAD}(?:\r?\n)*([ \t]*)/).flatten
171
+ lines = input.split(/^/)
172
+
173
+ # unindent each line by the inner margin of its containing node
174
+ stack = []
175
+ lines.each do |line|
176
+ case line
177
+ when BLOCK_HEAD
178
+ line.replace $&
179
+ stack.push margins.shift
180
+
181
+ when BLOCK_TAIL
182
+ line.replace $&
183
+ stack.pop
184
+
185
+ else
186
+ if margin = stack.last and line.include? margin
187
+ line[margin] = ''
188
+ end
189
+ end
190
+ end
191
+
192
+ input = lines.join
193
+ end
194
+
158
195
  # process input document
159
196
  template = Template.new('INPUT', input)
160
197
 
@@ -214,21 +251,20 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
214
251
 
215
252
  # assign node content
216
253
  if block_given?
217
- @stack << node
254
+ @stack.push node
218
255
  content = content_from_block(node, &aBlock)
219
256
  @stack.pop
220
257
 
221
258
  digest = content.digest
222
-
223
- node.content = content
224
- node.digest = digest
225
-
226
259
  @buffer << digest
227
260
  else
261
+ content = nil
228
262
  digest = node.object_id.to_s.digest
229
- node.digest = digest
230
263
  end
231
264
 
265
+ node.content = content
266
+ node.digest = digest
267
+
232
268
  digest
233
269
  end
234
270
  }, __FILE__, Kernel.caller.first[/\d+/].to_i.next
@@ -240,11 +276,6 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
240
276
 
241
277
  # replace nodes with output
242
278
  expander = lambda do |n, buf|
243
- # unindent content
244
- if defined? $unindent and n.content
245
- n.content.gsub! %r/^(#{Regexp.escape $unindent}){0,#{n.depth.next}}/, ''
246
- end
247
-
248
279
  # calculate node output
249
280
  source = "#{specFile}:nodes:#{n.type}:output"
250
281
  n.output = Template.new(source, nodeDefs[n.type]['output'].to_s.chomp).
@@ -259,14 +290,14 @@ if __FILE__ == $0 or File.basename(__FILE__) == File.basename($0)
259
290
  end
260
291
 
261
292
  # repeat for all child nodes
262
- n.children.each {|c| expander[c, buf]}
293
+ n.children.each {|c| expander[c, buf] }
263
294
  end
264
295
 
265
- roots.each {|n| expander[n, document]}
296
+ roots.each {|n| expander[n, document] }
266
297
 
267
298
  rescue Exception
268
299
  puts input # so the user can debug the line numbers in the stack trace
269
- hoist 'Error when processing the input document (INPUT)'
300
+ error 'Error when processing the input document (INPUT)'
270
301
  end
271
302
 
272
303
  # produce output document
@@ -1 +1 @@
1
- Thu, 29 May 2008 22:03:51 -0700
1
+ Sun, 01 Jun 2008 22:30:15 -0700
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Apr 27 17:40:40 -0700 2008</td>
59
+ <td>Sun Jun 01 09:49:27 -0700 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Apr 27 17:40:34 -0700 2008</td>
59
+ <td>Sun Jun 01 09:49:27 -0700 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu May 29 21:42:29 -0700 2008</td>
59
+ <td>Sun Jun 01 22:09:37 -0700 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -95,7 +95,7 @@ project information
95
95
  <tr class="top-aligned-row context-row">
96
96
  <td class="context-item-name">Gerbil</td>
97
97
  <td>=</td>
98
- <td class="context-item-value">{ :name =&gt; 'Gerbil', :version =&gt; '2.1.0', :release =&gt; '2008-05-29', :website =&gt; 'http://gerbil.rubyforge.org', :home =&gt; File.expand_path(File.join(File.dirname(__FILE__), '..'))</td>
98
+ <td class="context-item-value">{ :name =&gt; 'Gerbil', :version =&gt; '3.0.0', :release =&gt; '2008-06-01', :website =&gt; 'http://gerbil.rubyforge.org', :home =&gt; File.expand_path(File.join(File.dirname(__FILE__), '..'))</td>
99
99
  <td width="3em">&nbsp;</td>
100
100
  <td class="context-item-desc">
101
101
  project information
@@ -1,30 +1,46 @@
1
1
  <%
2
2
  # local variables for this document
3
- mailing_list_url = 'http://rubyforge.org/mailman/listinfo/gerbil-talk'
4
- mailing_list_link = link(mailing_list_url, "project mailing list")
5
- download_url = 'http://rubyforge.org/frs/?group_id=4905'
6
- source_repo_url = 'http://gerbil.rubyforge.org/src'
7
- feed_url = File.join(Gerbil[:website], 'news.xml')
8
- feed_icon_url = File.join(Gerbil[:website], 'feed-icon-28x28.png')
3
+ pkg_url = File.join(Gerbil[:website], 'pkg')
4
+ src_url = File.join(Gerbil[:website], 'src')
5
+ ann_url = File.join(Gerbil[:website], 'ann')
6
+ dev_url = File.join(Gerbil[:website], 'dev')
7
+ log_url = File.join(Gerbil[:website], 'log')
9
8
 
10
9
  # parameters for the HTML format
11
10
  $title = "#{Gerbil} user guide"
12
- $authors = { 'Suraj N. Kurapati' => 'http://snk.tuxfamily.org' }
13
- $feeds = { feed_url => :rss }
11
+ $authors = { 'Suraj N. Kurapati' => 'http://snk.rubyforge.org' }
12
+ $feeds = { ann_url => :rss }
14
13
  $logo = '<img src="gerbil.png" alt="Gerbil logo" title="Gerbil logo"/>'
15
-
16
- # parameters for Gerbil
17
- $unindent = ' '
18
14
  %>
19
15
 
16
+ <% header_inside_below do %>
17
+ ---
18
+
19
+ "Project news":<%= ann_url %> - announcements of new releases.
20
+
21
+ "Release notes":<%= log_url %> - history of project release notes.
22
+
23
+ "Downloads":<%= pkg_url %> - obtain the newest release package.
24
+
25
+ "Reference":api/index.html - API documentation for source code.
26
+
27
+ "Developer feed":<%= dev_url %> - news about repository commits.
28
+
29
+ To get help or provide feedback, simply <%= xref "License", "contact the author" %>.
30
+
31
+ ---
32
+ <% end %>
33
+
20
34
  <% chapter "Introduction" do %>
21
35
  Gerbil is an *extensible document generator* based on "eRuby":http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html#S2 that outputs to any format you want: <%= xref 'html', "HTML (web page)" %>, <%= xref 'latex', "LaTeX" %>, <%= xref "man", "UNIX man page" %>, <%= xref 'text', 'plain text' %>, <%= xref "HelloWorld", "your own custom format" %>, and so on.
22
36
 
23
37
  Gerbil is *lighter* and more *flexible* than "DocBook":http://www.docbook.org, "Deplate":http://deplate.sourceforge.net, and "SiSU":http://www.jus.uio.no/sisu/SiSU/ because it is small, fast, and lets you <%= xref "HelloWorld", "define your own custom format" %>. Furthermore, Gerbil is *scriptable* unlike raw text generators such as "AsciiDoc":http://www.methods.co.nz/asciidoc/, "txt2tags":http://txt2tags.sourceforge.net, and "Grutatxt":http://www.triptico.com/software/grutatxt.html because it lets you inject Ruby code directly into your documents for dynamic content generation.
24
38
 
25
- Gerbil is *open-source software* (see <%= xref "License" %>) so feel free to contribute your improvements and discuss your ideas in the <%= mailing_list_link %>. You can obtain the source code from the project "Darcs":http://darcs.net repository by running the following command:
39
+ Gerbil is *open-source software* (see <%= xref "License" %>) so feel free to contribute your improvements and discuss your ideas <%= xref "License", "with the author" %>. You can obtain the source code from the project "Darcs":http://darcs.net repository by running the following command:
40
+
41
+ darcs get <%= src_url %> gerbil
26
42
 
27
- darcs get <%= source_repo_url %> gerbil
43
+ In addition, you can monitor for changes to the above repository by subscribing to "this news feed":<%= dev_url %>.
28
44
 
29
45
  <% note "See the source of this guide" do %>
30
46
  Did you know that this user guide was generated by Gerbil? Here is "the source document":guide.erb to prove it!
@@ -41,19 +57,8 @@
41
57
  <%=h File.read('LICENSE') %>
42
58
  <% end %>
43
59
 
44
- <% section "Resources" do %>
45
- * "Announcements":<%= feed_url %> !<%= feed_icon_url %>(RSS icon)!
46
- - project news and release announcements.
47
- * "Download area":<%= download_url %>
48
- - place to obtain release packages.
49
- * "Mailing list":<%= mailing_list_url %>
50
- - ask questions, get help, discuss.
51
- * "API reference":api/
52
- - documentation for all Ruby code provided with Gerbil.
53
- <% end %>
54
-
55
- <% section "Testimonials" do %>
56
- bq. I actually felt like printing it [the user guide], because it's just so well-thought typographically... Even if it [Gerbil] weren't great by itself, I'd feel good just looking at the manual. --"_Vitor Peres_ in [ruby-talk:283052]":http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/283052
60
+ <% section "Reviews" do %>
61
+ bq. I actually felt like printing it [this user guide], because it's just so well-thought typographically... Even if it [Gerbil] weren't great by itself, I'd feel good just looking at the manual [this user guide]. --"_Vitor Peres_ in [ruby-talk:283052]":http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/283052
57
62
  <% end %>
58
63
  <% end %>
59
64
 
@@ -78,7 +83,7 @@
78
83
  gerbil -v
79
84
 
80
85
  Otherwise, follow these instructions:
81
- # Download the newest release package from "the download area":<%= download_url %>.
86
+ # Download the newest release package from "the download area":<%= pkg_url %>.
82
87
  # Extract the release package anywhere you want on your system.
83
88
  # Go inside the extracted directory and run the following command:
84
89
 
@@ -86,7 +91,7 @@
86
91
 
87
92
  If the installation was successful, then you will see output like this: <pre><%=h `ruby bin/gerbil -v` %></pre>
88
93
 
89
- Otherwise, you can ask for help in the <%= mailing_list_link %>.
94
+ Otherwise, you can <%= xref "License", "contact the author" %> for help.
90
95
  <% end %>
91
96
 
92
97
  <% section "Manifest" do %>
@@ -255,24 +260,12 @@
255
260
  # Run this command: <pre>gerbil HelloWorld.spec HelloWorld.input > HelloWorld.output</pre>
256
261
  # Examine the <tt>HelloWorld.output</tt> file until you are satisfied!
257
262
 
258
- <% note "Author's note about documentation quality" do %>
259
- Please excuse my lack of creativity for this example. I tried different ideas but scrapped most of them because writing documentation is hard and mostly boring. (Although I did have fun reading the wacky names produced by the @generate_name()@ method!)
260
-
261
- Instead, I just _really_ want to get the first release of Gerbil out the door and continue work on my other programming projects, but I cannot do so until I've written some documentation. Ah, the dilemma of an open-source developer who cares about documentation!
262
-
263
- On the other hand, if you have ideas on how to improve this example, please speak up in the <%= mailing_list_link %>. Thanks!
264
- <% end %>
265
-
266
- <% example "HelloWorld format specification file", "HelloWorld.spec" do |n| %>
267
- <code lang="rhtml">
268
- <%= h File.read('doc/HelloWorld.spec').gsub(/^/, $unindent * n.depth.next).lstrip %>
269
- </code>
263
+ <% example "HelloWorld format specification file", "HelloWorld.spec" do %>
264
+ <code lang="rhtml"><%= h File.read('doc/HelloWorld.spec') %></code>
270
265
  <% end %>
271
266
 
272
- <% example "Input document for HelloWorld format", "HelloWorld.input" do |n| %>
273
- <code lang="rhtml">
274
- <%= h File.read('doc/HelloWorld.input').gsub(/^/, $unindent * n.depth.next).lstrip %>
275
- </code>
267
+ <% example "Input document for HelloWorld format", "HelloWorld.input" do %>
268
+ <code lang="rhtml"><%= h File.read('doc/HelloWorld.input') %></code>
276
269
  <% end %>
277
270
 
278
271
  <% example "Output of HelloWorld format", "HelloWorld.output" do %>
@@ -283,35 +276,30 @@
283
276
  <% end %>
284
277
 
285
278
  <% chapter "Usage" do %>
286
- <pre><%=h "\n" << `ruby bin/gerbil -h`.gsub(/^/, $unindent) %></pre>
279
+ <%=
280
+ `ruby bin/gerbil -h`.
281
+ gsub(/^ {4}(\S+(?:, \S+)?) {4,}(.*)$/, '| \1 | \2 |'). # option listing
282
+ gsub(/-\w\b|--\w{2,}/, '<tt>\&</tt>'). # option names
283
+ gsub(/^\S+?:/, '<b>\&</b>') # section headings
284
+ %>
287
285
 
288
- Gerbil requires its _first_ command-line argument to be either (1) the name of a predefined format or (2) the path to a <%= xref 'SpecFile', 'format specification file' %>. Predefined formats are simply short-hand names of format specification files located in the <tt>format/</tt> subdirectory of the Gerbil installation directory (see <%= xref "Manifest" %>).
286
+ Gerbil requires its _first_ command-line argument to be either (1) the name of a predefined format or (2) the path to a <%= xref 'SpecFile', 'format specification file' %>. Predefined formats are simply short-hand names of format specification files located in the <tt>fmt/</tt> subdirectory of the Gerbil installation directory (see <%= xref "Manifest" %>).
289
287
 
290
288
  <% section "The *include* directive", "include" do %>
291
289
  The *include* directive allows you to insert the content of an arbitrary file at a certain place in the input document. It is written like this:
292
290
 
293
- <%%# include _path_ %>
291
+ <%%# include _path_ #%>
294
292
 
295
293
  Here, _path_ is the path of the file whose content you wish to insert into the input document.
296
294
 
297
295
  You can divide a large document into separate files for easier editing and stitch them together, dynamically, into a single document using the *include* directive.
298
296
  <% end %>
299
-
300
- <% section "The @$unindent@ variable", "unindent" do %>
301
- The @$unindent@ variable allows you to unindent the content of every node in the input document by a specified amount of whitespace (spaces, tabs, newlines, and so on).
302
-
303
- Simply define this variable somewhere in your input document, like this (assuming you indent your node content using a TAB and two spaces):
304
-
305
- <%% $unindent = "\t " %>
306
-
307
- and let Gerbil do it's magic!
308
- <% end %>
309
297
  <% end %>
310
298
 
311
299
  <% part "Formats" do %>
312
- This section describes the default formats provided along with Gerbil. The format specification files (see <%= xref "SpecFile" %>) for these formats can be found in the <tt>format/</tt> directory of the Gerbil installation directory (see <%= xref "Manifest" %>).
300
+ This section describes the default formats provided along with Gerbil. The format specification files (see <%= xref "SpecFile" %>) for these formats can be found in the <tt>fmt/</tt> directory of the Gerbil installation directory (see <%= xref "Manifest" %>).
313
301
 
314
- These formats are meant to serve as working examples. If you require more functionality from one of these formats, simply make a copy of the corresponding format specification file and edit the copy to suit your needs. If you would like to contribute or discuss your enhancements to these default formats, you can do so on the <%= mailing_list_link %>.
302
+ These formats are meant to serve as working examples. If you require more functionality from one of these formats, simply make a copy of the corresponding format specification file and edit the copy to suit your needs. If you would like to contribute or discuss your enhancements to these default formats, you can <%= xref "License", "contact the author" %>.
315
303
 
316
304
  <% chapter "HTML", 'html' do %>
317
305
  This format generates a _monolithic_ HTML (technically, it's XHTML 1.0 transitional, but who's counting?) document. A monolithic HTML document allows users to easily search for a particular topic using nothing more than their web browser's built-in text search mechanism. This facilitates offline reading, where an Internet search engine is not available.
@@ -321,7 +309,7 @@
321
309
  Furthermore, the HTML document comes equipped with a stylesheet that makes it suitable for printing. In particular, users of the "Mozilla":http://mozilla.org and "Opera":http://www.opera.com/ family of web browsers will be pleasantly surprised to notice that all hyperlinks have been expanded to include their target URL next to the link text. So try using the "print preview" function of a graphical web browser to see how the HTML document will appear when printed.
322
310
 
323
311
  <% section "Text to HTML conversion" do %>
324
- Inside the <tt>format/</tt> subdirectory of the Gerbil installation directory (see <%= xref "Manifest" %>), you will see a <tt>html.rb</tt> file. This file defines a @String.to_html@ method which is used to transform text in an input document into HTML.
312
+ Inside the <tt>fmt/</tt> subdirectory of the Gerbil installation directory (see <%= xref "Manifest" %>), you will see a <tt>html.rb</tt> file. This file defines a @String.to_html@ method which is used to transform text in an input document into HTML.
325
313
 
326
314
  The default implementation of the @String.to_html@ method is based on the "Textile":http://whytheluckystiff.net/ruby/redcloth/ markup system. If you do not like Textile or wish to use a different markup system for text in your documents, then simply edit the <tt>html.rb</tt> file and adjust the source code of the default @String.to_html@ method accordingly.
327
315
 
@@ -2,11 +2,11 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
5
- <meta name="date" content="29 May 2008"/>
5
+ <meta name="date" content="01 June 2008"/>
6
6
  <meta name="author" content="Suraj N. Kurapati"/>
7
- <meta name="generator" content="Gerbil 2.1.0"/>
8
- <link rel="alternate" type="application/rss+xml" href="http://gerbil.rubyforge.org/news.xml"/>
9
- <title>Gerbil 2.1.0 user guide</title>
7
+ <meta name="generator" content="Gerbil 3.0.0"/>
8
+ <link rel="alternate" type="application/rss+xml" href="http://gerbil.rubyforge.org/ann"/>
9
+ <title>Gerbil 3.0.0 user guide</title>
10
10
 
11
11
  <style type="text/css" media="screen">
12
12
  body
@@ -129,10 +129,35 @@
129
129
 
130
130
  #header
131
131
  {
132
- margin-bottom : 5em;
133
132
  text-align : center;
134
133
  }
135
134
 
135
+ .header_outside_above,
136
+ #header,
137
+ .header_outside_below
138
+ {
139
+ margin-bottom : 5em;
140
+ }
141
+
142
+ .footer_outside_above,
143
+ #footer,
144
+ .footer_outside_below
145
+ {
146
+ margin-top : 5em;
147
+ }
148
+
149
+ #header .header_inside_above,
150
+ #footer .footer_inside_above
151
+ {
152
+ margin-bottom : 4em;
153
+ }
154
+
155
+ #header .header_inside_below,
156
+ #footer .footer_inside_below
157
+ {
158
+ margin-top : 4em;
159
+ }
160
+
136
161
  #abstract
137
162
  {
138
163
  margin-bottom : 5em;
@@ -169,7 +194,6 @@
169
194
  {
170
195
  border-top : thick dotted #DCDCDC;
171
196
  padding-top : 1em;
172
- margin-top : 5em;
173
197
  text-align : center;
174
198
  }
175
199
 
@@ -303,8 +327,9 @@
303
327
 
304
328
  hr
305
329
  {
306
- color : #FF0000; /* for IE6 */
307
- background-color : #FF0000; /* for Firefox */
330
+ height : 0;
331
+ border : 0;
332
+ border-top : 2px solid #FF0000;
308
333
  }
309
334
 
310
335
  /* source code */
@@ -515,10 +540,35 @@
515
540
 
516
541
  #header
517
542
  {
518
- margin-bottom : 5em;
519
543
  text-align : center;
520
544
  }
521
545
 
546
+ .header_outside_above,
547
+ #header,
548
+ .header_outside_below
549
+ {
550
+ margin-bottom : 5em;
551
+ }
552
+
553
+ .footer_outside_above,
554
+ #footer,
555
+ .footer_outside_below
556
+ {
557
+ margin-top : 5em;
558
+ }
559
+
560
+ #header .header_inside_above,
561
+ #footer .footer_inside_above
562
+ {
563
+ margin-bottom : 4em;
564
+ }
565
+
566
+ #header .header_inside_below,
567
+ #footer .footer_inside_below
568
+ {
569
+ margin-top : 4em;
570
+ }
571
+
522
572
  #abstract
523
573
  {
524
574
  margin-bottom : 5em;
@@ -555,7 +605,6 @@
555
605
  {
556
606
  border-top : thick dotted #DCDCDC;
557
607
  padding-top : 1em;
558
- margin-top : 5em;
559
608
  text-align : center;
560
609
  }
561
610
 
@@ -769,23 +818,45 @@
769
818
  <div id="header">
770
819
 
771
820
  <img src="gerbil.png" alt="Gerbil logo" title="Gerbil logo"/>
772
- <h1 class="title">Gerbil 2.1.0 user guide</h1>
773
- <h2 class="authors"><a href="http://snk.tuxfamily.org">Suraj N. Kurapati</a></h2>
774
- <h3 class="date">29 May 2008</h3>
775
-
821
+ <h1 class="title">Gerbil 3.0.0 user guide</h1>
822
+ <h2 class="authors"><a href="http://snk.rubyforge.org">Suraj N. Kurapati</a></h2>
823
+ <h3 class="date">01 June 2008</h3>
824
+ <div class="header_inside_below"><hr />
825
+
826
+
827
+ <p><a href="http://gerbil.rubyforge.org/ann">Project news</a> &#8211; announcements of new releases.</p>
828
+
829
+
830
+ <p><a href="http://gerbil.rubyforge.org/log">Release notes</a> &#8211; history of project release notes.</p>
831
+
832
+
833
+ <p><a href="http://gerbil.rubyforge.org/pkg">Downloads</a> &#8211; obtain the newest release package.</p>
834
+
835
+
836
+ <p><a href="api/index.html">Reference</a> &#8211; API documentation for source code.</p>
837
+
838
+
839
+ <p><a href="http://gerbil.rubyforge.org/dev">Developer feed</a> &#8211; news about repository commits.</p>
840
+
841
+
842
+ <p>To get help or provide feedback, simply <a class="xref" href="#License">contact the author</a>.</p>
843
+
844
+
845
+ <hr /></div>
776
846
  </div>
777
847
 
778
848
 
849
+
779
850
 
780
- <div id="toc"><h1>Contents</h1> <ul><li>1&nbsp;&nbsp;<a id="a-606113298" href="#Introduction">Introduction</a><ul><li>1.1&nbsp;&nbsp;<a id="a-606173248" href="#Features">Features</a></li><li>1.2&nbsp;&nbsp;<a id="a-606200668" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="a-606213458" href="#Resources">Resources</a></li><li>1.4&nbsp;&nbsp;<a id="a-606229308" href="#Testimonials">Testimonials</a></li></ul></li><li>2&nbsp;&nbsp;<a id="a-606247748" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="a-606272278" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="a-606328118" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="a-606336328" href="#Manifest">Manifest</a></li><li>2.4&nbsp;&nbsp;<a id="a-605911468" href="#Version-numbering-system">Version numbering system</a></li></ul></li><li>3&nbsp;&nbsp;<a id="a-605941648" href="#Theory-of-operation">Theory of operation</a><ul><li>3.1&nbsp;&nbsp;<a id="a-606370728" href="#Nodes">Nodes</a><ul><li>3.1.1&nbsp;&nbsp;<a id="a-606382188" href="#Node.class">The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class</a></li></ul></li><li>3.2&nbsp;&nbsp;<a id="a-606386758" href="#SpecFile">Format specification file</a><ul><li>3.2.1&nbsp;&nbsp;<a id="a-606397338" href="#SpecFile.nodes">Node definition</a><ul><li>3.2.1.1&nbsp;&nbsp;<a id="a-606404558" href="#SpecFile.nodes.output">Node output template</a></li></ul></li><li>3.2.2&nbsp;&nbsp;<a id="a-606409628" href="#SpecFile.output">Document output template</a></li><li>3.2.3&nbsp;&nbsp;<a id="a-606414978" href="#HelloWorld">Creating your own custom format</a></li></ul></li></ul></li><li>4&nbsp;&nbsp;<a id="a-606467668" href="#Usage">Usage</a><ul><li>4.1&nbsp;&nbsp;<a id="a-606478528" href="#include">The <strong>include</strong> directive</a></li><li>4.2&nbsp;&nbsp;<a id="a-606484228" href="#unindent">The <code class="code"><span style="color:#d70; font-weight:bold">$unindent</span></code> variable</a></li></ul></li><li>5&nbsp;&nbsp;<a id="a-606490418" href="#Formats">Formats</a><ul><li>5.1&nbsp;&nbsp;<a id="a-606498318" href="#html">HTML</a><ul><li>5.1.1&nbsp;&nbsp;<a id="a-606500248" href="#Text-to-HTML-conversion">Text to HTML conversion</a><ul><li>5.1.1.1&nbsp;&nbsp;<a id="a-606505958" href="#Syntax-coloring-for-source-code">Syntax coloring for source code</a><ul><li>5.1.1.1.1&nbsp;&nbsp;<a id="a-606507978" href="#Specifying-the-programming-language">Specifying the programming language</a></li></ul></li><li>5.1.1.2&nbsp;&nbsp;<a id="a-606511328" href="#Smart-sizing-of-source-code">Smart sizing of source code</a></li><li>5.1.1.3&nbsp;&nbsp;<a id="a-606514368" href="#Protecting-verbatim-text">Protecting verbatim text</a></li></ul></li><li>5.1.2&nbsp;&nbsp;<a id="a-606518168" href="#Parameters">Parameters</a></li><li>5.1.3&nbsp;&nbsp;<a id="a-606523158" href="#Methods">Methods</a></li><li>5.1.4&nbsp;&nbsp;<a id="a-607127418" href="#html.nodes">Nodes</a><ul><li>5.1.4.1&nbsp;&nbsp;<a id="a-607147088" href="#Structure">Structure</a><ul><li>5.1.4.1.1&nbsp;&nbsp;<a id="a-607152838" href="#html.nodes.header">header</a></li><li>5.1.4.1.2&nbsp;&nbsp;<a id="a-607155708" href="#html.nodes.footer">footer</a></li><li>5.1.4.1.3&nbsp;&nbsp;<a id="a-607162228" href="#html.nodes.abstract">abstract</a></li><li>5.1.4.1.4&nbsp;&nbsp;<a id="a-607170078" href="#html.nodes.xref">xref</a></li></ul></li><li>5.1.4.2&nbsp;&nbsp;<a id="a-607184508" href="#Organization">Organization</a><ul><li>5.1.4.2.1&nbsp;&nbsp;<a id="a-607186558" href="#html.nodes.part">part</a><ul><li>5.1.4.2.1.1&nbsp;&nbsp;<a id="a-607193048" href="#An-example">An example</a></li></ul></li><li>5.1.4.2.2&nbsp;&nbsp;<a id="a-607201388" href="#html.nodes.chapter">chapter</a><ul><li>5.1.4.2.2.1&nbsp;&nbsp;<a id="a-607205928" href="#An-example-607251148">An example</a></li></ul></li><li>5.1.4.2.3&nbsp;&nbsp;<a id="a-607210158" href="#html.nodes.section">section</a><ul><li>5.1.4.2.3.1&nbsp;&nbsp;<a id="a-607211878" href="#An-example-607390208">An example</a></li></ul></li><li>5.1.4.2.4&nbsp;&nbsp;<a id="a-607214388" href="#html.nodes.paragraph">paragraph</a></li></ul></li><li>5.1.4.3&nbsp;&nbsp;<a id="a-607218628" href="#Admonitions">Admonitions</a><ul><li>5.1.4.3.1&nbsp;&nbsp;<a id="a-607223748" href="#html.nodes.warning">warning</a></li><li>5.1.4.3.2&nbsp;&nbsp;<a id="a-607229148" href="#html.nodes.caution">caution</a></li><li>5.1.4.3.3&nbsp;&nbsp;<a id="a-607234578" href="#html.nodes.important">important</a></li><li>5.1.4.3.4&nbsp;&nbsp;<a id="a-607240058" href="#html.nodes.note">note</a></li><li>5.1.4.3.5&nbsp;&nbsp;<a id="a-607245848" href="#html.nodes.tip">tip</a></li></ul></li><li>5.1.4.4&nbsp;&nbsp;<a id="a-607259048" href="#Auxilary-materials">Auxilary materials</a><ul><li>5.1.4.4.1&nbsp;&nbsp;<a id="a-607264088" href="#html.nodes.figure">figure</a></li><li>5.1.4.4.2&nbsp;&nbsp;<a id="a-607277488" href="#html.nodes.table">table</a></li><li>5.1.4.4.3&nbsp;&nbsp;<a id="a-607291368" href="#html.nodes.example">example</a></li><li>5.1.4.4.4&nbsp;&nbsp;<a id="a-607303798" href="#html.nodes.equation">equation</a></li><li>5.1.4.4.5&nbsp;&nbsp;<a id="a-607314598" href="#html.nodes.procedure">procedure</a></li></ul></li><li>5.1.4.5&nbsp;&nbsp;<a id="a-607323548" href="#Bibliography">Bibliography</a><ul><li>5.1.4.5.1&nbsp;&nbsp;<a id="a-607328178" href="#html.nodes.reference">reference</a></li><li>5.1.4.5.2&nbsp;&nbsp;<a id="a-607346008" href="#html.nodes.cite">cite</a></li></ul></li></ul></li></ul></li><li>5.2&nbsp;&nbsp;<a id="a-607364918" href="#text">Plain text</a></li><li>5.3&nbsp;&nbsp;<a id="a-607370978" href="#latex">LaTeX</a></li><li>5.4&nbsp;&nbsp;<a id="a-607378428" href="#man">UNIX man page</a></li></ul></li></ul></div>
851
+ <div id="toc"><h1>Contents</h1> <ul><li>1&nbsp;&nbsp;<a id="a-605970898" href="#Introduction">Introduction</a><ul><li>1.1&nbsp;&nbsp;<a id="a-606066588" href="#Features">Features</a></li><li>1.2&nbsp;&nbsp;<a id="a-606122318" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="a-606146828" href="#Reviews">Reviews</a></li></ul></li><li>2&nbsp;&nbsp;<a id="a-606154168" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="a-605622608" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="a-605710938" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="a-605760218" href="#Manifest">Manifest</a></li><li>2.4&nbsp;&nbsp;<a id="a-606185998" href="#Version-numbering-system">Version numbering system</a></li></ul></li><li>3&nbsp;&nbsp;<a id="a-606192738" href="#Theory-of-operation">Theory of operation</a><ul><li>3.1&nbsp;&nbsp;<a id="a-606211768" href="#Nodes">Nodes</a><ul><li>3.1.1&nbsp;&nbsp;<a id="a-606223748" href="#Node.class">The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class</a></li></ul></li><li>3.2&nbsp;&nbsp;<a id="a-606229648" href="#SpecFile">Format specification file</a><ul><li>3.2.1&nbsp;&nbsp;<a id="a-606241638" href="#SpecFile.nodes">Node definition</a><ul><li>3.2.1.1&nbsp;&nbsp;<a id="a-606248698" href="#SpecFile.nodes.output">Node output template</a></li></ul></li><li>3.2.2&nbsp;&nbsp;<a id="a-606256688" href="#SpecFile.output">Document output template</a></li><li>3.2.3&nbsp;&nbsp;<a id="a-606262248" href="#HelloWorld">Creating your own custom format</a></li></ul></li></ul></li><li>4&nbsp;&nbsp;<a id="a-606308348" href="#Usage">Usage</a><ul><li>4.1&nbsp;&nbsp;<a id="a-606315728" href="#include">The <strong>include</strong> directive</a></li></ul></li><li>5&nbsp;&nbsp;<a id="a-606319258" href="#Formats">Formats</a><ul><li>5.1&nbsp;&nbsp;<a id="a-606328418" href="#html">HTML</a><ul><li>5.1.1&nbsp;&nbsp;<a id="a-606330638" href="#Text-to-HTML-conversion">Text to HTML conversion</a><ul><li>5.1.1.1&nbsp;&nbsp;<a id="a-606335428" href="#Syntax-coloring-for-source-code">Syntax coloring for source code</a><ul><li>5.1.1.1.1&nbsp;&nbsp;<a id="a-606338018" href="#Specifying-the-programming-language">Specifying the programming language</a></li></ul></li><li>5.1.1.2&nbsp;&nbsp;<a id="a-606341978" href="#Smart-sizing-of-source-code">Smart sizing of source code</a></li><li>5.1.1.3&nbsp;&nbsp;<a id="a-606345218" href="#Protecting-verbatim-text">Protecting verbatim text</a></li></ul></li><li>5.1.2&nbsp;&nbsp;<a id="a-606353048" href="#Parameters">Parameters</a></li><li>5.1.3&nbsp;&nbsp;<a id="a-606356788" href="#Methods">Methods</a></li><li>5.1.4&nbsp;&nbsp;<a id="a-606981518" href="#html.nodes">Nodes</a><ul><li>5.1.4.1&nbsp;&nbsp;<a id="a-606992068" href="#Structure">Structure</a><ul><li>5.1.4.1.1&nbsp;&nbsp;<a id="a-606999108" href="#html.nodes.header">header</a></li><li>5.1.4.1.2&nbsp;&nbsp;<a id="a-607002748" href="#html.nodes.footer">footer</a></li><li>5.1.4.1.3&nbsp;&nbsp;<a id="a-607009848" href="#html.nodes.abstract">abstract</a></li><li>5.1.4.1.4&nbsp;&nbsp;<a id="a-607014308" href="#html.nodes.xref">xref</a></li></ul></li><li>5.1.4.2&nbsp;&nbsp;<a id="a-607031368" href="#Organization">Organization</a><ul><li>5.1.4.2.1&nbsp;&nbsp;<a id="a-607035868" href="#html.nodes.part">part</a><ul><li>5.1.4.2.1.1&nbsp;&nbsp;<a id="a-607039118" href="#An-example">An example</a></li></ul></li><li>5.1.4.2.2&nbsp;&nbsp;<a id="a-607041628" href="#html.nodes.chapter">chapter</a><ul><li>5.1.4.2.2.1&nbsp;&nbsp;<a id="a-607043318" href="#An-example-607136348">An example</a></li></ul></li><li>5.1.4.2.3&nbsp;&nbsp;<a id="a-607045828" href="#html.nodes.section">section</a><ul><li>5.1.4.2.3.1&nbsp;&nbsp;<a id="a-607047548" href="#An-example-607242248">An example</a></li></ul></li><li>5.1.4.2.4&nbsp;&nbsp;<a id="a-607050058" href="#html.nodes.paragraph">paragraph</a></li></ul></li><li>5.1.4.3&nbsp;&nbsp;<a id="a-607054298" href="#Admonitions">Admonitions</a><ul><li>5.1.4.3.1&nbsp;&nbsp;<a id="a-607059578" href="#html.nodes.warning">warning</a></li><li>5.1.4.3.2&nbsp;&nbsp;<a id="a-607065148" href="#html.nodes.caution">caution</a></li><li>5.1.4.3.3&nbsp;&nbsp;<a id="a-607070748" href="#html.nodes.important">important</a></li><li>5.1.4.3.4&nbsp;&nbsp;<a id="a-607078658" href="#html.nodes.note">note</a></li><li>5.1.4.3.5&nbsp;&nbsp;<a id="a-607091318" href="#html.nodes.tip">tip</a></li></ul></li><li>5.1.4.4&nbsp;&nbsp;<a id="a-607113278" href="#Auxilary-materials">Auxilary materials</a><ul><li>5.1.4.4.1&nbsp;&nbsp;<a id="a-607120048" href="#html.nodes.figure">figure</a></li><li>5.1.4.4.2&nbsp;&nbsp;<a id="a-607131228" href="#html.nodes.table">table</a></li><li>5.1.4.4.3&nbsp;&nbsp;<a id="a-607142608" href="#html.nodes.example">example</a></li><li>5.1.4.4.4&nbsp;&nbsp;<a id="a-607150388" href="#html.nodes.equation">equation</a></li><li>5.1.4.4.5&nbsp;&nbsp;<a id="a-607158588" href="#html.nodes.procedure">procedure</a></li></ul></li><li>5.1.4.5&nbsp;&nbsp;<a id="a-607170548" href="#Bibliography">Bibliography</a><ul><li>5.1.4.5.1&nbsp;&nbsp;<a id="a-607173848" href="#html.nodes.reference">reference</a></li><li>5.1.4.5.2&nbsp;&nbsp;<a id="a-607194148" href="#html.nodes.cite">cite</a></li></ul></li></ul></li></ul></li><li>5.2&nbsp;&nbsp;<a id="a-607222938" href="#text">Plain text</a></li><li>5.3&nbsp;&nbsp;<a id="a-607234148" href="#latex">LaTeX</a></li><li>5.4&nbsp;&nbsp;<a id="a-607237578" href="#man">UNIX man page</a></li></ul></li></ul></div>
781
852
 
782
- <div id="lof"><h1>Cautions</h1> <ol><li><a id="a-607232288" href="#An-example-607498638">An example</a></li></ol><h1>Equations</h1> <ol><li><a id="a-607308068" href="#An-example-607700438">An example</a></li></ol><h1>Examples</h1> <ol><li><a id="a-606445138" href="#HelloWorld.spec">HelloWorld format specification file</a></li><li><a id="a-606452538" href="#HelloWorld.input">Input document for HelloWorld format</a></li><li><a id="a-606461008" href="#HelloWorld.output">Output of HelloWorld format</a></li><li><a id="a-607295988" href="#An-example-607677748">An example</a></li></ol><h1>Figures</h1> <ol><li><a id="a-607270948" href="#An-example-607631908">An example</a></li></ol><h1>Importants</h1> <ol><li><a id="a-607237768" href="#An-example-607529738">An example</a></li></ol><h1>Notes</h1> <ol><li><a id="a-606163978" href="#See-the-source-of-this-guide">See the source of this guide</a></li><li><a id="a-606440698" href="#Author-s-note-about-documentation-quality">Author&#8217;s note about documentation quality</a></li><li><a id="a-607243278" href="#An-example-607566278">An example</a></li></ol><h1>Procedures</h1> <ol><li><a id="a-607318728" href="#An-example-607722628">An example</a></li></ol><h1>Tables</h1> <ol><li><a id="a-607284158" href="#An-example-607655068">An example</a></li></ol><h1>Tips</h1> <ol><li><a id="a-607251388" href="#An-example-607596848">An example</a></li></ol><h1>Warnings</h1> <ol><li><a id="a-607226858" href="#An-example-607468538">An example</a></li></ol></div>
853
+ <div id="lof"><h1>Cautions</h1> <ol><li><a id="a-607068458" href="#An-example-607338778">An example</a></li></ol><h1>Equations</h1> <ol><li><a id="a-607154858" href="#An-example-607537918">An example</a></li></ol><h1>Examples</h1> <ol><li><a id="a-606287038" href="#HelloWorld.spec">HelloWorld format specification file</a></li><li><a id="a-606294048" href="#HelloWorld.input">Input document for HelloWorld format</a></li><li><a id="a-606300938" href="#HelloWorld.output">Output of HelloWorld format</a></li><li><a id="a-607146808" href="#An-example-607515828">An example</a></li></ol><h1>Figures</h1> <ol><li><a id="a-607123418" href="#An-example-607470278">An example</a></li></ol><h1>Importants</h1> <ol><li><a id="a-607074108" href="#An-example-607369758">An example</a></li></ol><h1>Notes</h1> <ol><li><a id="a-606050618" href="#See-the-source-of-this-guide">See the source of this guide</a></li><li><a id="a-607085588" href="#An-example-607405428">An example</a></li></ol><h1>Procedures</h1> <ol><li><a id="a-607161558" href="#An-example-607559818">An example</a></li></ol><h1>Tables</h1> <ol><li><a id="a-607135628" href="#An-example-607493418">An example</a></li></ol><h1>Tips</h1> <ol><li><a id="a-607103358" href="#An-example-607435678">An example</a></li></ol><h1>Warnings</h1> <ol><li><a id="a-607062858" href="#An-example-607309288">An example</a></li></ol></div>
783
854
 
784
855
  <div id="content">
785
856
  <div class="chapter">
786
857
  <h1 class="title">
787
858
  Chapter
788
- <a class="toc" id="Introduction" href="#a-606113298">1</a>
859
+ <a class="toc" id="Introduction" href="#a-605970898">1</a>
789
860
 
790
861
  <br/>
791
862
 
@@ -798,14 +869,17 @@
798
869
  <p>Gerbil is <strong>lighter</strong> and more <strong>flexible</strong> than <a href="http://www.docbook.org">DocBook</a>, <a href="http://deplate.sourceforge.net">Deplate</a>, and <a href="http://www.jus.uio.no/sisu/SiSU/">SiSU</a> because it is small, fast, and lets you <a class="xref" href="#HelloWorld">define your own custom format</a>. Furthermore, Gerbil is <strong>scriptable</strong> unlike raw text generators such as <a href="http://www.methods.co.nz/asciidoc/">AsciiDoc</a>, <a href="http://txt2tags.sourceforge.net">txt2tags</a>, and <a href="http://www.triptico.com/software/grutatxt.html">Grutatxt</a> because it lets you inject Ruby code directly into your documents for dynamic content generation.</p>
799
870
 
800
871
 
801
- <p>Gerbil is <strong>open-source software</strong> (see <a class="xref" href="#License">Section 1.2: <em>License</em></a>) so feel free to contribute your improvements and discuss your ideas in the <a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">project mailing list</a>. You can obtain the source code from the project <a href="http://darcs.net">Darcs</a> repository by running the following command:</p>
872
+ <p>Gerbil is <strong>open-source software</strong> (see <a class="xref" href="#License">Section 1.2: <em>License</em></a>) so feel free to contribute your improvements and discuss your ideas <a class="xref" href="#License">with the author</a>. You can obtain the source code from the project <a href="http://darcs.net">Darcs</a> repository by running the following command:</p>
802
873
 
803
874
 
804
875
  <pre>darcs get http://gerbil.rubyforge.org/src gerbil</pre>
805
876
 
806
877
 
878
+ <p>In addition, you can monitor for changes to the above repository by subscribing to <a href="http://gerbil.rubyforge.org/dev">this news feed</a>.</p>
879
+
880
+
807
881
  <p><div class="note">
808
- <p class="title"><a class="toc" id="See-the-source-of-this-guide" href="#a-606163978">Note 1</a>.&nbsp;&nbsp;See the source of this guide</p>
882
+ <p class="title"><a class="toc" id="See-the-source-of-this-guide" href="#a-606050618">Note 1</a>.&nbsp;&nbsp;See the source of this guide</p>
809
883
 
810
884
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
811
885
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
@@ -867,10 +941,9 @@ DUCQhrhWJkj394A0gKeUCjVo3r9Zv0r2P3yyQqPd16MPAAAAAElFTkSuQmCC
867
941
  " class="icon"/>
868
942
 
869
943
  <div class="content">Did you know that this user guide was generated by Gerbil? Here is <a href="guide.erb">the source document</a> to prove it!</div>
870
- </div>
871
- <div class="section">
944
+ </div><div class="section">
872
945
  <h2 class="title">
873
- <a class="toc" id="Features" href="#a-606173248">1.1</a>&nbsp;&nbsp;Features
946
+ <a class="toc" id="Features" href="#a-606066588">1.1</a>&nbsp;&nbsp;Features
874
947
  </h2>
875
948
  <div class="content"><ul>
876
949
  <li>Composed of <strong>less than 200 lines</strong> of code!</li>
@@ -878,10 +951,9 @@ DUCQhrhWJkj394A0gKeUCjVo3r9Zv0r2P3yyQqPd16MPAAAAAElFTkSuQmCC
878
951
  <li>Supports <strong>any text-based output</strong> format.</li>
879
952
  <li>Generates a <strong>table of contents</strong> automatically.</li>
880
953
  </ul></div>
881
- </div>
882
- <div class="section">
954
+ </div><div class="section">
883
955
  <h2 class="title">
884
- <a class="toc" id="License" href="#a-606200668">1.2</a>&nbsp;&nbsp;License
956
+ <a class="toc" id="License" href="#a-606122318">1.2</a>&nbsp;&nbsp;License
885
957
  </h2>
886
958
  <div class="content"><p>Copyright 2006 Suraj N. Kurapati &lt;SNK at GNA dot ORG&gt;</p>
887
959
 
@@ -896,15 +968,15 @@ Software is furnished to do so, subject to the following conditions:</p>
896
968
 
897
969
  <ul>
898
970
  <li>All copies and substantial portions of the Software (the &quot;Derivatives&quot;)
899
- and their corresponding machine-readable source code (the &quot;Code&quot;) must
900
- include the above copyright notice and this permission notice.</li>
971
+ and their corresponding machine-readable source code (the &quot;Code&quot;) must
972
+ include the above copyright notice and this permission notice.</li>
901
973
  </ul>
902
974
 
903
975
 
904
976
  <ul>
905
977
  <li>Upon distribution, the Derivatives must be accompanied by either the Code
906
- or&mdash;provided that the Code is obtainable for no more than the cost of
907
- distribution plus a nominal fee&mdash;information on how to obtain the Code.</li>
978
+ or&mdash;provided that the Code is obtainable for no more than the cost of
979
+ distribution plus a nominal fee&mdash;information on how to obtain the Code.</li>
908
980
  </ul>
909
981
 
910
982
 
@@ -914,35 +986,19 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
914
986
  <span class="caps">COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM</span>, DAMAGES <span class="caps">OR OTHER LIABILITY</span>, WHETHER
915
987
  <span class="caps">IN AN ACTION OF CONTRACT</span>, TORT <span class="caps">OR OTHERWISE</span>, ARISING FROM, OUT <span class="caps">OF OR IN</span>
916
988
  <span class="caps">CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE</span>.</p></div>
917
- </div>
918
- <div class="section">
919
- <h2 class="title">
920
- <a class="toc" id="Resources" href="#a-606213458">1.3</a>&nbsp;&nbsp;Resources
921
- </h2>
922
- <div class="content"><ul>
923
- <li><a href="http://gerbil.rubyforge.org/news.xml">Announcements</a> <img src="http://gerbil.rubyforge.org/feed-icon-28x28.png" title="RSS icon" alt="RSS icon" />
924
- &#8211; project news and release announcements.</li>
925
- <li><a href="http://rubyforge.org/frs/?group_id=4905">Download area</a>
926
- &#8211; place to obtain release packages.</li>
927
- <li><a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">Mailing list</a>
928
- &#8211; ask questions, get help, discuss.</li>
929
- <li><a href="api/">API reference</a>
930
- &#8211; documentation for all Ruby code provided with Gerbil.</li>
931
- </ul></div>
932
- </div>
933
- <div class="section">
989
+ </div><div class="section">
934
990
  <h2 class="title">
935
- <a class="toc" id="Testimonials" href="#a-606229308">1.4</a>&nbsp;&nbsp;Testimonials
991
+ <a class="toc" id="Reviews" href="#a-606146828">1.3</a>&nbsp;&nbsp;Reviews
936
992
  </h2>
937
993
  <div class="content"><blockquote>
938
- <p>I actually felt like printing it [the user guide], because it&#8217;s just so well-thought typographically&#8230; Even if it [Gerbil] weren&#8217;t great by itself, I&#8217;d feel good just looking at the manual. &#8212;<a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/283052"><em>Vitor Peres</em> in [ruby-talk:283052]</a></p>
994
+ <p>I actually felt like printing it [this user guide], because it&#8217;s just so well-thought typographically&#8230; Even if it [Gerbil] weren&#8217;t great by itself, I&#8217;d feel good just looking at the manual [this user guide]. &#8212;<a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/283052"><em>Vitor Peres</em> in [ruby-talk:283052]</a></p>
939
995
  </blockquote></div>
940
996
  </div></p></div>
941
997
  </div>
942
998
  <div class="chapter">
943
999
  <h1 class="title">
944
1000
  Chapter
945
- <a class="toc" id="Setup" href="#a-606247748">2</a>
1001
+ <a class="toc" id="Setup" href="#a-606154168">2</a>
946
1002
 
947
1003
  <br/>
948
1004
 
@@ -951,7 +1007,7 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
951
1007
 
952
1008
  <div class="content"><div class="section">
953
1009
  <h2 class="title">
954
- <a class="toc" id="Requirements" href="#a-606272278">2.1</a>&nbsp;&nbsp;Requirements
1010
+ <a class="toc" id="Requirements" href="#a-605622608">2.1</a>&nbsp;&nbsp;Requirements
955
1011
  </h2>
956
1012
  <div class="content"><p>Your system needs the following software to run Gerbil.</p>
957
1013
 
@@ -982,10 +1038,9 @@ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCH
982
1038
 
983
1039
 
984
1040
  <pre>gem install RedCloth coderay</pre></div>
985
- </div>
986
- <div class="section">
1041
+ </div><div class="section">
987
1042
  <h2 class="title">
988
- <a class="toc" id="Installation" href="#a-606328118">2.2</a>&nbsp;&nbsp;Installation
1043
+ <a class="toc" id="Installation" href="#a-605710938">2.2</a>&nbsp;&nbsp;Installation
989
1044
  </h2>
990
1045
  <div class="content"><p>If your system has <a href="http://rubygems.org/">RubyGems</a>, then you can install Gerbil by running the following commands:</p>
991
1046
 
@@ -996,7 +1051,7 @@ gerbil -v</pre>
996
1051
 
997
1052
  Otherwise, follow these instructions:
998
1053
  <ol>
999
- <li>Download the newest release package from <a href="http://rubyforge.org/frs/?group_id=4905">the download area</a>.</li>
1054
+ <li>Download the newest release package from <a href="http://gerbil.rubyforge.org/pkg">the download area</a>.</li>
1000
1055
  <li>Extract the release package anywhere you want on your system.</li>
1001
1056
  <li>Go inside the extracted directory and run the following command:</li>
1002
1057
  </ol>
@@ -1005,15 +1060,14 @@ Otherwise, follow these instructions:
1005
1060
  <pre>ruby bin/gerbil -v</pre>
1006
1061
 
1007
1062
 
1008
- <p>If the installation was successful, then you will see output like this: <pre>Gerbil 2.1.0 (2008-05-29) http://gerbil.rubyforge.org /home/sun/src/gerbil
1063
+ <p>If the installation was successful, then you will see output like this: <pre>Gerbil 3.0.0 (2008-06-01) http://gerbil.rubyforge.org /home/sun/src/gerbil
1009
1064
  </pre></p>
1010
1065
 
1011
1066
 
1012
- <p>Otherwise, you can ask for help in the <a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">project mailing list</a>.</p></div>
1013
- </div>
1014
- <div class="section">
1067
+ <p>Otherwise, you can <a class="xref" href="#License">contact the author</a> for help.</p></div>
1068
+ </div><div class="section">
1015
1069
  <h2 class="title">
1016
- <a class="toc" id="Manifest" href="#a-606336328">2.3</a>&nbsp;&nbsp;Manifest
1070
+ <a class="toc" id="Manifest" href="#a-605760218">2.3</a>&nbsp;&nbsp;Manifest
1017
1071
  </h2>
1018
1072
  <div class="content">Now that Gerbil is installed on your system, let us examine its installation directory.
1019
1073
  <ul>
@@ -1034,33 +1088,22 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1034
1088
  <li><tt>latex.yaml</tt> &#8211; high-quality typesetting</li>
1035
1089
  <li><tt>html.yaml</tt> &#8211; web page for the Internet</li>
1036
1090
  <li><tt>man.yaml</tt> &#8211; manual page for UNIX</li>
1037
- <li><tt>text.yaml</tt> &#8211; plain text, nothing fancy</li>
1038
- </ul>
1039
- </li>
1040
- <li><tt>lib/</tt> &#8211; Gerbil automatically adds this directory to Ruby&#8217;s load path.
1041
- <ul>
1042
- <li><tt>gerbil.rb</tt> &#8211; project version information.</li>
1043
- <li><tt>gerbil/</tt>
1044
- <ul>
1045
- <li><tt>html.rb</tt> &#8211; provides the <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#to_html</span></code> method.</li>
1046
- <li><tt>rdoc.rb</tt> &#8211; provides RDoc parse trees to Ruby code.</li>
1047
- </ul>
1048
- </li>
1049
- </ul>
1050
- </li>
1051
- <li><tt>doc/</tt> &#8211; contains the user guide and other documentation.
1052
- <ul>
1053
- <li><tt>gerbil.svg</tt> &#8211; the source file of the Gerbil logo.</li>
1054
- <li><tt>guide.erb</tt> &#8211; the source file of this user guide.</li>
1055
- <li><tt>api/</tt> &#8211; contains API reference documentation for the provided Ruby code.</li>
1056
- </ul>
1057
- </li>
1058
- <li><tt>LICENSE</tt> &#8211; the project license and copyright notice.</li>
1091
+ <li><tt>text.yaml</tt> &#8211; plain text, nothing fancy
1092
+ * <tt>lib/</tt> &#8211; Gerbil automatically adds this directory to Ruby&#8217;s load path.
1093
+ <strong>* <tt>gerbil.rb</tt> &#8211; project version information.
1094
+ *</strong> <tt>gerbil/</tt>
1095
+ <b>* <tt>html.rb</tt> &#8211; provides the <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#to_html</span></code> method.
1096
+ <strong></b> <tt>rdoc.rb</tt> &#8211; provides RDoc parse trees to Ruby code.
1097
+ * <tt>doc/</tt> &#8211; contains the user guide and other documentation.
1098
+ *</strong> <tt>gerbil.svg</tt> &#8211; the source file of the Gerbil logo.
1099
+ <strong>* <tt>guide.erb</tt> &#8211; the source file of this user guide.
1100
+ *</strong> <tt>api/</tt> &#8211; contains API reference documentation for the provided Ruby code.
1101
+ * <tt>LICENSE</tt> &#8211; the project license and copyright notice.</li>
1102
+ </ul></li>
1059
1103
  </ul></div>
1060
- </div>
1061
- <div class="section">
1104
+ </div><div class="section">
1062
1105
  <h2 class="title">
1063
- <a class="toc" id="Version-numbering-system" href="#a-605911468">2.4</a>&nbsp;&nbsp;Version numbering system
1106
+ <a class="toc" id="Version-numbering-system" href="#a-606185998">2.4</a>&nbsp;&nbsp;Version numbering system
1064
1107
  </h2>
1065
1108
  <div class="content">Gerbil uses the <a href="http://www.rubygems.org/read/chapter/7">RubyGems rational versioning policy</a> to number its releases. This <strong>major.minor.patch</strong> numbering policy <a href="http://ablog.apress.com/?p=738">is summarized</a> as follows.
1066
1109
 
@@ -1096,7 +1139,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1096
1139
  <div class="chapter">
1097
1140
  <h1 class="title">
1098
1141
  Chapter
1099
- <a class="toc" id="Theory-of-operation" href="#a-605941648">3</a>
1142
+ <a class="toc" id="Theory-of-operation" href="#a-606192738">3</a>
1100
1143
 
1101
1144
  <br/>
1102
1145
 
@@ -1128,7 +1171,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1128
1171
 
1129
1172
  <p><div class="section">
1130
1173
  <h2 class="title">
1131
- <a class="toc" id="Nodes" href="#a-606370728">3.1</a>&nbsp;&nbsp;Nodes
1174
+ <a class="toc" id="Nodes" href="#a-606211768">3.1</a>&nbsp;&nbsp;Nodes
1132
1175
  </h2>
1133
1176
  <div class="content"><p>A node is a block of text that appears like this:</p>
1134
1177
 
@@ -1186,7 +1229,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1186
1229
 
1187
1230
  <p><div class="section">
1188
1231
  <h3 class="title">
1189
- <a class="toc" id="Node.class" href="#a-606382188">3.1.1</a>&nbsp;&nbsp;The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class
1232
+ <a class="toc" id="Node.class" href="#a-606223748">3.1.1</a>&nbsp;&nbsp;The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class
1190
1233
  </h3>
1191
1234
  <div class="content"><p>When Gerbil builds a document tree from nodes present in an input document, it stores information about these nodes into <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> objects. A <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> object has the following properties (methods):</p>
1192
1235
 
@@ -1262,7 +1305,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1262
1305
  </div>
1263
1306
  <div class="section">
1264
1307
  <h2 class="title">
1265
- <a class="toc" id="SpecFile" href="#a-606386758">3.2</a>&nbsp;&nbsp;Format specification file
1308
+ <a class="toc" id="SpecFile" href="#a-606229648">3.2</a>&nbsp;&nbsp;Format specification file
1266
1309
  </h2>
1267
1310
  <div class="content"><p>A format specification file is a plain-text file marked up in <a href="http://yaml4r.sourceforge.net/cookbook/">YAML syntax</a>. Through the following parameters, it defines (1) what types of nodes an input document may contain, (2) how the content of those nodes is transformed into output, and (3) how the processed document is transformed into the output document.</p>
1268
1311
 
@@ -1300,7 +1343,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1300
1343
 
1301
1344
  <p><div class="section">
1302
1345
  <h3 class="title">
1303
- <a class="toc" id="SpecFile.nodes" href="#a-606397338">3.2.1</a>&nbsp;&nbsp;Node definition
1346
+ <a class="toc" id="SpecFile.nodes" href="#a-606241638">3.2.1</a>&nbsp;&nbsp;Node definition
1304
1347
  </h3>
1305
1348
  <div class="content"><p>A node definition is a mapping from a name (the &#8220;node type&#8221;) to the following set of parameters:</p>
1306
1349
 
@@ -1341,7 +1384,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1341
1384
 
1342
1385
  <p><div class="section">
1343
1386
  <h4 class="title">
1344
- <a class="toc" id="SpecFile.nodes.output" href="#a-606404558">3.2.1.1</a>&nbsp;&nbsp;Node output template
1387
+ <a class="toc" id="SpecFile.nodes.output" href="#a-606248698">3.2.1.1</a>&nbsp;&nbsp;Node output template
1345
1388
  </h4>
1346
1389
  <div class="content"><p>A node output template (the <strong>output</strong> parameter in a node definition) is an eRuby template that transforms a node&#8217;s content into output. During the processing stage, Gerbil replaces all nodes in the input document with the result of this template <em>unless</em> the <strong>silent</strong> parameter is enabled in this node&#8217;s definition.</p>
1347
1390
 
@@ -1409,7 +1452,7 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1409
1452
  </div>
1410
1453
  <div class="section">
1411
1454
  <h3 class="title">
1412
- <a class="toc" id="SpecFile.output" href="#a-606409628">3.2.2</a>&nbsp;&nbsp;Document output template
1455
+ <a class="toc" id="SpecFile.output" href="#a-606256688">3.2.2</a>&nbsp;&nbsp;Document output template
1413
1456
  </h3>
1414
1457
  <div class="content"><p>A document output template (the <strong>output</strong> parameter in a format specification file) is an eRuby template that transforms a processed document into the final output document.</p>
1415
1458
 
@@ -1473,10 +1516,9 @@ Inside Gerbil&#8217;s installation directory, you will see (among other things)
1473
1516
  <td> Path of the current format specification file. </td>
1474
1517
  </tr>
1475
1518
  </table></div>
1476
- </div>
1477
- <div class="section">
1519
+ </div><div class="section">
1478
1520
  <h3 class="title">
1479
- <a class="toc" id="HelloWorld" href="#a-606414978">3.2.3</a>&nbsp;&nbsp;Creating your own custom format
1521
+ <a class="toc" id="HelloWorld" href="#a-606262248">3.2.3</a>&nbsp;&nbsp;Creating your own custom format
1480
1522
  </h3>
1481
1523
  <div class="content">Here is a working example to help you digest all that you&#8217;ve learned so far about format specification files. A few things to notice in this example are:
1482
1524
  <ul>
@@ -1494,80 +1536,9 @@ To run this example, perform the following steps:
1494
1536
  </ol>
1495
1537
 
1496
1538
 
1497
- <p><div class="note">
1498
- <p class="title"><a class="toc" id="Author-s-note-about-documentation-quality" href="#a-606440698">Note 2</a>.&nbsp;&nbsp;Author&#8217;s note about documentation quality</p>
1499
-
1500
- <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
1501
- fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
1502
- Lmlua3NjYXBlLm9yZ5vuPBoAAAmCSURBVGiB1ZltbJXlGcd/9/N+Tlssh1Ja
1503
- hNEJaK2UFxFptqC2wGCSTWdM3DSQzWVDEzVxy4xfjNkHQ8xMnEEXviwZ62Rj
1504
- 6siWTcVBZeJA5yBQpOWlKNZSaEvpyyk95zwv970Pp+fY5/S0tFBkXsmTc67n
1505
- eu77+f/u6349Ryil+Cqbdq0FXKldEuClp+3nfvVz/eJLT9vPXQv/igFc13tq
1506
- w4/ujLqu99S18C9lRr6br7zyyi2WZb2eSqUqpVSUlE5BSmW8/PLL6sv2bdtu
1507
- TiaT9z/++ONN486AZVm/XLiw+qZlt98Wun/bsqUhf+nSJSF/ya2LQv6ixQtD
1508
- /sJFC0L+guqqkF91S2XIr6y6idlfm1Vp2/Yz+XSOCiCEqDJMQ3ze+hm6bnC+
1509
- sx9d1zl+vBlN1znf2Y+m6TQfa0LTvvCbmo6G/KNHj4T8Ix83hvzGI4dD/uHG
1510
- QyG/peUElmUJIURlPp2jAkgpiwXg+R5FM9dRv3U/heXrkFJSWHZ32i/7NlJK
1511
- CsrWUr91P9EZa5FSEildQ/3W/USmfwspJc701dRv3Y9dshopJda0VdRv3Y8V
1512
- W4mUEjO2kvqt+zCm1iGlxCiu5fe/24defBeu6yHSkopHAxD51oEtW7bEb1++
1513
- rLC5+ShBEKCU+uJCgWJCvlJD9/iinlw/o2O4b5omixct4fixkz2PPPJILB9A
1514
- 3kEspYzOmjWbxYuWjIiNtfBdjdjg4EWam44XjhYf0YU2b948xTTNoGRaSbjl
1515
- R2mlqx0rLCxC0zR98+bNdj6AERkIgiDmOI6nlDK/7NbOF1NKYdt2KplMxoCz
1516
- ufERAKZpxiKRSDC8wnfeeWfUl06W0FxbtWpV9tloNOoPDg6OD0BKGYtEIqGX
1517
- rV69etKFXio2vGs5jqOklOMbxJqmxaLRqBheSRAEo77sSoWOZkKI7DORSERo
1518
- mjY+AKVULBKJGMMB3n333Uum/XK35aOVq6ury2YiEonoSqnxAziOYw0HqKur
1519
- G5fIyR68mU/Hccyes8cq19cVbQB84Fh9Q/xgXgDTNGfYtq0NBxivkMmGAGg7
1520
- 3cTOV58xe9tPPvnwuodUxFX89cOd/vq6orX1DfG9IwB0XS+zbTs0kHbt2jVh
1521
- iMwscrkQrS2H+ce2TfSdPc2Dd9xN1cL7TK29E9rbWWBXWk9o+95eX1c0Jd9K
1522
- XGqaZghg5cqVExIyEaG51tL0IW9u2wRuijVrf4JXXIHR1oZoaIC2NjhzBtHb
1523
- S+lcTT9jBNPzAUyzLCvUBy9HyETLHm98nze3bWKw7xy1NZXcOG8JUmq0BgGt
1524
- paVoRUWUfPwxnb5Pl+/RJ6QAIvkGcXFuBq4mxNEDu3lr2yaUN8BdyyuZO/d2
1525
- hNBQ0sPrf43C0yvoqqjic9umdXCQ85akeT6plMUL9f+Mf5pvIZtiGAa5g3gy
1526
- IZRSNH74Nm/9cRO2HrByeSUVFRWAQAYpEj2nSF44hZI+F/tn4V0/n3hPJ+1V
1527
- ym+KKFcY4lXPU89A/r1QgWEY+L6fvbd79+4rhkg/Izlz8j+c/O/rlBRHufuO
1528
- BcyeNRsA6Q+S6G4h1XcaJdMLZ0evT3tXG/65VznU9j5eofqN5/N8/c7+9kyd
1529
- ofPAiy++GIlGo/ENGzborutOWOhosSDw+ehfb7Dzzy9QVjKFO5bdTHl5eTrm
1530
- xklcOEmq73NQEqmgvduj5axLR5/GRVdQd89G2uMFsqd3wH722Wf94XWHMhCJ
1531
- RGK2bbtAZDLmc99z+aDhT+x6/dfMmTWdH3znG5ROL03HUr0kzp/AjbcDikAq
1532
- Wrt8TrWn6IgbSC1K3b2PsbzuAQqLrmP79u2u0KypQNeoAL7vxxzH8XMHb0ND
1533
- w4Qh2k99RPO//0DlvNlsuL+WabFpAHiJbpLdx3EHOgBwfcVnnR4t7SnO9Qk0
1534
- q5Ablt7Lgz/+BZqmZ+uzbdsfGBiIjQkwtI1QuTNQbW3tJVt7uB14bwcfHdnB
1535
- xofvoTgaBQTuxXMkuk/gD3YDkHAVn55z+eRcis64QUnZXB7Y8DNuXnzXiNlv
1536
- aD+kDMMYsR8akQHTNIWU8rJnoAN7d7DrtefZ+MSjRGfMI/HpPuInd+EnewGI
1537
- JySnzrp81unRGRdU3LiUHz76JBU3LhkhOmNSShzHId+WOgSQTCZjlmWFdqIA
1538
- e/bsGdcs03ZiH62H/sJPH12PXXAd0r2IXVZFz5E36BkIaDnr0trl09kXUF6x
1539
- iOW191BYXM7p9j5Ot+8J1XXnnXeGYEzT1F3XHRsgCIKYZVlmLsCKFStGtMqw
1540
- Mvi+z4H3dtD1yXus+e59WJaBn+hBc+MoBUfaFM2nk1y4KKlaupq1teuZWjIT
1541
- wzDQdR3DMDAMA9M0s/UOFy+lxLZtw/f9sQE8z5tu27aR24UyhwshROiQ47ou
1542
- rutyaN/f2Pv3Lew9fJ7Dxzr4/pqv0xt36e4ZoOt8D6mUy7zFa6m5dR0FRVPx
1543
- lUFvby+maWJZFqZpZr9blkVmIR0OY5qm6XnetDEBlFLllmWNaO29e/eS8xy+
1544
- 7+P7Pm0nPuD4B9soKCxkzTdvoOC6Ms755TglMWZ+bSpzIsWYzhR0XSdQOslk
1545
- ksw7hBAIIdA0LfuZ2cbkvs80TaGUKh8TwPf9UsuykFKGIGpqanLLZVPbffNc
1546
- vvfQY3heGsjzPDzPy3at3Exqmoau6+i6jmmaGIaB4zg4joNhGKEsZ0xKyZCu
1547
- GZcCKMnsRIf3QV3XRwBkYmUzK0JAmSsIguz3fK2t6zqapqFp2og6873Hsiw8
1548
- z5s+JkAqlZqaycDlTKO5gsZTbjynvkwGXNedOiaA67pT8gFMBOJqxDIAqVRq
1549
- xI+8IYBEIlE4lKoJn4evZiwDkEgkinKfyeZ748aNpuu6pmma2QzkXplKv+yY
1550
- lBLTNEkmk86CBQus4QDZDDQ2Nl4/f/5817Isp7S0NDv3T6aNZzUfzXzfRwjh
1551
- K6XmCCHOAoNKKWkACCEKqqurpwkhZEtLC42NjZOledKsuroaTdOU67olwACg
1552
- CSEGDCGEBdiu6zq+75NMJkNL+v+LJRIJfN8nkUhEgAgQAK5BehzoPT098e7u
1553
- bj2VSjFnzpxrKjafSSm5cOEC/f39KUAnrVsTgAkUAYU1NTUPx2KxjUEQTLmW
1554
- YvOZpmnxjo6O3x48eHA76S4UB3qEUgohRBQoGLoyKTJJp+nyR97kmA1IwANS
1555
- wODQ1auUSmYP9UNjoQBwAIv0DBUMFb6WZpNuRB9wSYsfUEr5kOdfSiGETrr1
1556
- DUCQhrhWJkj394A0gKeUCjVo3r9Zv0r2P3yyQqPd16MPAAAAAElFTkSuQmCC
1557
- " class="icon"/>
1558
-
1559
- <div class="content"><p>Please excuse my lack of creativity for this example. I tried different ideas but scrapped most of them because writing documentation is hard and mostly boring. (Although I did have fun reading the wacky names produced by the <code class="code">generate_name()</code> method!)</p>
1560
-
1561
-
1562
- <p>Instead, I just <em>really</em> want to get the first release of Gerbil out the door and continue work on my other programming projects, but I cannot do so until I&#8217;ve written some documentation. Ah, the dilemma of an open-source developer who cares about documentation!</p>
1563
-
1564
-
1565
- <p>On the other hand, if you have ideas on how to improve this example, please speak up in the <a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">project mailing list</a>. Thanks!</p></div>
1566
- </div>
1567
- <div class="example">
1568
- <p class="title"><a class="toc" id="HelloWorld.spec" href="#a-606445138">Example 1</a>.&nbsp;&nbsp;HelloWorld format specification file</p>
1569
- <div class="content"><pre class="code" lang="rhtml">
1570
- desc: A illustrative format.
1539
+ <p><div class="example">
1540
+ <p class="title"><a class="toc" id="HelloWorld.spec" href="#a-606287038">Example 1</a>.&nbsp;&nbsp;HelloWorld format specification file</p>
1541
+ <div class="content"><pre class="code" lang="rhtml">desc: A illustrative format.
1571
1542
 
1572
1543
  code: |
1573
1544
  # Returns a random, but pronounceable, name.
@@ -1633,13 +1604,10 @@ output: |
1633
1604
  Welcome to the &quot;<span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@spec</span>[<span style="color:#A60">:name</span>] <span style="color:black">%&gt;</span></span>&quot; format.
1634
1605
  <span style="color:#070">&lt;div</span> <span style="color:#007">style</span>=<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#d70; font-weight:bold">$style</span> <span style="color:black">%&gt;</span></span><span style="color:#710">&quot;</span></span><span style="color:#070">&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@content</span> <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/div&gt;</span>
1635
1606
  That's all folks!
1636
-
1637
1607
  </pre></div>
1638
- </div>
1639
- <div class="example">
1640
- <p class="title"><a class="toc" id="HelloWorld.input" href="#a-606452538">Example 2</a>.&nbsp;&nbsp;Input document for HelloWorld format</p>
1641
- <div class="content"><pre class="code" lang="rhtml">
1642
- <span style="background: #eee"><span style="color:black">&lt;%</span> <span style="color:#d70; font-weight:bold">$style</span> = <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">border-left: thick solid salmon; padding-left: 1em;</span><span style="color:#710">&quot;</span></span> <span style="color:black">%&gt;</span></span>
1608
+ </div><div class="example">
1609
+ <p class="title"><a class="toc" id="HelloWorld.input" href="#a-606294048">Example 2</a>.&nbsp;&nbsp;Input document for HelloWorld format</p>
1610
+ <div class="content"><pre class="code" lang="rhtml"><span style="background: #eee"><span style="color:black">&lt;%</span> <span style="color:#d70; font-weight:bold">$style</span> = <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">border-left: thick solid salmon; padding-left: 1em;</span><span style="color:#710">&quot;</span></span> <span style="color:black">%&gt;</span></span>
1643
1611
  <span style="background: #eee"><span style="color:black">&lt;%</span> hello <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Pretentious</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1644
1612
  <span style="color:#070">&lt;big&gt;</span>I'm<span style="color:#070">&lt;/big&gt;</span> the very first node, oh _yes_ I am! *sneer*
1645
1613
 
@@ -1675,301 +1643,299 @@ output: |
1675
1643
  _Whoo I'm wild!_ ;-)
1676
1644
  <span style="background: #eee"><span style="color:black">&lt;%</span> <span style="color:#080; font-weight:bold">end</span> <span style="color:black">%&gt;</span></span>
1677
1645
 
1678
- <span style="background: #eee"><span style="color:black">&lt;%=</span> hello <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Independent (no block, no parents, I am _free_!)</span><span style="color:#710">&quot;</span></span> <span style="color:black">%&gt;</span></span>
1679
- </pre></div>
1680
- </div>
1681
- <div class="example">
1682
- <p class="title"><a class="toc" id="HelloWorld.output" href="#a-606461008">Example 3</a>.&nbsp;&nbsp;Output of HelloWorld format</p>
1646
+ <span style="background: #eee"><span style="color:black">&lt;%=</span> hello <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Independent (no block, no parents, I am _free_!)</span><span style="color:#710">&quot;</span></span> <span style="color:black">%&gt;</span></span></pre></div>
1647
+ </div><div class="example">
1648
+ <p class="title"><a class="toc" id="HelloWorld.output" href="#a-606300938">Example 3</a>.&nbsp;&nbsp;Output of HelloWorld format</p>
1683
1649
  <div class="content">Welcome to the &#8220;HelloWorld&#8221; format.
1684
- <div style="border-left: thick solid salmon; padding-left: 1em;"><h1>hello #1: &#8220;dopijod&#8221;</h1>
1685
- My name is &#8220;dopijod&#8221; and these are my properties:
1650
+ <div style="border-left: thick solid salmon; padding-left: 1em;"><h1>hello #1: &#8220;riju&#8221;</h1>
1651
+ My name is &#8220;riju&#8221; and these are my properties:
1686
1652
  <table border="1">
1687
- <tr>
1688
- <th>Property</th>
1689
- <th>Value</th>
1690
- </tr>
1691
- <tr>
1692
- <td>args</td>
1693
- <td>[&#8220;Pretentious&#8221;]</td>
1694
- </tr>
1695
- <tr>
1696
- <td>index</td>
1697
- <td>&#8220;1&#8221;</td>
1698
- </tr>
1699
- <tr>
1700
- <td>number</td>
1701
- <td>1</td>
1702
- </tr>
1703
- <tr>
1704
- <td>trace</td>
1705
- <td><ul><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1706
- </tr>
1707
- <tr>
1708
- <td>content</td>
1709
- <td> <big>I&#8217;m</big> the very first node, oh <em>yes</em> I am! <strong>sneer</strong>
1710
-
1711
- <h1>hello #1.1: &#8220;misonat&#8221;</h1>
1712
- My name is &#8220;misonat&#8221; and these are my properties:
1653
+ <tr>
1654
+ <th>Property</th>
1655
+ <th>Value</th>
1656
+ </tr>
1657
+ <tr>
1658
+ <td>args</td>
1659
+ <td>[&#8220;Pretentious&#8221;]</td>
1660
+ </tr>
1661
+ <tr>
1662
+ <td>index</td>
1663
+ <td>&#8220;1&#8221;</td>
1664
+ </tr>
1665
+ <tr>
1666
+ <td>number</td>
1667
+ <td>1</td>
1668
+ </tr>
1669
+ <tr>
1670
+ <td>trace</td>
1671
+ <td><ul><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1672
+ </tr>
1673
+ <tr>
1674
+ <td>content</td>
1675
+ <td> <big>I&#8217;m</big> the very first node, oh <em>yes</em> I am! <strong>sneer</strong>
1676
+
1677
+ <h1>hello #1.1: &#8220;mokej&#8221;</h1>
1678
+ My name is &#8220;mokej&#8221; and these are my properties:
1713
1679
  <table border="1">
1714
- <tr>
1715
- <th>Property</th>
1716
- <th>Value</th>
1717
- </tr>
1718
- <tr>
1719
- <td>args</td>
1720
- <td>[&#8220;Bashful&#8221;]</td>
1721
- </tr>
1722
- <tr>
1723
- <td>index</td>
1724
- <td>&#8220;1.1&#8221;</td>
1725
- </tr>
1726
- <tr>
1727
- <td>number</td>
1728
- <td>2</td>
1729
- </tr>
1730
- <tr>
1731
- <td>trace</td>
1732
- <td><ul><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1733
- </tr>
1734
- <tr>
1735
- <td>content</td>
1736
- <td> Hi, I&#8230; <strong>hide</strong>
1737
-
1738
- <h1>hello #1.1.1: &#8220;baza&#8221;</h1>
1739
- My name is &#8220;baza&#8221; and these are my properties:
1680
+ <tr>
1681
+ <th>Property</th>
1682
+ <th>Value</th>
1683
+ </tr>
1684
+ <tr>
1685
+ <td>args</td>
1686
+ <td>[&#8220;Bashful&#8221;]</td>
1687
+ </tr>
1688
+ <tr>
1689
+ <td>index</td>
1690
+ <td>&#8220;1.1&#8221;</td>
1691
+ </tr>
1692
+ <tr>
1693
+ <td>number</td>
1694
+ <td>2</td>
1695
+ </tr>
1696
+ <tr>
1697
+ <td>trace</td>
1698
+ <td><ul><li>INPUT:3</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1699
+ </tr>
1700
+ <tr>
1701
+ <td>content</td>
1702
+ <td> Hi, I&#8230; <strong>hide</strong>
1703
+
1704
+ <h1>hello #1.1.1: &#8220;fapusod&#8221;</h1>
1705
+ My name is &#8220;fapusod&#8221; and these are my properties:
1740
1706
  <table border="1">
1741
- <tr>
1742
- <th>Property</th>
1743
- <th>Value</th>
1744
- </tr>
1745
- <tr>
1746
- <td>args</td>
1747
- <td>[&#8220;Hopeful&#8221;]</td>
1748
- </tr>
1749
- <tr>
1750
- <td>index</td>
1751
- <td>&#8220;1.1.1&#8221;</td>
1752
- </tr>
1753
- <tr>
1754
- <td>number</td>
1755
- <td>3</td>
1756
- </tr>
1757
- <tr>
1758
- <td>trace</td>
1759
- <td><ul><li>INPUT:5</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1760
- </tr>
1761
- <tr>
1762
- <td>content</td>
1763
- <td> <strong>sigh</strong>
1764
-
1765
- <h1>hello #1.1.1.1: &#8220;yos&#8221;</h1>
1766
- My name is &#8220;yos&#8221; and these are my properties:
1707
+ <tr>
1708
+ <th>Property</th>
1709
+ <th>Value</th>
1710
+ </tr>
1711
+ <tr>
1712
+ <td>args</td>
1713
+ <td>[&#8220;Hopeful&#8221;]</td>
1714
+ </tr>
1715
+ <tr>
1716
+ <td>index</td>
1717
+ <td>&#8220;1.1.1&#8221;</td>
1718
+ </tr>
1719
+ <tr>
1720
+ <td>number</td>
1721
+ <td>3</td>
1722
+ </tr>
1723
+ <tr>
1724
+ <td>trace</td>
1725
+ <td><ul><li>INPUT:5</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1726
+ </tr>
1727
+ <tr>
1728
+ <td>content</td>
1729
+ <td> <strong>sigh</strong>
1730
+
1731
+ <h1>hello #1.1.1.1: &#8220;genebi&#8221;</h1>
1732
+ My name is &#8220;genebi&#8221; and these are my properties:
1767
1733
  <table border="1">
1768
- <tr>
1769
- <th>Property</th>
1770
- <th>Value</th>
1771
- </tr>
1772
- <tr>
1773
- <td>args</td>
1774
- <td>[&#8220;Confused&#8221;]</td>
1775
- </tr>
1776
- <tr>
1777
- <td>index</td>
1778
- <td>&#8220;1.1.1.1&#8221;</td>
1779
- </tr>
1780
- <tr>
1781
- <td>number</td>
1782
- <td>4</td>
1783
- </tr>
1784
- <tr>
1785
- <td>trace</td>
1786
- <td><ul><li>INPUT:7</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:5</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1787
- </tr>
1788
- <tr>
1789
- <td>content</td>
1790
- <td> Huh?
1734
+ <tr>
1735
+ <th>Property</th>
1736
+ <th>Value</th>
1737
+ </tr>
1738
+ <tr>
1739
+ <td>args</td>
1740
+ <td>[&#8220;Confused&#8221;]</td>
1741
+ </tr>
1742
+ <tr>
1743
+ <td>index</td>
1744
+ <td>&#8220;1.1.1.1&#8221;</td>
1745
+ </tr>
1746
+ <tr>
1747
+ <td>number</td>
1748
+ <td>4</td>
1749
+ </tr>
1750
+ <tr>
1751
+ <td>trace</td>
1752
+ <td><ul><li>INPUT:7</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:5</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1753
+ </tr>
1754
+ <tr>
1755
+ <td>content</td>
1756
+ <td> Huh?
1791
1757
  </td>
1792
- </tr>
1758
+ </tr>
1793
1759
  </table></td>
1794
- </tr>
1760
+ </tr>
1795
1761
  </table>
1796
- <h1>hello #1.1.2: &#8220;pisoh&#8221;</h1>
1797
- My name is &#8220;pisoh&#8221; and these are my properties:
1762
+ <h1>hello #1.1.2: &#8220;yel&#8221;</h1>
1763
+ My name is &#8220;yel&#8221; and these are my properties:
1798
1764
  <table border="1">
1799
- <tr>
1800
- <th>Property</th>
1801
- <th>Value</th>
1802
- </tr>
1803
- <tr>
1804
- <td>args</td>
1805
- <td>[&#8220;Raving&#8221;]</td>
1806
- </tr>
1807
- <tr>
1808
- <td>index</td>
1809
- <td>&#8220;1.1.2&#8221;</td>
1810
- </tr>
1811
- <tr>
1812
- <td>number</td>
1813
- <td>5</td>
1814
- </tr>
1815
- <tr>
1816
- <td>trace</td>
1817
- <td><ul><li>INPUT:9</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1818
- </tr>
1819
- <tr>
1820
- <td>content</td>
1821
- <td> Oh it&#8217;s <strong>on</strong> now! You&#8217;re going <strong>down</strong>!
1765
+ <tr>
1766
+ <th>Property</th>
1767
+ <th>Value</th>
1768
+ </tr>
1769
+ <tr>
1770
+ <td>args</td>
1771
+ <td>[&#8220;Raving&#8221;]</td>
1772
+ </tr>
1773
+ <tr>
1774
+ <td>index</td>
1775
+ <td>&#8220;1.1.2&#8221;</td>
1776
+ </tr>
1777
+ <tr>
1778
+ <td>number</td>
1779
+ <td>5</td>
1780
+ </tr>
1781
+ <tr>
1782
+ <td>trace</td>
1783
+ <td><ul><li>INPUT:9</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1784
+ </tr>
1785
+ <tr>
1786
+ <td>content</td>
1787
+ <td> Oh it&#8217;s <strong>on</strong> now! You&#8217;re going <strong>down</strong>!
1822
1788
  </td>
1823
- </tr>
1789
+ </tr>
1824
1790
  </table></td>
1825
- </tr>
1791
+ </tr>
1826
1792
  </table>
1827
- <h1>hello #1.2: &#8220;zek&#8221;</h1>
1828
- My name is &#8220;zek&#8221; and these are my properties:
1793
+ <h1>hello #1.2: &#8220;fadi&#8221;</h1>
1794
+ My name is &#8220;fadi&#8221; and these are my properties:
1829
1795
  <table border="1">
1830
- <tr>
1831
- <th>Property</th>
1832
- <th>Value</th>
1833
- </tr>
1834
- <tr>
1835
- <td>args</td>
1836
- <td>[&#8220;Sleepy&#8221;]</td>
1837
- </tr>
1838
- <tr>
1839
- <td>index</td>
1840
- <td>&#8220;1.2&#8221;</td>
1841
- </tr>
1842
- <tr>
1843
- <td>number</td>
1844
- <td>6</td>
1845
- </tr>
1846
- <tr>
1847
- <td>trace</td>
1848
- <td><ul><li>INPUT:11</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1849
- </tr>
1850
- <tr>
1851
- <td>content</td>
1852
- <td> <strong>yawn</strong> Just five more minutes&#8230;
1853
-
1854
- <h1>hello #1.2.1: &#8220;juri&#8221;</h1>
1855
- My name is &#8220;juri&#8221; and these are my properties:
1796
+ <tr>
1797
+ <th>Property</th>
1798
+ <th>Value</th>
1799
+ </tr>
1800
+ <tr>
1801
+ <td>args</td>
1802
+ <td>[&#8220;Sleepy&#8221;]</td>
1803
+ </tr>
1804
+ <tr>
1805
+ <td>index</td>
1806
+ <td>&#8220;1.2&#8221;</td>
1807
+ </tr>
1808
+ <tr>
1809
+ <td>number</td>
1810
+ <td>6</td>
1811
+ </tr>
1812
+ <tr>
1813
+ <td>trace</td>
1814
+ <td><ul><li>INPUT:11</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1815
+ </tr>
1816
+ <tr>
1817
+ <td>content</td>
1818
+ <td> <strong>yawn</strong> Just five more minutes&#8230;
1819
+
1820
+ <h1>hello #1.2.1: &#8220;bibom&#8221;</h1>
1821
+ My name is &#8220;bibom&#8221; and these are my properties:
1856
1822
  <table border="1">
1857
- <tr>
1858
- <th>Property</th>
1859
- <th>Value</th>
1860
- </tr>
1861
- <tr>
1862
- <td>args</td>
1863
- <td>[&#8220;Peaceful&#8221;]</td>
1864
- </tr>
1865
- <tr>
1866
- <td>index</td>
1867
- <td>&#8220;1.2.1&#8221;</td>
1868
- </tr>
1869
- <tr>
1870
- <td>number</td>
1871
- <td>7</td>
1872
- </tr>
1873
- <tr>
1874
- <td>trace</td>
1875
- <td><ul><li>INPUT:13</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:11</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1876
- </tr>
1877
- <tr>
1878
- <td>content</td>
1879
- <td> So <em>be</em> happy my friend, <strong>happy</strong>!
1880
-
1881
- <h1>hello #1.2.1.1: &#8220;yaman&#8221;</h1>
1882
- My name is &#8220;yaman&#8221; and these are my properties:
1823
+ <tr>
1824
+ <th>Property</th>
1825
+ <th>Value</th>
1826
+ </tr>
1827
+ <tr>
1828
+ <td>args</td>
1829
+ <td>[&#8220;Peaceful&#8221;]</td>
1830
+ </tr>
1831
+ <tr>
1832
+ <td>index</td>
1833
+ <td>&#8220;1.2.1&#8221;</td>
1834
+ </tr>
1835
+ <tr>
1836
+ <td>number</td>
1837
+ <td>7</td>
1838
+ </tr>
1839
+ <tr>
1840
+ <td>trace</td>
1841
+ <td><ul><li>INPUT:13</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:11</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1842
+ </tr>
1843
+ <tr>
1844
+ <td>content</td>
1845
+ <td> So <em>be</em> happy my friend, <strong>happy</strong>!
1846
+
1847
+ <h1>hello #1.2.1.1: &#8220;gehi&#8221;</h1>
1848
+ My name is &#8220;gehi&#8221; and these are my properties:
1883
1849
  <table border="1">
1884
- <tr>
1885
- <th>Property</th>
1886
- <th>Value</th>
1887
- </tr>
1888
- <tr>
1889
- <td>args</td>
1890
- <td>[&#8220;Lonely (as you can see, I have no block)&#8221;]</td>
1891
- </tr>
1892
- <tr>
1893
- <td>index</td>
1894
- <td>&#8220;1.2.1.1&#8221;</td>
1895
- </tr>
1896
- <tr>
1897
- <td>number</td>
1898
- <td>8</td>
1899
- </tr>
1900
- <tr>
1901
- <td>trace</td>
1902
- <td><ul><li>INPUT:15</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:13</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:11</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:218:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1903
- </tr>
1904
- <tr>
1905
- <td>content</td>
1906
- <td></td>
1907
- </tr>
1850
+ <tr>
1851
+ <th>Property</th>
1852
+ <th>Value</th>
1853
+ </tr>
1854
+ <tr>
1855
+ <td>args</td>
1856
+ <td>[&#8220;Lonely (as you can see, I have no block)&#8221;]</td>
1857
+ </tr>
1858
+ <tr>
1859
+ <td>index</td>
1860
+ <td>&#8220;1.2.1.1&#8221;</td>
1861
+ </tr>
1862
+ <tr>
1863
+ <td>number</td>
1864
+ <td>8</td>
1865
+ </tr>
1866
+ <tr>
1867
+ <td>trace</td>
1868
+ <td><ul><li>INPUT:15</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:13</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:11</li><li>bin/gerbil:83:in `content_from_block&#8217;</li><li>bin/gerbil:255:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1869
+ </tr>
1870
+ <tr>
1871
+ <td>content</td>
1872
+ <td></td>
1873
+ </tr>
1908
1874
  </table>
1909
1875
  </td>
1910
- </tr>
1876
+ </tr>
1911
1877
  </table></td>
1912
- </tr>
1878
+ </tr>
1913
1879
  </table></td>
1914
- </tr>
1880
+ </tr>
1915
1881
  </table>
1916
- <h1>hello #2: &#8220;ruzat&#8221;</h1>
1917
- My name is &#8220;ruzat&#8221; and these are my properties:
1882
+ <h1>hello #2: &#8220;tusulo&#8221;</h1>
1883
+ My name is &#8220;tusulo&#8221; and these are my properties:
1918
1884
  <table border="1">
1919
- <tr>
1920
- <th>Property</th>
1921
- <th>Value</th>
1922
- </tr>
1923
- <tr>
1924
- <td>args</td>
1925
- <td>[&#8220;Snappy&#8221;]</td>
1926
- </tr>
1927
- <tr>
1928
- <td>index</td>
1929
- <td>&#8220;2&#8221;</td>
1930
- </tr>
1931
- <tr>
1932
- <td>number</td>
1933
- <td>9</td>
1934
- </tr>
1935
- <tr>
1936
- <td>trace</td>
1937
- <td><ul><li>INPUT:17</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1938
- </tr>
1939
- <tr>
1940
- <td>content</td>
1941
- <td> Zip! Zap! Wake up, you sap!
1942
- <em>Whoo I&#8217;m wild!</em> ;-)
1885
+ <tr>
1886
+ <th>Property</th>
1887
+ <th>Value</th>
1888
+ </tr>
1889
+ <tr>
1890
+ <td>args</td>
1891
+ <td>[&#8220;Snappy&#8221;]</td>
1892
+ </tr>
1893
+ <tr>
1894
+ <td>index</td>
1895
+ <td>&#8220;2&#8221;</td>
1896
+ </tr>
1897
+ <tr>
1898
+ <td>number</td>
1899
+ <td>9</td>
1900
+ </tr>
1901
+ <tr>
1902
+ <td>trace</td>
1903
+ <td><ul><li>INPUT:17</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1904
+ </tr>
1905
+ <tr>
1906
+ <td>content</td>
1907
+ <td> Zip! Zap! Wake up, you sap!
1908
+ <em>Whoo I&#8217;m wild!</em> ;-)
1943
1909
  </td>
1944
- </tr>
1910
+ </tr>
1945
1911
  </table>
1946
- <h1>hello #3: &#8220;vapezib&#8221;</h1>
1947
- My name is &#8220;vapezib&#8221; and these are my properties:
1912
+ <h1>hello #3: &#8220;retunuj&#8221;</h1>
1913
+ My name is &#8220;retunuj&#8221; and these are my properties:
1948
1914
  <table border="1">
1949
- <tr>
1950
- <th>Property</th>
1951
- <th>Value</th>
1952
- </tr>
1953
- <tr>
1954
- <td>args</td>
1955
- <td>[&#8220;Independent (no block, no parents, I am <em>free</em>!)&#8221;]</td>
1956
- </tr>
1957
- <tr>
1958
- <td>index</td>
1959
- <td>&#8220;3&#8221;</td>
1960
- </tr>
1961
- <tr>
1962
- <td>number</td>
1963
- <td>10</td>
1964
- </tr>
1965
- <tr>
1966
- <td>trace</td>
1967
- <td><ul><li>INPUT:20</li><li>bin/gerbil:239</li><li>bin/gerbil:239:in `instance_eval&#8217;</li><li>bin/gerbil:239</li></ul></td>
1968
- </tr>
1969
- <tr>
1970
- <td>content</td>
1971
- <td></td>
1972
- </tr>
1915
+ <tr>
1916
+ <th>Property</th>
1917
+ <th>Value</th>
1918
+ </tr>
1919
+ <tr>
1920
+ <td>args</td>
1921
+ <td>[&#8220;Independent (no block, no parents, I am <em>free</em>!)&#8221;]</td>
1922
+ </tr>
1923
+ <tr>
1924
+ <td>index</td>
1925
+ <td>&#8220;3&#8221;</td>
1926
+ </tr>
1927
+ <tr>
1928
+ <td>number</td>
1929
+ <td>10</td>
1930
+ </tr>
1931
+ <tr>
1932
+ <td>trace</td>
1933
+ <td><ul><li>INPUT:20</li><li>bin/gerbil:275</li><li>bin/gerbil:275:in `instance_eval&#8217;</li><li>bin/gerbil:275</li></ul></td>
1934
+ </tr>
1935
+ <tr>
1936
+ <td>content</td>
1937
+ <td></td>
1938
+ </tr>
1973
1939
  </table></div>
1974
1940
  That&#8217;s all folks!</div>
1975
1941
  </div></p></div>
@@ -1979,91 +1945,119 @@ That&#8217;s all folks!</div>
1979
1945
  <div class="chapter">
1980
1946
  <h1 class="title">
1981
1947
  Chapter
1982
- <a class="toc" id="Usage" href="#a-606467668">4</a>
1948
+ <a class="toc" id="Usage" href="#a-606308348">4</a>
1983
1949
 
1984
1950
  <br/>
1985
1951
 
1986
1952
  <big>Usage</big>
1987
1953
  </h1>
1988
1954
 
1989
- <div class="content"><pre>
1990
- Gerbil is an extensible document generator based on eRuby.
1955
+ <div class="content"><p>Gerbil is an extensible document generator based on eRuby.</p>
1991
1956
 
1992
- * STDIN will be read if an input file is not specified.
1993
1957
 
1994
- * If an error occurs, the input document will be printed to STDOUT
1995
- so you can investigate line numbers in the error's stack trace.
1958
+ <ul>
1959
+ <li>STDIN will be read if no input files are specified.</li>
1960
+ </ul>
1996
1961
 
1997
- Otherwise, the final output document will be printed to STDOUT.
1998
1962
 
1999
- Usage: gerbil [Option...] Format|SpecFile [InputFile]
1963
+ <ul>
1964
+ <li>If an error occurs, the input document will be printed to STDOUT
1965
+ so you can investigate line numbers in the error&#8217;s stack trace.
1966
+ Otherwise, the final output document will be printed to STDOUT.</li>
1967
+ </ul>
2000
1968
 
2001
- Option:
2002
- -h, --help show usage information
2003
- -v, --version show version information
2004
1969
 
2005
- Format:
2006
- latex high-quality typesetting
2007
- html web page for the Internet
2008
- man manual page for UNIX
2009
- text plain text, nothing fancy
2010
- </pre>
1970
+ <ul>
1971
+ <li>The <tt>--unindent</tt> option assumes that all beginning (&lt;% ... do %&gt;)
1972
+ and ending (&lt;% end %&gt;) eRuby directives appear one per line
1973
+ (with nothing else on the line, except whitespace) in the input.</li>
1974
+ </ul>
2011
1975
 
2012
1976
 
2013
- <p>Gerbil requires its <em>first</em> command-line argument to be either (1) the name of a predefined format or (2) the path to a <a class="xref" href="#SpecFile">format specification file</a>. Predefined formats are simply short-hand names of format specification files located in the <tt>format/</tt> subdirectory of the Gerbil installation directory (see <a class="xref" href="#Manifest">Section 2.3: <em>Manifest</em></a>).</p>
1977
+ <p><b>Usage:</b> gerbil [Option&#8230;] Format|SpecFile [InputFile&#8230;]</p>
2014
1978
 
2015
1979
 
2016
- <p><div class="section">
2017
- <h2 class="title">
2018
- <a class="toc" id="include" href="#a-606478528">4.1</a>&nbsp;&nbsp;The <strong>include</strong> directive
2019
- </h2>
2020
- <div class="content"><p>The <strong>include</strong> directive allows you to insert the content of an arbitrary file at a certain place in the input document. It is written like this:</p>
1980
+ <b>Option:</b>
1981
+ <table border="1">
1982
+ <tr>
1983
+ <td> <tt>-h</tt>, <tt>--help</tt> </td>
1984
+ <td> show usage information </td>
1985
+ </tr>
1986
+ <tr>
1987
+ <td> <tt>-v</tt>, <tt>--version</tt> </td>
1988
+ <td> show version information </td>
1989
+ </tr>
1990
+ <tr>
1991
+ <td> <tt>-u</tt>, <tt>--unindent</tt> </td>
1992
+ <td> unindent node content </td>
1993
+ </tr>
1994
+ </table>
2021
1995
 
2022
1996
 
2023
- <pre>&lt;%# include <em>path</em> %&gt;</pre>
2024
1997
 
2025
1998
 
2026
- <p>Here, <em>path</em> is the path of the file whose content you wish to insert into the input document.</p>
1999
+ <b>Format:</b>
2000
+ <table border="1">
2001
+ <tr>
2002
+ <td> latex </td>
2003
+ <td> high-quality typesetting </td>
2004
+ </tr>
2005
+ <tr>
2006
+ <td> html </td>
2007
+ <td> web page for the Internet </td>
2008
+ </tr>
2009
+ <tr>
2010
+ <td> man </td>
2011
+ <td> manual page for UNIX </td>
2012
+ </tr>
2013
+ <tr>
2014
+ <td> text </td>
2015
+ <td> plain text, nothing fancy </td>
2016
+ </tr>
2017
+ </table>
2027
2018
 
2028
2019
 
2029
- <p>You can divide a large document into separate files for easier editing and stitch them together, dynamically, into a single document using the <strong>include</strong> directive.</p></div>
2030
- </div>
2031
- <div class="section">
2020
+
2021
+
2022
+ <p>Gerbil requires its <em>first</em> command-line argument to be either (1) the name of a predefined format or (2) the path to a <a class="xref" href="#SpecFile">format specification file</a>. Predefined formats are simply short-hand names of format specification files located in the <tt>fmt/</tt> subdirectory of the Gerbil installation directory (see <a class="xref" href="#Manifest">Section 2.3: <em>Manifest</em></a>).</p>
2023
+
2024
+
2025
+ <p><div class="section">
2032
2026
  <h2 class="title">
2033
- <a class="toc" id="unindent" href="#a-606484228">4.2</a>&nbsp;&nbsp;The <code class="code"><span style="color:#d70; font-weight:bold">$unindent</span></code> variable
2027
+ <a class="toc" id="include" href="#a-606315728">4.1</a>&nbsp;&nbsp;The <strong>include</strong> directive
2034
2028
  </h2>
2035
- <div class="content"><p>The <code class="code"><span style="color:#d70; font-weight:bold">$unindent</span></code> variable allows you to unindent the content of every node in the input document by a specified amount of whitespace (spaces, tabs, newlines, and so on).</p>
2029
+ <div class="content"><p>The <strong>include</strong> directive allows you to insert the content of an arbitrary file at a certain place in the input document. It is written like this:</p>
2036
2030
 
2037
2031
 
2038
- <p>Simply define this variable somewhere in your input document, like this (assuming you indent your node content using a TAB and two spaces):</p>
2032
+ <pre>&lt;<span># include <em>path</em> #</span>&gt;</pre>
2039
2033
 
2040
2034
 
2041
- <pre>&lt;% $unindent = "\t " %&gt;</pre>
2035
+ <p>Here, <em>path</em> is the path of the file whose content you wish to insert into the input document.</p>
2042
2036
 
2043
2037
 
2044
- <p>and let Gerbil do it&#8217;s magic!</p></div>
2038
+ <p>You can divide a large document into separate files for easier editing and stitch them together, dynamically, into a single document using the <strong>include</strong> directive.</p></div>
2045
2039
  </div></p></div>
2046
2040
  </div>
2047
2041
  <div class="part">
2048
2042
  <h1 class="title">
2049
2043
  Part
2050
- <a class="toc" id="Formats" href="#a-606490418">5</a>
2044
+ <a class="toc" id="Formats" href="#a-606319258">5</a>
2051
2045
 
2052
2046
  <br/>
2053
2047
 
2054
2048
  <big>Formats</big>
2055
2049
  </h1>
2056
2050
 
2057
- <div class="content"><p>This section describes the default formats provided along with Gerbil. The format specification files (see <a class="xref" href="#SpecFile">Section 3.2: <em>Format specification file</em></a>) for these formats can be found in the <tt>format/</tt> directory of the Gerbil installation directory (see <a class="xref" href="#Manifest">Section 2.3: <em>Manifest</em></a>).</p>
2051
+ <div class="content"><p>This section describes the default formats provided along with Gerbil. The format specification files (see <a class="xref" href="#SpecFile">Section 3.2: <em>Format specification file</em></a>) for these formats can be found in the <tt>fmt/</tt> directory of the Gerbil installation directory (see <a class="xref" href="#Manifest">Section 2.3: <em>Manifest</em></a>).</p>
2058
2052
 
2059
2053
 
2060
- <p>These formats are meant to serve as working examples. If you require more functionality from one of these formats, simply make a copy of the corresponding format specification file and edit the copy to suit your needs. If you would like to contribute or discuss your enhancements to these default formats, you can do so on the <a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">project mailing list</a>.</p>
2054
+ <p>These formats are meant to serve as working examples. If you require more functionality from one of these formats, simply make a copy of the corresponding format specification file and edit the copy to suit your needs. If you would like to contribute or discuss your enhancements to these default formats, you can <a class="xref" href="#License">contact the author</a>.</p>
2061
2055
 
2062
2056
 
2063
2057
  <p><div class="chapter">
2064
2058
  <h1 class="title">
2065
2059
  Chapter
2066
- <a class="toc" id="html" href="#a-606498318">5.1</a>
2060
+ <a class="toc" id="html" href="#a-606328418">5.1</a>
2067
2061
 
2068
2062
  <br/>
2069
2063
 
@@ -2081,9 +2075,9 @@ Format:
2081
2075
 
2082
2076
  <p><div class="section">
2083
2077
  <h3 class="title">
2084
- <a class="toc" id="Text-to-HTML-conversion" href="#a-606500248">5.1.1</a>&nbsp;&nbsp;Text to HTML conversion
2078
+ <a class="toc" id="Text-to-HTML-conversion" href="#a-606330638">5.1.1</a>&nbsp;&nbsp;Text to HTML conversion
2085
2079
  </h3>
2086
- <div class="content"><p>Inside the <tt>format/</tt> subdirectory of the Gerbil installation directory (see <a class="xref" href="#Manifest">Section 2.3: <em>Manifest</em></a>), you will see a <tt>html.rb</tt> file. This file defines a <code class="code"><span style="color:#036; font-weight:bold">String</span>.to_html</code> method which is used to transform text in an input document into HTML.</p>
2080
+ <div class="content"><p>Inside the <tt>fmt/</tt> subdirectory of the Gerbil installation directory (see <a class="xref" href="#Manifest">Section 2.3: <em>Manifest</em></a>), you will see a <tt>html.rb</tt> file. This file defines a <code class="code"><span style="color:#036; font-weight:bold">String</span>.to_html</code> method which is used to transform text in an input document into HTML.</p>
2087
2081
 
2088
2082
 
2089
2083
  <p>The default implementation of the <code class="code"><span style="color:#036; font-weight:bold">String</span>.to_html</code> method is based on the <a href="http://whytheluckystiff.net/ruby/redcloth/">Textile</a> markup system. If you do not like Textile or wish to use a different markup system for text in your documents, then simply edit the <tt>html.rb</tt> file and adjust the source code of the default <code class="code"><span style="color:#036; font-weight:bold">String</span>.to_html</code> method accordingly.</p>
@@ -2106,7 +2100,7 @@ Format:
2106
2100
 
2107
2101
  <p><div class="section">
2108
2102
  <h4 class="title">
2109
- <a class="toc" id="Syntax-coloring-for-source-code" href="#a-606505958">5.1.1.1</a>&nbsp;&nbsp;Syntax coloring for source code
2103
+ <a class="toc" id="Syntax-coloring-for-source-code" href="#a-606335428">5.1.1.1</a>&nbsp;&nbsp;Syntax coloring for source code
2110
2104
  </h4>
2111
2105
  <div class="content"><p>Syntax coloring is <em>automatically added</em> to source code found inside the <strong>&lt;code&gt;</strong> and <strong>&lt;/code&gt;</strong> HTML tags. Note that in Textile, any text enclosed within a pair of at-signs (&#64; and &#64;) is also considered to be source code.</p>
2112
2106
 
@@ -2124,7 +2118,7 @@ The following programming languages are currently supported by <a href="http://c
2124
2118
 
2125
2119
  <p><div class="section">
2126
2120
  <h5 class="title">
2127
- <a class="toc" id="Specifying-the-programming-language" href="#a-606507978">5.1.1.1.1</a>&nbsp;&nbsp;Specifying the programming language
2121
+ <a class="toc" id="Specifying-the-programming-language" href="#a-606338018">5.1.1.1.1</a>&nbsp;&nbsp;Specifying the programming language
2128
2122
  </h5>
2129
2123
  <div class="content"><p>Because different programming languages have different syntax coloring schemes, you can specify the language of your source code using the <code class="code">lang</code> attribute to ensure that only the appropriate coloring scheme is used. Note that unless the <code class="code">lang</code> attribute is specified, <em>Ruby</em> is assumed to be the programming language of all source code by default.</p>
2130
2124
 
@@ -2212,7 +2206,7 @@ int main(int argc, char **argv) {
2212
2206
  </div>
2213
2207
  <div class="section">
2214
2208
  <h4 class="title">
2215
- <a class="toc" id="Smart-sizing-of-source-code" href="#a-606511328">5.1.1.2</a>&nbsp;&nbsp;Smart sizing of source code
2209
+ <a class="toc" id="Smart-sizing-of-source-code" href="#a-606341978">5.1.1.2</a>&nbsp;&nbsp;Smart sizing of source code
2216
2210
  </h4>
2217
2211
  <div class="content"><p>Source code is <em>automatically sized</em> to be displayed as either a line or paragraph of text, depending on whether it contains line breaks.</p>
2218
2212
 
@@ -2228,17 +2222,16 @@ int main(int argc, char **argv) {
2228
2222
 
2229
2223
  <pre class="code">life =
2230
2224
  <span style="color:#038; font-weight:bold">true</span> <span style="color:#080; font-weight:bold">or</span> <span style="color:#038; font-weight:bold">false</span></pre></div>
2231
- </div>
2232
- <div class="section">
2225
+ </div><div class="section">
2233
2226
  <h4 class="title">
2234
- <a class="toc" id="Protecting-verbatim-text" href="#a-606514368">5.1.1.3</a>&nbsp;&nbsp;Protecting verbatim text
2227
+ <a class="toc" id="Protecting-verbatim-text" href="#a-606345218">5.1.1.3</a>&nbsp;&nbsp;Protecting verbatim text
2235
2228
  </h4>
2236
2229
  <div class="content">Sometimes you just need to protect some text from being mangled by the text-to-HTML conversion process . In such cases, you can wrap the text you want to proctect within <strong>&lt;noformat&gt;</strong> and <strong>&lt;/noformat&gt;</strong> tags.</div>
2237
2230
  </div></p></div>
2238
2231
  </div>
2239
2232
  <div class="section">
2240
2233
  <h3 class="title">
2241
- <a class="toc" id="Parameters" href="#a-606518168">5.1.2</a>&nbsp;&nbsp;Parameters
2234
+ <a class="toc" id="Parameters" href="#a-606353048">5.1.2</a>&nbsp;&nbsp;Parameters
2242
2235
  </h3>
2243
2236
  <div class="content">The HTML format accepts the following document parameters.
2244
2237
 
@@ -2287,10 +2280,9 @@ int main(int argc, char **argv) {
2287
2280
  <td> Use <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango icons</a> in admonitions (see <a class="xref" href="#Admonitions">Section 5.1.4.3: <em>Admonitions</em></a>)? </td>
2288
2281
  </tr>
2289
2282
  </table></div>
2290
- </div>
2291
- <div class="section">
2283
+ </div><div class="section">
2292
2284
  <h3 class="title">
2293
- <a class="toc" id="Methods" href="#a-606523158">5.1.3</a>&nbsp;&nbsp;Methods
2285
+ <a class="toc" id="Methods" href="#a-606356788">5.1.3</a>&nbsp;&nbsp;Methods
2294
2286
  </h3>
2295
2287
  <div class="content">The HTML format provides the following methods. In the method declarations shown below,
2296
2288
  <ul>
@@ -2386,7 +2378,7 @@ ruby.
2386
2378
  <div class="chapter">
2387
2379
  <h1 class="title">
2388
2380
  Chapter
2389
- <a class="toc" id="html.nodes" href="#a-607127418">5.1.4</a>
2381
+ <a class="toc" id="html.nodes" href="#a-606981518">5.1.4</a>
2390
2382
 
2391
2383
  <br/>
2392
2384
 
@@ -2429,32 +2421,29 @@ ruby.
2429
2421
 
2430
2422
  <p><div class="section">
2431
2423
  <h4 class="title">
2432
- <a class="toc" id="Structure" href="#a-607147088">5.1.4.1</a>&nbsp;&nbsp;Structure
2424
+ <a class="toc" id="Structure" href="#a-606992068">5.1.4.1</a>&nbsp;&nbsp;Structure
2433
2425
  </h4>
2434
2426
  <div class="content"><p>The nodes described in this section form the overall structure of the output document.</p>
2435
2427
 
2436
2428
 
2437
2429
  <p><div class="section">
2438
2430
  <h5 class="title">
2439
- <a class="toc" id="html.nodes.header" href="#a-607152838">5.1.4.1.1</a>&nbsp;&nbsp;header
2431
+ <a class="toc" id="html.nodes.header" href="#a-606999108">5.1.4.1.1</a>&nbsp;&nbsp;header
2440
2432
  </h5>
2441
2433
  <div class="content">This node overrides the logo, title, list of authors, and date when the document was written, all of which are shown at the top of the document.</div>
2442
- </div>
2443
- <div class="section">
2434
+ </div><div class="section">
2444
2435
  <h5 class="title">
2445
- <a class="toc" id="html.nodes.footer" href="#a-607155708">5.1.4.1.2</a>&nbsp;&nbsp;footer
2436
+ <a class="toc" id="html.nodes.footer" href="#a-607002748">5.1.4.1.2</a>&nbsp;&nbsp;footer
2446
2437
  </h5>
2447
2438
  <div class="content">This node overrides (1) the date when this document was generated and (2) the hyperlink to the Gerbil website, shown at the bottom of the document. The hyperlink is there as a way of saying thanks for Gerbil, the <em>wonderful</em> little utility you have grown so fond of! ;-)</div>
2448
- </div>
2449
- <div class="section">
2439
+ </div><div class="section">
2450
2440
  <h5 class="title">
2451
- <a class="toc" id="html.nodes.abstract" href="#a-607162228">5.1.4.1.3</a>&nbsp;&nbsp;abstract
2441
+ <a class="toc" id="html.nodes.abstract" href="#a-607009848">5.1.4.1.3</a>&nbsp;&nbsp;abstract
2452
2442
  </h5>
2453
2443
  <div class="content">A summary of the entire document. This is what most readers will <em>skim</em> through, if you are lucky. Alas, nobody reads entire documents these days! :-(</div>
2454
- </div>
2455
- <div class="section">
2444
+ </div><div class="section">
2456
2445
  <h5 class="title">
2457
- <a class="toc" id="html.nodes.xref" href="#a-607170078">5.1.4.1.4</a>&nbsp;&nbsp;xref
2446
+ <a class="toc" id="html.nodes.xref" href="#a-607014308">5.1.4.1.4</a>&nbsp;&nbsp;xref
2458
2447
  </h5>
2459
2448
  <div class="content"><p>A cross-reference; a hyperlink that takes you to any node in the document.</p>
2460
2449
 
@@ -2485,14 +2474,14 @@ ruby.
2485
2474
  </div>
2486
2475
  <div class="section">
2487
2476
  <h4 class="title">
2488
- <a class="toc" id="Organization" href="#a-607184508">5.1.4.2</a>&nbsp;&nbsp;Organization
2477
+ <a class="toc" id="Organization" href="#a-607031368">5.1.4.2</a>&nbsp;&nbsp;Organization
2489
2478
  </h4>
2490
2479
  <div class="content"><p>The nodes described in this section are meant to help organize the document&#8217;s content logically.</p>
2491
2480
 
2492
2481
 
2493
2482
  <p><div class="section">
2494
2483
  <h5 class="title">
2495
- <a class="toc" id="html.nodes.part" href="#a-607186558">5.1.4.2.1</a>&nbsp;&nbsp;part
2484
+ <a class="toc" id="html.nodes.part" href="#a-607035868">5.1.4.2.1</a>&nbsp;&nbsp;part
2496
2485
  </h5>
2497
2486
  <div class="content"><p>A collection of chapters.</p>
2498
2487
 
@@ -2500,7 +2489,7 @@ ruby.
2500
2489
  <p><div class="part">
2501
2490
  <h1 class="title">
2502
2491
  Part
2503
- <a class="toc" id="An-example" href="#a-607193048">5.1.4.2.1.1</a>
2492
+ <a class="toc" id="An-example" href="#a-607039118">5.1.4.2.1.1</a>
2504
2493
 
2505
2494
  <br/>
2506
2495
 
@@ -2512,7 +2501,7 @@ ruby.
2512
2501
  </div>
2513
2502
  <div class="section">
2514
2503
  <h5 class="title">
2515
- <a class="toc" id="html.nodes.chapter" href="#a-607201388">5.1.4.2.2</a>&nbsp;&nbsp;chapter
2504
+ <a class="toc" id="html.nodes.chapter" href="#a-607041628">5.1.4.2.2</a>&nbsp;&nbsp;chapter
2516
2505
  </h5>
2517
2506
  <div class="content"><p>A collection of sections.</p>
2518
2507
 
@@ -2520,7 +2509,7 @@ ruby.
2520
2509
  <p><div class="chapter">
2521
2510
  <h1 class="title">
2522
2511
  Chapter
2523
- <a class="toc" id="An-example-607251148" href="#a-607205928">5.1.4.2.2.1</a>
2512
+ <a class="toc" id="An-example-607136348" href="#a-607043318">5.1.4.2.2.1</a>
2524
2513
 
2525
2514
  <br/>
2526
2515
 
@@ -2532,21 +2521,21 @@ ruby.
2532
2521
  </div>
2533
2522
  <div class="section">
2534
2523
  <h5 class="title">
2535
- <a class="toc" id="html.nodes.section" href="#a-607210158">5.1.4.2.3</a>&nbsp;&nbsp;section
2524
+ <a class="toc" id="html.nodes.section" href="#a-607045828">5.1.4.2.3</a>&nbsp;&nbsp;section
2536
2525
  </h5>
2537
2526
  <div class="content"><p>A collection of paragraphs about a particular topic.</p>
2538
2527
 
2539
2528
 
2540
2529
  <p><div class="section">
2541
2530
  <h6 class="title">
2542
- <a class="toc" id="An-example-607390208" href="#a-607211878">5.1.4.2.3.1</a>&nbsp;&nbsp;An example
2531
+ <a class="toc" id="An-example-607242248" href="#a-607047548">5.1.4.2.3.1</a>&nbsp;&nbsp;An example
2543
2532
  </h6>
2544
2533
  <div class="content">This is what a <strong>section</strong> node appears like.</div>
2545
2534
  </div></p></div>
2546
2535
  </div>
2547
2536
  <div class="section">
2548
2537
  <h5 class="title">
2549
- <a class="toc" id="html.nodes.paragraph" href="#a-607214388">5.1.4.2.4</a>&nbsp;&nbsp;paragraph
2538
+ <a class="toc" id="html.nodes.paragraph" href="#a-607050058">5.1.4.2.4</a>&nbsp;&nbsp;paragraph
2550
2539
  </h5>
2551
2540
  <div class="content"><p>A collection of sentences about a particular idea.</p>
2552
2541
 
@@ -2559,7 +2548,7 @@ ruby.
2559
2548
  </div>
2560
2549
  <div class="section">
2561
2550
  <h4 class="title">
2562
- <a class="toc" id="Admonitions" href="#a-607218628">5.1.4.3</a>&nbsp;&nbsp;Admonitions
2551
+ <a class="toc" id="Admonitions" href="#a-607054298">5.1.4.3</a>&nbsp;&nbsp;Admonitions
2563
2552
  </h4>
2564
2553
  <div class="content"><p>An admonition is basically a box that is indented more deeply than the text surrounding it. It is typically used to convey extraneous or pertinent information about the application of ideas discussed in the surrounding text.</p>
2565
2554
 
@@ -2567,16 +2556,15 @@ ruby.
2567
2556
  <p>I like to follow the KDE guidelines<sup>[<a class="cite" href="#KDE.admonitions">1</a>]</sup> when determining which admonition to use in my documents.</p>
2568
2557
 
2569
2558
 
2570
- <p>
2571
- <div class="section">
2559
+ <p><div class="section">
2572
2560
  <h5 class="title">
2573
- <a class="toc" id="html.nodes.warning" href="#a-607223748">5.1.4.3.1</a>&nbsp;&nbsp;warning
2561
+ <a class="toc" id="html.nodes.warning" href="#a-607059578">5.1.4.3.1</a>&nbsp;&nbsp;warning
2574
2562
  </h5>
2575
2563
  <div class="content"><p>Use a <strong>warning</strong> node when &#8220;data loss could occur if you follow the procedure being described.&#8221; <sup>[<a class="cite" href="#KDE.admonitions">1</a>]</sup></p>
2576
2564
 
2577
2565
 
2578
2566
  <p><div class="warning">
2579
- <p class="title"><a class="toc" id="An-example-607468538" href="#a-607226858">Warning 1</a>.&nbsp;&nbsp;An example</p>
2567
+ <p class="title"><a class="toc" id="An-example-607309288" href="#a-607062858">Warning 1</a>.&nbsp;&nbsp;An example</p>
2580
2568
 
2581
2569
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
2582
2570
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
@@ -2641,7 +2629,7 @@ rBDpMPlaalVjI/la9EMCgnZW7hT+A5SLlrQmK/qkAAAAAElFTkSuQmCC
2641
2629
  </div>
2642
2630
  <div class="section">
2643
2631
  <h5 class="title">
2644
- <a class="toc" id="html.nodes.caution" href="#a-607229148">5.1.4.3.2</a>&nbsp;&nbsp;caution
2632
+ <a class="toc" id="html.nodes.caution" href="#a-607065148">5.1.4.3.2</a>&nbsp;&nbsp;caution
2645
2633
  </h5>
2646
2634
  <div class="content"><blockquote>
2647
2635
  <p>A note of caution. Use this for example when the reader may lose easily recovered or replaceable information (e.g. user settings), or when they could cause data loss if they don&#8217;t correctly follow the procedure being outlined. <sup>[<a class="cite" href="#KDE.admonitions">1</a>]</sup></p>
@@ -2649,7 +2637,7 @@ rBDpMPlaalVjI/la9EMCgnZW7hT+A5SLlrQmK/qkAAAAAElFTkSuQmCC
2649
2637
 
2650
2638
 
2651
2639
  <p><div class="caution">
2652
- <p class="title"><a class="toc" id="An-example-607498638" href="#a-607232288">Caution 1</a>.&nbsp;&nbsp;An example</p>
2640
+ <p class="title"><a class="toc" id="An-example-607338778" href="#a-607068458">Caution 1</a>.&nbsp;&nbsp;An example</p>
2653
2641
 
2654
2642
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
2655
2643
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
@@ -2710,7 +2698,7 @@ ECQGPj690VUrcfw2ZYuXhICbYRZiUUhEYFLNkjYs6s3c/5J97/9q8F/RUcwR
2710
2698
  </div>
2711
2699
  <div class="section">
2712
2700
  <h5 class="title">
2713
- <a class="toc" id="html.nodes.important" href="#a-607234578">5.1.4.3.3</a>&nbsp;&nbsp;important
2701
+ <a class="toc" id="html.nodes.important" href="#a-607070748">5.1.4.3.3</a>&nbsp;&nbsp;important
2714
2702
  </h5>
2715
2703
  <div class="content"><p>Use an <strong>important</strong> node when:</p>
2716
2704
 
@@ -2721,7 +2709,7 @@ ECQGPj690VUrcfw2ZYuXhICbYRZiUUhEYFLNkjYs6s3c/5J97/9q8F/RUcwR
2721
2709
 
2722
2710
 
2723
2711
  <p><div class="important">
2724
- <p class="title"><a class="toc" id="An-example-607529738" href="#a-607237768">Important 1</a>.&nbsp;&nbsp;An example</p>
2712
+ <p class="title"><a class="toc" id="An-example-607369758" href="#a-607074108">Important 1</a>.&nbsp;&nbsp;An example</p>
2725
2713
 
2726
2714
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
2727
2715
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
@@ -2786,7 +2774,7 @@ YhZhYHbQZiOelwCTEJhIpuI+JYCZyKe2KNkEWIlIxTrPDJNc+B/DI2njy1uQ
2786
2774
  </div>
2787
2775
  <div class="section">
2788
2776
  <h5 class="title">
2789
- <a class="toc" id="html.nodes.note" href="#a-607240058">5.1.4.3.4</a>&nbsp;&nbsp;note
2777
+ <a class="toc" id="html.nodes.note" href="#a-607078658">5.1.4.3.4</a>&nbsp;&nbsp;note
2790
2778
  </h5>
2791
2779
  <div class="content"><p>Use a <strong>note</strong> node to convey:</p>
2792
2780
 
@@ -2797,7 +2785,7 @@ YhZhYHbQZiOelwCTEJhIpuI+JYCZyKe2KNkEWIlIxTrPDJNc+B/DI2njy1uQ
2797
2785
 
2798
2786
 
2799
2787
  <p><div class="note">
2800
- <p class="title"><a class="toc" id="An-example-607566278" href="#a-607243278">Note 3</a>.&nbsp;&nbsp;An example</p>
2788
+ <p class="title"><a class="toc" id="An-example-607405428" href="#a-607085588">Note 2</a>.&nbsp;&nbsp;An example</p>
2801
2789
 
2802
2790
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
2803
2791
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
@@ -2863,7 +2851,7 @@ DUCQhrhWJkj394A0gKeUCjVo3r9Zv0r2P3yyQqPd16MPAAAAAElFTkSuQmCC
2863
2851
  </div>
2864
2852
  <div class="section">
2865
2853
  <h5 class="title">
2866
- <a class="toc" id="html.nodes.tip" href="#a-607245848">5.1.4.3.5</a>&nbsp;&nbsp;tip
2854
+ <a class="toc" id="html.nodes.tip" href="#a-607091318">5.1.4.3.5</a>&nbsp;&nbsp;tip
2867
2855
  </h5>
2868
2856
  <div class="content"><p>Use a <strong>tip</strong> node when:</p>
2869
2857
 
@@ -2874,7 +2862,7 @@ DUCQhrhWJkj394A0gKeUCjVo3r9Zv0r2P3yyQqPd16MPAAAAAElFTkSuQmCC
2874
2862
 
2875
2863
 
2876
2864
  <p><div class="tip">
2877
- <p class="title"><a class="toc" id="An-example-607596848" href="#a-607251388">Tip 1</a>.&nbsp;&nbsp;An example</p>
2865
+ <p class="title"><a class="toc" id="An-example-607435678" href="#a-607103358">Tip 1</a>.&nbsp;&nbsp;An example</p>
2878
2866
 
2879
2867
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
2880
2868
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
@@ -2959,79 +2947,79 @@ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
2959
2947
  </div>
2960
2948
  <div class="section">
2961
2949
  <h4 class="title">
2962
- <a class="toc" id="Auxilary-materials" href="#a-607259048">5.1.4.4</a>&nbsp;&nbsp;Auxilary materials
2950
+ <a class="toc" id="Auxilary-materials" href="#a-607113278">5.1.4.4</a>&nbsp;&nbsp;Auxilary materials
2963
2951
  </h4>
2964
2952
  <div class="content"><div class="section">
2965
2953
  <h5 class="title">
2966
- <a class="toc" id="html.nodes.figure" href="#a-607264088">5.1.4.4.1</a>&nbsp;&nbsp;figure
2954
+ <a class="toc" id="html.nodes.figure" href="#a-607120048">5.1.4.4.1</a>&nbsp;&nbsp;figure
2967
2955
  </h5>
2968
2956
  <div class="content"><p>A diagram, sketch, image, or illustration; something that visually depicts an idea or thought.</p>
2969
2957
 
2970
2958
 
2971
2959
  <p><div class="figure">
2972
- <p class="title"><a class="toc" id="An-example-607631908" href="#a-607270948">Figure 1</a>.&nbsp;&nbsp;An example</p>
2960
+ <p class="title"><a class="toc" id="An-example-607470278" href="#a-607123418">Figure 1</a>.&nbsp;&nbsp;An example</p>
2973
2961
  <div class="content">This is what a <strong>figure</strong> node appears like.</div>
2974
2962
  </div></p></div>
2975
2963
  </div>
2976
2964
  <div class="section">
2977
2965
  <h5 class="title">
2978
- <a class="toc" id="html.nodes.table" href="#a-607277488">5.1.4.4.2</a>&nbsp;&nbsp;table
2966
+ <a class="toc" id="html.nodes.table" href="#a-607131228">5.1.4.4.2</a>&nbsp;&nbsp;table
2979
2967
  </h5>
2980
2968
  <div class="content"><p>Information (typically measurement data) represented in tabular form for easy reading, comparison, and analysis.</p>
2981
2969
 
2982
2970
 
2983
2971
  <p><div class="table">
2984
- <p class="title"><a class="toc" id="An-example-607655068" href="#a-607284158">Table 1</a>.&nbsp;&nbsp;An example</p>
2972
+ <p class="title"><a class="toc" id="An-example-607493418" href="#a-607135628">Table 1</a>.&nbsp;&nbsp;An example</p>
2985
2973
  <div class="content">This is what a <strong>table</strong> node appears like.</div>
2986
2974
  </div></p></div>
2987
2975
  </div>
2988
2976
  <div class="section">
2989
2977
  <h5 class="title">
2990
- <a class="toc" id="html.nodes.example" href="#a-607291368">5.1.4.4.3</a>&nbsp;&nbsp;example
2978
+ <a class="toc" id="html.nodes.example" href="#a-607142608">5.1.4.4.3</a>&nbsp;&nbsp;example
2991
2979
  </h5>
2992
2980
  <div class="content"><p>A sample application of an idea or thought.</p>
2993
2981
 
2994
2982
 
2995
2983
  <p><div class="example">
2996
- <p class="title"><a class="toc" id="An-example-607677748" href="#a-607295988">Example 4</a>.&nbsp;&nbsp;An example</p>
2984
+ <p class="title"><a class="toc" id="An-example-607515828" href="#a-607146808">Example 4</a>.&nbsp;&nbsp;An example</p>
2997
2985
  <div class="content">This is what a <strong>example</strong> node appears like.</div>
2998
2986
  </div></p></div>
2999
2987
  </div>
3000
2988
  <div class="section">
3001
2989
  <h5 class="title">
3002
- <a class="toc" id="html.nodes.equation" href="#a-607303798">5.1.4.4.4</a>&nbsp;&nbsp;equation
2990
+ <a class="toc" id="html.nodes.equation" href="#a-607150388">5.1.4.4.4</a>&nbsp;&nbsp;equation
3003
2991
  </h5>
3004
2992
  <div class="content"><p>A mathematical equation or formula.</p>
3005
2993
 
3006
2994
 
3007
2995
  <p><div class="equation">
3008
- <p class="title"><a class="toc" id="An-example-607700438" href="#a-607308068">Equation 1</a>.&nbsp;&nbsp;An example</p>
2996
+ <p class="title"><a class="toc" id="An-example-607537918" href="#a-607154858">Equation 1</a>.&nbsp;&nbsp;An example</p>
3009
2997
  <div class="content">This is what a <strong>equation</strong> node appears like.</div>
3010
2998
  </div></p></div>
3011
2999
  </div>
3012
3000
  <div class="section">
3013
3001
  <h5 class="title">
3014
- <a class="toc" id="html.nodes.procedure" href="#a-607314598">5.1.4.4.5</a>&nbsp;&nbsp;procedure
3002
+ <a class="toc" id="html.nodes.procedure" href="#a-607158588">5.1.4.4.5</a>&nbsp;&nbsp;procedure
3015
3003
  </h5>
3016
3004
  <div class="content"><p>An outline; a series of steps outlining some kind of process.</p>
3017
3005
 
3018
3006
 
3019
3007
  <p><div class="procedure">
3020
- <p class="title"><a class="toc" id="An-example-607722628" href="#a-607318728">Procedure 1</a>.&nbsp;&nbsp;An example</p>
3008
+ <p class="title"><a class="toc" id="An-example-607559818" href="#a-607161558">Procedure 1</a>.&nbsp;&nbsp;An example</p>
3021
3009
  <div class="content">This is what a <strong>procedure</strong> node appears like.</div>
3022
3010
  </div></p></div>
3023
3011
  </div></div>
3024
3012
  </div>
3025
3013
  <div class="section">
3026
3014
  <h4 class="title">
3027
- <a class="toc" id="Bibliography" href="#a-607323548">5.1.4.5</a>&nbsp;&nbsp;Bibliography
3015
+ <a class="toc" id="Bibliography" href="#a-607170548">5.1.4.5</a>&nbsp;&nbsp;Bibliography
3028
3016
  </h4>
3029
3017
  <div class="content"><p>The nodes in this section deal with attribution of ideas&#8212;an important weapon against plagiarism.</p>
3030
3018
 
3031
3019
 
3032
3020
  <p><div class="section">
3033
3021
  <h5 class="title">
3034
- <a class="toc" id="html.nodes.reference" href="#a-607328178">5.1.4.5.1</a>&nbsp;&nbsp;reference
3022
+ <a class="toc" id="html.nodes.reference" href="#a-607173848">5.1.4.5.1</a>&nbsp;&nbsp;reference
3035
3023
  </h5>
3036
3024
  <div class="content"><p>This node stores bibliography information about an information source that is relevant to your document.</p>
3037
3025
 
@@ -3042,12 +3030,11 @@ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
3042
3030
  <p><div class="paragraph">
3043
3031
  <p class="title">An example</p>
3044
3032
  <div class="content">See <a class="xref" href="#html.nodes.reference.example">Reference 2</a> for an example of what a <strong>reference</strong> node appears like.</div>
3045
- </div>
3046
- </p></div>
3033
+ </div></p></div>
3047
3034
  </div>
3048
3035
  <div class="section">
3049
3036
  <h5 class="title">
3050
- <a class="toc" id="html.nodes.cite" href="#a-607346008">5.1.4.5.2</a>&nbsp;&nbsp;cite
3037
+ <a class="toc" id="html.nodes.cite" href="#a-607194148">5.1.4.5.2</a>&nbsp;&nbsp;cite
3051
3038
  </h5>
3052
3039
  <div class="content"><p>A citation to a <strong>reference</strong> node (see <a class="xref" href="#html.nodes.reference">Section 5.1.4.5.1: <em>reference</em></a>) in the document&#8217;s bibliography.</p>
3053
3040
 
@@ -3078,7 +3065,7 @@ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
3078
3065
  <div class="chapter">
3079
3066
  <h1 class="title">
3080
3067
  Chapter
3081
- <a class="toc" id="text" href="#a-607364918">5.2</a>
3068
+ <a class="toc" id="text" href="#a-607222938">5.2</a>
3082
3069
 
3083
3070
  <br/>
3084
3071
 
@@ -3089,11 +3076,10 @@ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
3089
3076
 
3090
3077
 
3091
3078
  <p>http://en.wikipedia.org/wiki/Plain_text</p></div>
3092
- </div>
3093
- <div class="chapter">
3079
+ </div><div class="chapter">
3094
3080
  <h1 class="title">
3095
3081
  Chapter
3096
- <a class="toc" id="latex" href="#a-607370978">5.3</a>
3082
+ <a class="toc" id="latex" href="#a-607234148">5.3</a>
3097
3083
 
3098
3084
  <br/>
3099
3085
 
@@ -3104,11 +3090,10 @@ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
3104
3090
 
3105
3091
 
3106
3092
  <p>http://www.latex-project.org</p></div>
3107
- </div>
3108
- <div class="chapter">
3093
+ </div><div class="chapter">
3109
3094
  <h1 class="title">
3110
3095
  Chapter
3111
- <a class="toc" id="man" href="#a-607378428">5.4</a>
3096
+ <a class="toc" id="man" href="#a-607237578">5.4</a>
3112
3097
 
3113
3098
  <br/>
3114
3099
 
@@ -3137,7 +3122,7 @@ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
3137
3122
 
3138
3123
  <div id="footer">
3139
3124
 
3140
- Generated on Thu May 29 22:03:51 -0700 2008 by <a href="http://gerbil.rubyforge.org">Gerbil</a> 2.1.0.
3125
+ Generated on Sun Jun 01 22:30:15 -0700 2008 by <a href="http://gerbil.rubyforge.org">Gerbil</a> 3.0.0.
3141
3126
 
3142
3127
  <p>The admonition icons (<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
3143
3128
  fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3