gerbil 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/doc/guide.html ADDED
@@ -0,0 +1,3416 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
5
+ <meta name="date" content="12 January 2008"/>
6
+ <meta name="author" content="Suraj N. Kurapati"/>
7
+ <meta name="generator" content="Gerbil 1.0.0"/>
8
+ <link rel="alternate" type="application/rss+xml" href="http://gerbil.rubyforge.org/news.xml"/>
9
+ <title>Gerbil 1.0.0 user guide</title>
10
+
11
+ <style type="text/css" media="screen">
12
+ body
13
+ {
14
+ color : #000000;
15
+ background-color : #FFFFFF;
16
+ line-height : 1.5em;
17
+ font-family : Calibri, Verdana, sans-serif;
18
+ }
19
+
20
+ /* emphasis */
21
+
22
+ em,
23
+ blockquote
24
+ {
25
+ font-family : Cambria, Georgia, serif;
26
+ }
27
+
28
+ /* headings */
29
+
30
+ h1,
31
+ h2,
32
+ h3,
33
+ h4,
34
+ h5,
35
+ h6,
36
+ .title
37
+ {
38
+ font-weight : lighter;
39
+ font-family : Constantia, "Book Antiqua", "URW Bookman L", serif;
40
+ }
41
+
42
+ #lof h1,
43
+ #lof h2,
44
+ #lof h3,
45
+ #lof h4,
46
+ #lof h5,
47
+ #lof h6
48
+ {
49
+ margin-top : 1.25em;
50
+ }
51
+
52
+ #content h1,
53
+ #content h2,
54
+ #content h3,
55
+ #content h4,
56
+ #content h5,
57
+ #content h6
58
+ {
59
+ margin-top : 2.5em;
60
+ line-height : 1.25em;
61
+ }
62
+
63
+ #content h1
64
+ {
65
+ font-size : 2.0em;
66
+ }
67
+
68
+ #content h2
69
+ {
70
+ font-size : 1.8em;
71
+ }
72
+
73
+ #content h3
74
+ {
75
+ font-size : 1.6em;
76
+ }
77
+
78
+ #content h4
79
+ {
80
+ font-size : 1.4em;
81
+ }
82
+
83
+ #content h5
84
+ {
85
+ font-size : 1.2em;
86
+ }
87
+
88
+ #content h6
89
+ {
90
+ font-size : 1.0em;
91
+ }
92
+
93
+ /* tables */
94
+
95
+ table
96
+ {
97
+ border : none;
98
+ }
99
+
100
+ th,
101
+ td
102
+ {
103
+ padding : 1em;
104
+ border : 1px solid #C0C0C0;
105
+ vertical-align : top;
106
+ background-color : #FFFFFF;
107
+ }
108
+
109
+ th
110
+ {
111
+ background-color : #F5F5F5;
112
+ }
113
+
114
+ table
115
+ {
116
+ margin : auto;
117
+ }
118
+
119
+ /* document structure */
120
+
121
+ #header
122
+ {
123
+ margin-bottom : 5em;
124
+ text-align : center;
125
+ }
126
+
127
+ #abstract
128
+ {
129
+ margin-bottom : 5em;
130
+ }
131
+
132
+ #toc li
133
+ {
134
+ list-style-type : none;
135
+ }
136
+
137
+ #toc li ul
138
+ {
139
+ padding-bottom : 1em;
140
+ border-left : thick solid #F5F5F5;
141
+ _border-left : none; /* for IE6 */
142
+ }
143
+
144
+ #toc li ul:hover
145
+ {
146
+ border-color : #DCDCDC;
147
+ }
148
+
149
+ #toc > ul
150
+ {
151
+ padding-left : 1em;
152
+ }
153
+
154
+ #references
155
+ {
156
+ margin-top : 5em;
157
+ }
158
+
159
+ #footer
160
+ {
161
+ border-top : thick dotted #DCDCDC;
162
+ padding-top : 1em;
163
+ margin-top : 5em;
164
+ text-align : center;
165
+ }
166
+
167
+ /* document nodes */
168
+
169
+ .part > .title,
170
+ .chapter > .title
171
+ {
172
+ padding-bottom : 0.5em;
173
+ }
174
+
175
+ .part > .title > big,
176
+ .chapter > .title > big
177
+ {
178
+ display : block;
179
+ margin-top : 0.25em;
180
+ }
181
+
182
+ .part .title big,
183
+ .chapter .title big
184
+ {
185
+ _display : block; /* for IE6 */
186
+ _margin-top : 0.25em; /* for IE6 */
187
+ _margin-bottom : 0.75em; /* for IE6 */
188
+ }
189
+
190
+ .paragraph > .title,
191
+ .tip > .title,
192
+ .note > .title,
193
+ .caution > .title,
194
+ .warning > .title,
195
+ .important > .title,
196
+ .figure > .title,
197
+ .table > .title,
198
+ .example > .title,
199
+ .equation > .title,
200
+ .procedure > .title
201
+ {
202
+ font-size : large;
203
+ margin-top : 2em;
204
+ }
205
+
206
+ .paragraph .title,
207
+ .tip .title,
208
+ .note .title,
209
+ .caution .title,
210
+ .warning .title,
211
+ .important .title,
212
+ .figure .title,
213
+ .table .title,
214
+ .example .title,
215
+ .equation .title,
216
+ .procedure .title
217
+ {
218
+ _font-size : large; /* for IE6 */
219
+ _font-weight : bold; /* large is not bold in IE6 */
220
+ _margin-top : 2em; /* for IE6 */
221
+ }
222
+
223
+ .tip ,
224
+ .note ,
225
+ .caution ,
226
+ .warning ,
227
+ .important,
228
+ .figure ,
229
+ .table ,
230
+ .example ,
231
+ .equation ,
232
+ .procedure
233
+ {
234
+ margin : 3em;
235
+ }
236
+
237
+ .tip > .icon,
238
+ .note > .icon,
239
+ .caution > .icon,
240
+ .warning > .icon,
241
+ .important > .icon
242
+ {
243
+ float : left;
244
+ margin : 0 1em 1em 0; /* top right bottom left */
245
+ }
246
+
247
+ .tip .icon,
248
+ .note .icon,
249
+ .caution .icon,
250
+ .warning .icon,
251
+ .important .icon
252
+ {
253
+ _display : none; /* IE6 cannot display embedded images */
254
+ }
255
+
256
+ .figure > .title
257
+ {
258
+ text-align : center;
259
+ }
260
+
261
+ .figure .title
262
+ {
263
+ _text-align : center; /* for IE6 */
264
+ }
265
+
266
+ .figure > .content img
267
+ {
268
+ display : block;
269
+ margin : auto;
270
+ }
271
+
272
+ .figure .content img
273
+ {
274
+ _display : block; /* for IE6 */
275
+ _margin : auto; /* for IE6 */
276
+ }
277
+
278
+ body
279
+ {
280
+ margin : auto;
281
+ padding : 0.5em;
282
+ max-width : 36em;
283
+ }
284
+
285
+ /* hyperlinks */
286
+
287
+ a
288
+ {
289
+ color : #0000FF;
290
+ text-decoration : none;
291
+ }
292
+
293
+ a:visited
294
+ {
295
+ color : #800080;
296
+ }
297
+
298
+ a:hover
299
+ {
300
+ color : #FF0000;
301
+ text-decoration : underline;
302
+ }
303
+
304
+ a:target
305
+ {
306
+ color : #FF0000;
307
+ text-decoration : underline;
308
+ }
309
+
310
+ a.toc:link,
311
+ a.toc:visited
312
+ {
313
+ text-decoration : none;
314
+ z-index : 1;
315
+ }
316
+
317
+ a img
318
+ {
319
+ border : none;
320
+ }
321
+
322
+ /* source code */
323
+
324
+ tt,
325
+ code,
326
+ pre
327
+ {
328
+ font-family : Consolas, "Lucida Console", monospace;
329
+ }
330
+
331
+ tt
332
+ {
333
+ font-weight : bold;
334
+ color : #A52A2A;
335
+ background-color : #FFFAF0;
336
+ }
337
+
338
+ /* output of syntax colorizer */
339
+ .code
340
+ {
341
+ background-color : #FFFFF0;
342
+ }
343
+
344
+ pre
345
+ {
346
+ line-height : normal;
347
+ border : 1px dashed #C0C0C0;
348
+ background-color : #F5FFDF;
349
+ padding : 1em;
350
+ overflow : auto;
351
+ cursor : text;
352
+ }
353
+
354
+ /*
355
+ pre:hover
356
+ {
357
+ border : none;
358
+ position : fixed;
359
+ z-index : 1;
360
+ margin : 0;
361
+ top : 0;
362
+ left : 0;
363
+ right : 0;
364
+ bottom : 0;
365
+ overflow : auto;
366
+ cursor : text;
367
+ }
368
+ */
369
+
370
+ /* emphasis */
371
+
372
+ blockquote
373
+ {
374
+ margin : 1em;
375
+ border : 5px dotted #C0C0C0;
376
+ padding : 1em;
377
+ color : #444;
378
+ }
379
+
380
+ hr
381
+ {
382
+ color : #FF0000; /* for IE6 */
383
+ background-color : #FF0000; /* for Firefox */
384
+ }
385
+
386
+ </style>
387
+ <style type="text/css" media="print">
388
+ body
389
+ {
390
+ color : #000000;
391
+ background-color : #FFFFFF;
392
+ line-height : 1.5em;
393
+ font-family : Calibri, Verdana, sans-serif;
394
+ }
395
+
396
+ /* emphasis */
397
+
398
+ em,
399
+ blockquote
400
+ {
401
+ font-family : Cambria, Georgia, serif;
402
+ }
403
+
404
+ /* headings */
405
+
406
+ h1,
407
+ h2,
408
+ h3,
409
+ h4,
410
+ h5,
411
+ h6,
412
+ .title
413
+ {
414
+ font-weight : lighter;
415
+ font-family : Constantia, "Book Antiqua", "URW Bookman L", serif;
416
+ }
417
+
418
+ #lof h1,
419
+ #lof h2,
420
+ #lof h3,
421
+ #lof h4,
422
+ #lof h5,
423
+ #lof h6
424
+ {
425
+ margin-top : 1.25em;
426
+ }
427
+
428
+ #content h1,
429
+ #content h2,
430
+ #content h3,
431
+ #content h4,
432
+ #content h5,
433
+ #content h6
434
+ {
435
+ margin-top : 2.5em;
436
+ line-height : 1.25em;
437
+ }
438
+
439
+ #content h1
440
+ {
441
+ font-size : 2.0em;
442
+ }
443
+
444
+ #content h2
445
+ {
446
+ font-size : 1.8em;
447
+ }
448
+
449
+ #content h3
450
+ {
451
+ font-size : 1.6em;
452
+ }
453
+
454
+ #content h4
455
+ {
456
+ font-size : 1.4em;
457
+ }
458
+
459
+ #content h5
460
+ {
461
+ font-size : 1.2em;
462
+ }
463
+
464
+ #content h6
465
+ {
466
+ font-size : 1.0em;
467
+ }
468
+
469
+ /* tables */
470
+
471
+ table
472
+ {
473
+ border : none;
474
+ }
475
+
476
+ th,
477
+ td
478
+ {
479
+ padding : 1em;
480
+ border : 1px solid #C0C0C0;
481
+ vertical-align : top;
482
+ background-color : #FFFFFF;
483
+ }
484
+
485
+ th
486
+ {
487
+ background-color : #F5F5F5;
488
+ }
489
+
490
+ table
491
+ {
492
+ margin : auto;
493
+ }
494
+
495
+ /* document structure */
496
+
497
+ #header
498
+ {
499
+ margin-bottom : 5em;
500
+ text-align : center;
501
+ }
502
+
503
+ #abstract
504
+ {
505
+ margin-bottom : 5em;
506
+ }
507
+
508
+ #toc li
509
+ {
510
+ list-style-type : none;
511
+ }
512
+
513
+ #toc li ul
514
+ {
515
+ padding-bottom : 1em;
516
+ border-left : thick solid #F5F5F5;
517
+ _border-left : none; /* for IE6 */
518
+ }
519
+
520
+ #toc li ul:hover
521
+ {
522
+ border-color : #DCDCDC;
523
+ }
524
+
525
+ #toc > ul
526
+ {
527
+ padding-left : 1em;
528
+ }
529
+
530
+ #references
531
+ {
532
+ margin-top : 5em;
533
+ }
534
+
535
+ #footer
536
+ {
537
+ border-top : thick dotted #DCDCDC;
538
+ padding-top : 1em;
539
+ margin-top : 5em;
540
+ text-align : center;
541
+ }
542
+
543
+ /* document nodes */
544
+
545
+ .part > .title,
546
+ .chapter > .title
547
+ {
548
+ padding-bottom : 0.5em;
549
+ }
550
+
551
+ .part > .title > big,
552
+ .chapter > .title > big
553
+ {
554
+ display : block;
555
+ margin-top : 0.25em;
556
+ }
557
+
558
+ .part .title big,
559
+ .chapter .title big
560
+ {
561
+ _display : block; /* for IE6 */
562
+ _margin-top : 0.25em; /* for IE6 */
563
+ _margin-bottom : 0.75em; /* for IE6 */
564
+ }
565
+
566
+ .paragraph > .title,
567
+ .tip > .title,
568
+ .note > .title,
569
+ .caution > .title,
570
+ .warning > .title,
571
+ .important > .title,
572
+ .figure > .title,
573
+ .table > .title,
574
+ .example > .title,
575
+ .equation > .title,
576
+ .procedure > .title
577
+ {
578
+ font-size : large;
579
+ margin-top : 2em;
580
+ }
581
+
582
+ .paragraph .title,
583
+ .tip .title,
584
+ .note .title,
585
+ .caution .title,
586
+ .warning .title,
587
+ .important .title,
588
+ .figure .title,
589
+ .table .title,
590
+ .example .title,
591
+ .equation .title,
592
+ .procedure .title
593
+ {
594
+ _font-size : large; /* for IE6 */
595
+ _font-weight : bold; /* large is not bold in IE6 */
596
+ _margin-top : 2em; /* for IE6 */
597
+ }
598
+
599
+ .tip ,
600
+ .note ,
601
+ .caution ,
602
+ .warning ,
603
+ .important,
604
+ .figure ,
605
+ .table ,
606
+ .example ,
607
+ .equation ,
608
+ .procedure
609
+ {
610
+ margin : 3em;
611
+ }
612
+
613
+ .tip > .icon,
614
+ .note > .icon,
615
+ .caution > .icon,
616
+ .warning > .icon,
617
+ .important > .icon
618
+ {
619
+ float : left;
620
+ margin : 0 1em 1em 0; /* top right bottom left */
621
+ }
622
+
623
+ .tip .icon,
624
+ .note .icon,
625
+ .caution .icon,
626
+ .warning .icon,
627
+ .important .icon
628
+ {
629
+ _display : none; /* IE6 cannot display embedded images */
630
+ }
631
+
632
+ .figure > .title
633
+ {
634
+ text-align : center;
635
+ }
636
+
637
+ .figure .title
638
+ {
639
+ _text-align : center; /* for IE6 */
640
+ }
641
+
642
+ .figure > .content img
643
+ {
644
+ display : block;
645
+ margin : auto;
646
+ }
647
+
648
+ .figure .content img
649
+ {
650
+ _display : block; /* for IE6 */
651
+ _margin : auto; /* for IE6 */
652
+ }
653
+
654
+ /* headings */
655
+
656
+ h1,
657
+ h2,
658
+ h3,
659
+ h4,
660
+ h5,
661
+ h6
662
+ {
663
+ font-weight : normal;
664
+ }
665
+
666
+ /* hyperlinks */
667
+
668
+ a:link,
669
+ a:visited,
670
+ a:active
671
+ {
672
+ color : #0000FF;
673
+ font-weight : bold;
674
+ text-decoration : underline;
675
+ }
676
+
677
+ a:after
678
+ {
679
+ content : " (" attr(href) ")";
680
+ font-family : sans-serif;
681
+ font-weight : normal;
682
+ font-size : 90%;
683
+ }
684
+
685
+ a[href^="#"]:after
686
+ {
687
+ content : "";
688
+ }
689
+
690
+ a[href^="#"]
691
+ {
692
+ color : #A52A2A;
693
+ font-weight : lighter;
694
+ text-decoration : none;
695
+ font-style : italic;
696
+ }
697
+
698
+ a.toc:link,
699
+ a.toc:visited
700
+ {
701
+ color : inherit;
702
+ .color : #000000; /* for IE6 and IE7 */
703
+ font-weight : inherit;
704
+ text-decoration : none;
705
+ font-style : normal;
706
+ }
707
+
708
+ /* source code */
709
+
710
+ tt
711
+ {
712
+ color : inherit;
713
+ background-color : inherit;
714
+ font-weight : normal;
715
+ }
716
+
717
+ pre,
718
+ .code
719
+ {
720
+ border : none;
721
+ overflow : visible;
722
+ background-color : inherit;
723
+ }
724
+
725
+ /* document structure */
726
+
727
+ #lof
728
+ {
729
+ display : none;
730
+ }
731
+
732
+ /* document nodes */
733
+
734
+ .part > .title > big,
735
+ .chapter > .title > big
736
+ {
737
+ padding-bottom : 0.5em;
738
+ }
739
+
740
+ .part .title big,
741
+ .chapter .title big
742
+ {
743
+ _padding-bottom : 0.5em; /* for IE6 */
744
+ }
745
+
746
+ </style>
747
+ </head>
748
+ <body>
749
+ <div id="header">
750
+ <img src="gerbil.png" alt="Gerbil logo" title="Gerbil logo"/>
751
+ <h1 class="title">Gerbil 1.0.0 user guide</h1>
752
+ <h2 class="authors"><a href="http://snk.tuxfamily.org">Suraj N. Kurapati</a></h2>
753
+ <h3 class="date">12 January 2008</h3>
754
+ </div>
755
+
756
+
757
+ <div id="toc"><h1>Contents</h1> <ul><li>1&nbsp;&nbsp;<a id="a-606119568" href="#Introduction">Introduction</a><ul><li>1.1&nbsp;&nbsp;<a id="a-606159968" href="#Features">Features</a></li><li>1.2&nbsp;&nbsp;<a id="a-606177788" href="#License">License</a></li><li>1.3&nbsp;&nbsp;<a id="a-606188228" href="#Project-links">Project links</a></li><li>1.4&nbsp;&nbsp;<a id="a-606197328" href="#Testimonials">Testimonials</a></li></ul></li><li>2&nbsp;&nbsp;<a id="a-606221808" href="#Setup">Setup</a><ul><li>2.1&nbsp;&nbsp;<a id="a-606231778" href="#Requirements">Requirements</a></li><li>2.2&nbsp;&nbsp;<a id="a-606260568" href="#Installation">Installation</a></li><li>2.3&nbsp;&nbsp;<a id="a-606279698" href="#Manifest">Manifest</a></li><li>2.4&nbsp;&nbsp;<a id="a-606366508" href="#Version-numbering-system">Version numbering system</a></li></ul></li><li>3&nbsp;&nbsp;<a id="a-605821358" href="#Theory-of-operation">Theory of operation</a><ul><li>3.1&nbsp;&nbsp;<a id="a-605973608" href="#Nodes">Nodes</a><ul><li>3.1.1&nbsp;&nbsp;<a id="a-606391018" 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-606400128" href="#SpecFile">Format specification file</a><ul><li>3.2.1&nbsp;&nbsp;<a id="a-606411538" href="#SpecFile.nodes">Node definition</a><ul><li>3.2.1.1&nbsp;&nbsp;<a id="a-606416068" href="#SpecFile.nodes.output">Node output template</a></li></ul></li><li>3.2.2&nbsp;&nbsp;<a id="a-606422248" href="#SpecFile.output">Document output template</a></li><li>3.2.3&nbsp;&nbsp;<a id="a-606427348" href="#HelloWorld">Creating your own custom format</a></li></ul></li></ul></li><li>4&nbsp;&nbsp;<a id="a-606480938" href="#Usage">Usage</a><ul><li>4.1&nbsp;&nbsp;<a id="a-606487938" href="#include">The <strong>include</strong> directive</a></li><li>4.2&nbsp;&nbsp;<a id="a-606495288" 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-606500788" href="#Formats">Formats</a><ul><li>5.1&nbsp;&nbsp;<a id="a-606511128" href="#html">HTML</a><ul><li>5.1.1&nbsp;&nbsp;<a id="a-606515908" href="#Text-to-HTML-conversion">Text to HTML conversion</a><ul><li>5.1.1.1&nbsp;&nbsp;<a id="a-606523368" href="#Syntax-coloring-for-source-code">Syntax coloring for source code</a><ul><li>5.1.1.1.1&nbsp;&nbsp;<a id="a-606526838" href="#Specifying-the-programming-language">Specifying the programming language</a></li></ul></li><li>5.1.1.2&nbsp;&nbsp;<a id="a-606530408" href="#Smart-sizing-of-source-code">Smart sizing of source code</a></li><li>5.1.1.3&nbsp;&nbsp;<a id="a-606533778" href="#Protecting-verbatim-text">Protecting verbatim text</a></li></ul></li><li>5.1.2&nbsp;&nbsp;<a id="a-606537558" href="#Parameters">Parameters</a></li><li>5.1.3&nbsp;&nbsp;<a id="a-606544438" href="#Methods">Methods</a></li><li>5.1.4&nbsp;&nbsp;<a id="a-605947998" href="#html.nodes">Nodes</a><ul><li>5.1.4.1&nbsp;&nbsp;<a id="a-606977348" href="#Structure">Structure</a><ul><li>5.1.4.1.1&nbsp;&nbsp;<a id="a-606979058" href="#html.nodes.header">header</a></li><li>5.1.4.1.2&nbsp;&nbsp;<a id="a-606981438" href="#html.nodes.footer">footer</a></li><li>5.1.4.1.3&nbsp;&nbsp;<a id="a-606983888" href="#html.nodes.abstract">abstract</a></li><li>5.1.4.1.4&nbsp;&nbsp;<a id="a-606986568" href="#html.nodes.xref">xref</a></li></ul></li><li>5.1.4.2&nbsp;&nbsp;<a id="a-607003538" href="#Organization">Organization</a><ul><li>5.1.4.2.1&nbsp;&nbsp;<a id="a-607006398" href="#html.nodes.part">part</a><ul><li>5.1.4.2.1.1&nbsp;&nbsp;<a id="a-607008508" href="#An-example">An example</a></li></ul></li><li>5.1.4.2.2&nbsp;&nbsp;<a id="a-607013408" href="#html.nodes.chapter">chapter</a><ul><li>5.1.4.2.2.1&nbsp;&nbsp;<a id="a-607015098" href="#An-example-607320788">An example</a></li></ul></li><li>5.1.4.2.3&nbsp;&nbsp;<a id="a-607017608" href="#html.nodes.section">section</a><ul><li>5.1.4.2.3.1&nbsp;&nbsp;<a id="a-607019328" href="#An-example-607375788">An example</a></li></ul></li><li>5.1.4.2.4&nbsp;&nbsp;<a id="a-607022188" href="#html.nodes.paragraph">paragraph</a></li></ul></li><li>5.1.4.3&nbsp;&nbsp;<a id="a-607029428" href="#Admonitions">Admonitions</a><ul><li>5.1.4.3.1&nbsp;&nbsp;<a id="a-607044968" href="#html.nodes.warning">warning</a></li><li>5.1.4.3.2&nbsp;&nbsp;<a id="a-607058408" href="#html.nodes.caution">caution</a></li><li>5.1.4.3.3&nbsp;&nbsp;<a id="a-607083158" href="#html.nodes.important">important</a></li><li>5.1.4.3.4&nbsp;&nbsp;<a id="a-607106368" href="#html.nodes.note">note</a></li><li>5.1.4.3.5&nbsp;&nbsp;<a id="a-607126398" href="#html.nodes.tip">tip</a></li></ul></li><li>5.1.4.4&nbsp;&nbsp;<a id="a-607146608" href="#Auxilary-materials">Auxilary materials</a><ul><li>5.1.4.4.1&nbsp;&nbsp;<a id="a-607156758" href="#html.nodes.figure">figure</a></li><li>5.1.4.4.2&nbsp;&nbsp;<a id="a-607167508" href="#html.nodes.table">table</a></li><li>5.1.4.4.3&nbsp;&nbsp;<a id="a-607181668" href="#html.nodes.example">example</a></li><li>5.1.4.4.4&nbsp;&nbsp;<a id="a-607192218" href="#html.nodes.equation">equation</a></li><li>5.1.4.4.5&nbsp;&nbsp;<a id="a-607200198" href="#html.nodes.procedure">procedure</a></li></ul></li><li>5.1.4.5&nbsp;&nbsp;<a id="a-607214698" href="#Bibliography">Bibliography</a><ul><li>5.1.4.5.1&nbsp;&nbsp;<a id="a-607220038" href="#html.nodes.reference">reference</a></li><li>5.1.4.5.2&nbsp;&nbsp;<a id="a-607228848" href="#html.nodes.cite">cite</a></li></ul></li></ul></li></ul></li><li>5.2&nbsp;&nbsp;<a id="a-607236588" href="#text">Plain text</a></li><li>5.3&nbsp;&nbsp;<a id="a-607238658" href="#latex">LaTeX</a></li><li>5.4&nbsp;&nbsp;<a id="a-607240758" href="#man">UNIX man page</a></li></ul></li></ul></div>
758
+
759
+ <div id="lof"><h1>Cautions</h1> <ol><li><a id="a-607073178" href="#An-example-607498328">An example</a></li></ol><h1>Equations</h1> <ol><li><a id="a-607196278" href="#An-example-607221568">An example</a></li></ol><h1>Examples</h1> <ol><li><a id="a-606456098" href="#HelloWorld.spec">HelloWorld format specification file</a></li><li><a id="a-606464288" href="#HelloWorld.input">Input document for HelloWorld format</a></li><li><a id="a-606473548" href="#HelloWorld.output">Output of HelloWorld format</a></li><li><a id="a-607184898" href="#An-example-607042088">An example</a></li></ol><h1>Figures</h1> <ol><li><a id="a-607164328" href="#An-example-607631908">An example</a></li></ol><h1>Importants</h1> <ol><li><a id="a-607095998" href="#An-example-607529068">An example</a></li></ol><h1>Notes</h1> <ol><li><a id="a-606154428" href="#See-the-source-of-this-guide">See the source of this guide</a></li><li><a id="a-606451038" href="#Author-s-note-about-documentation-quality">Author&#8217;s note about documentation quality</a></li><li><a id="a-607119428" href="#An-example-607565368">An example</a></li></ol><h1>Procedures</h1> <ol><li><a id="a-607207998" href="#An-example-607256878">An example</a></li></ol><h1>Tables</h1> <ol><li><a id="a-607171508" href="#An-example-607655288">An example</a></li></ol><h1>Tips</h1> <ol><li><a id="a-607138628" href="#An-example-607596398">An example</a></li></ol><h1>Warnings</h1> <ol><li><a id="a-607049428" href="#An-example-607469688">An example</a></li></ol></div>
760
+
761
+ <div id="content">
762
+ <div class="chapter">
763
+ <h1 class="title">
764
+ Chapter
765
+ <a class="toc" id="Introduction" href="#a-606119568">1</a>
766
+
767
+ <br/>
768
+
769
+ <big>Introduction</big>
770
+ </h1>
771
+
772
+ <div class="content"><p>Gerbil is an <strong>extensible document generator</strong> based on <a href="http://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html#S2">eRuby</a> that outputs to any format you want: <a class="xref" href="#html">HTML (web page)</a>, <a class="xref" href="#latex">LaTeX</a>, <a class="xref" href="#man">UNIX man page</a>, <a class="xref" href="#text">plain text</a>, <a class="xref" href="#HelloWorld">your own custom format</a>, and so on.</p>
773
+
774
+
775
+ <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>
776
+
777
+
778
+ <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 Gerbil&#8217;s <a href="http://darcs.net">Darcs</a> repository by running the following command:</p>
779
+
780
+
781
+ <pre>darcs get http://gerbil.rubyforge.org/src gerbil</pre>
782
+
783
+
784
+ <p><div class="note">
785
+ <p class="title"><a class="toc" id="See-the-source-of-this-guide" href="#a-606154428">Note 1</a>.&nbsp;&nbsp;See the source of this guide</p>
786
+
787
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
788
+ fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
789
+ Lmlua3NjYXBlLm9yZ5vuPBoAAAmCSURBVGiB1ZltbJXlGcd/9/N+Tlssh1Ja
790
+ hNEJaK2UFxFptqC2wGCSTWdM3DSQzWVDEzVxy4xfjNkHQ8xMnEEXviwZ62Rj
791
+ 6siWTcVBZeJA5yBQpOWlKNZSaEvpyyk95zwv970Pp+fY5/S0tFBkXsmTc67n
792
+ eu77+f/u6349Ryil+Cqbdq0FXKldEuClp+3nfvVz/eJLT9vPXQv/igFc13tq
793
+ w4/ujLqu99S18C9lRr6br7zyyi2WZb2eSqUqpVSUlE5BSmW8/PLL6sv2bdtu
794
+ TiaT9z/++ONN486AZVm/XLiw+qZlt98Wun/bsqUhf+nSJSF/ya2LQv6ixQtD
795
+ /sJFC0L+guqqkF91S2XIr6y6idlfm1Vp2/Yz+XSOCiCEqDJMQ3ze+hm6bnC+
796
+ sx9d1zl+vBlN1znf2Y+m6TQfa0LTvvCbmo6G/KNHj4T8Ix83hvzGI4dD/uHG
797
+ QyG/peUElmUJIURlPp2jAkgpiwXg+R5FM9dRv3U/heXrkFJSWHZ32i/7NlJK
798
+ CsrWUr91P9EZa5FSEildQ/3W/USmfwspJc701dRv3Y9dshopJda0VdRv3Y8V
799
+ W4mUEjO2kvqt+zCm1iGlxCiu5fe/24defBeu6yHSkopHAxD51oEtW7bEb1++
800
+ rLC5+ShBEKCU+uJCgWJCvlJD9/iinlw/o2O4b5omixct4fixkz2PPPJILB9A
801
+ 3kEspYzOmjWbxYuWjIiNtfBdjdjg4EWam44XjhYf0YU2b948xTTNoGRaSbjl
802
+ R2mlqx0rLCxC0zR98+bNdj6AERkIgiDmOI6nlDK/7NbOF1NKYdt2KplMxoCz
803
+ ufERAKZpxiKRSDC8wnfeeWfUl06W0FxbtWpV9tloNOoPDg6OD0BKGYtEIqGX
804
+ rV69etKFXio2vGs5jqOklOMbxJqmxaLRqBheSRAEo77sSoWOZkKI7DORSERo
805
+ mjY+AKVULBKJGMMB3n333Uum/XK35aOVq6ury2YiEonoSqnxAziOYw0HqKur
806
+ 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
844
+ " alt="note" class="icon"/>
845
+
846
+ <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>
847
+ </div>
848
+ <div class="section">
849
+ <h2 class="title">
850
+ <a class="toc" id="Features" href="#a-606159968">1.1</a>&nbsp;&nbsp;Features
851
+ </h2>
852
+ <div class="content"><ul>
853
+ <li>Composed of <strong>less than 200 lines</strong> of code!</li>
854
+ <li>Lets you <a class="xref" href="#HelloWorld"><strong>define your own</strong> document format</a>.</li>
855
+ <li>Supports <strong>any text-based output</strong> format.</li>
856
+ <li>Generates a <strong>table of contents</strong> automatically.</li>
857
+ </ul></div>
858
+ </div>
859
+ <div class="section">
860
+ <h2 class="title">
861
+ <a class="toc" id="License" href="#a-606177788">1.2</a>&nbsp;&nbsp;License
862
+ </h2>
863
+ <div class="content"><p>Copyright 2006 Suraj N. Kurapati &lt;SNK at GNA dot ORG&gt;</p>
864
+
865
+
866
+ <p>Permission is hereby granted, free of charge, to any person obtaining a
867
+ copy of this software and associated documentation files (the &quot;Software&quot;),
868
+ to deal in the Software without restriction, including without limitation
869
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
870
+ and/or sell copies of the Software, and to permit persons to whom the
871
+ Software is furnished to do so, subject to the following conditions:</p>
872
+
873
+
874
+ <ul>
875
+ <li>All copies and substantial portions of the Software (the &quot;Derivatives&quot;)
876
+ and their corresponding machine-readable source code (the &quot;Code&quot;) must
877
+ include the above copyright notice and this permission notice.</li>
878
+ </ul>
879
+
880
+
881
+ <ul>
882
+ <li>Upon distribution, the Derivatives must be accompanied either by the Code
883
+ or&mdash;provided that the Code is obtainable for no more than the cost of
884
+ distribution plus a nominal fee&mdash;by information on how to obtain the Code.</li>
885
+ </ul>
886
+
887
+
888
+ <p><span class="caps">THE SOFTWARE IS PROVIDED</span> &quot;AS IS&quot;, <span class="caps">WITHOUT WARRANTY OF ANY KIND</span>, EXPRESS OR
889
+ IMPLIED, INCLUDING <span class="caps">BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY</span>, FITNESS
890
+ <span class="caps">FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT</span>. IN <span class="caps">NO EVENT SHALL THE AUTHORS OR</span>
891
+ <span class="caps">COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM</span>, DAMAGES <span class="caps">OR OTHER LIABILITY</span>, WHETHER
892
+ <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>
893
+ <span class="caps">CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE</span>.</p></div>
894
+ </div>
895
+ <div class="section">
896
+ <h2 class="title">
897
+ <a class="toc" id="Project-links" href="#a-606188228">1.3</a>&nbsp;&nbsp;Project links
898
+ </h2>
899
+ <div class="content"><ul>
900
+ <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" /> &#8211; project news and release announcements.</li>
901
+ <li><a href="http://rubyforge.org/frs/?group_id=4905">Download area</a> &#8211; place to obtain release packages.</li>
902
+ <li><a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">Mailing list</a> &#8211; ask questions, get help, discuss.</li>
903
+ </ul></div>
904
+ </div>
905
+ <div class="section">
906
+ <h2 class="title">
907
+ <a class="toc" id="Testimonials" href="#a-606197328">1.4</a>&nbsp;&nbsp;Testimonials
908
+ </h2>
909
+ <div class="content"><blockquote>
910
+ <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>
911
+ </blockquote></div>
912
+ </div></p></div>
913
+ </div>
914
+ <div class="chapter">
915
+ <h1 class="title">
916
+ Chapter
917
+ <a class="toc" id="Setup" href="#a-606221808">2</a>
918
+
919
+ <br/>
920
+
921
+ <big>Setup</big>
922
+ </h1>
923
+
924
+ <div class="content"><div class="section">
925
+ <h2 class="title">
926
+ <a class="toc" id="Requirements" href="#a-606231778">2.1</a>&nbsp;&nbsp;Requirements
927
+ </h2>
928
+ <div class="content"><p>Your system needs the following software to run Gerbil.</p>
929
+
930
+
931
+ <table border="1">
932
+ <tr>
933
+ <th>Software </th>
934
+ <th>Notes </th>
935
+ </tr>
936
+ <tr>
937
+ <td> <a href="http://ruby-lang.org">Ruby</a> </td>
938
+ <td> Version 1.8.x is required. </td>
939
+ </tr>
940
+ <tr>
941
+ <td> <a href="http://whytheluckystiff.net/ruby/redcloth/">RedCloth</a> </td>
942
+ <td> Required by the <a class="xref" href="#html">default HTML format</a>. </td>
943
+ </tr>
944
+ <tr>
945
+ <td> <a href="http://coderay.rubychan.de/">CodeRay</a> </td>
946
+ <td> Required by the <a class="xref" href="#html">default HTML format</a>. </td>
947
+ </tr>
948
+ </table>
949
+
950
+
951
+
952
+
953
+ <p>If your system has <a href="http://rubygems.org/">RubyGems</a>, then you can install RedCloth and CodeRay by running the following command:</p>
954
+
955
+
956
+ <pre>gem install RedCloth coderay</pre></div>
957
+ </div>
958
+ <div class="section">
959
+ <h2 class="title">
960
+ <a class="toc" id="Installation" href="#a-606260568">2.2</a>&nbsp;&nbsp;Installation
961
+ </h2>
962
+ <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>
963
+
964
+
965
+ <pre>gem install gerbil
966
+ gerbil -v</pre>
967
+
968
+
969
+ Otherwise, follow these instructions:
970
+ <ol>
971
+ <li>Download the newest release package from <a href="http://rubyforge.org/frs/?group_id=4905">the download area</a>.</li>
972
+ <li>Extract the release package anywhere you want on your system.</li>
973
+ <li>Go inside the extracted directory and run the following command:
974
+ <pre>ruby bin/gerbil -v</pre></li>
975
+ </ol>
976
+
977
+
978
+ <p>If the installation was successful, then you will see output like this: <pre>Gerbil 1.0.0 (2008-01-12) http://gerbil.rubyforge.org /home/sun/src/gerbil
979
+ </pre></p>
980
+
981
+
982
+ <p>Otherwise, you can ask for help in the <a href="http://rubyforge.org/mailman/listinfo/gerbil-talk">project mailing list</a>.</p></div>
983
+ </div>
984
+ <div class="section">
985
+ <h2 class="title">
986
+ <a class="toc" id="Manifest" href="#a-606279698">2.3</a>&nbsp;&nbsp;Manifest
987
+ </h2>
988
+ <div class="content">Now that Gerbil is installed on your system, let us examine its installation directory.
989
+ <ul>
990
+ <li>If you installed Gerbil manually, then you already know the location of its installation directory.</li>
991
+ <li>If you installed Gerbil using RubyGems, then run <pre>gerbil -v</pre> and select the right-most item in the output&mdash;that is the path of Gerbil&#8217;s installation directory.</li>
992
+ </ul>
993
+
994
+
995
+ Inside Gerbil&#8217;s installation directory, you will see (among other things) the following items:
996
+ <ul>
997
+ <li><tt>bin/</tt> &#8211; contains executable programs.
998
+ <ul>
999
+ <li><tt>gerbil</tt> &#8211; the main source code of Gerbil.</li>
1000
+ </ul>
1001
+ </li>
1002
+ <li><tt>fmt/</tt> &#8211; contains the predefined set of format specification files (see <a class="xref" href="#SpecFile">Section 3.2: <em>Format specification file</em></a>). If you ever need to install your custom format specification file globally, put it inside this directory.
1003
+ <ul>
1004
+ <li><tt>latex.yaml</tt> &#8211; high-quality typesetting</li>
1005
+ <li><tt>html.yaml</tt> &#8211; web page for the Internet</li>
1006
+ <li><tt>man.yaml</tt> &#8211; manual page for UNIX</li>
1007
+ <li><tt>text.yaml</tt> &#8211; plain text, nothing fancy</li>
1008
+ </ul>
1009
+ </li>
1010
+ <li><tt>lib/</tt> &#8211; Gerbil automatically adds this directory to Ruby&#8217;s load path.
1011
+ <ul>
1012
+ <li><tt>gerbil.rb</tt> &#8211; project version information.</li>
1013
+ <li><tt>gerbil/</tt>
1014
+ <ul>
1015
+ <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>
1016
+ <li><tt>rdoc.rb</tt> &#8211; provides RDoc parse trees to Ruby code.</li>
1017
+ </ul>
1018
+ </li>
1019
+ </ul>
1020
+ </li>
1021
+ <li><tt>doc/</tt> &#8211; contains the user guide and other documentation.
1022
+ <ul>
1023
+ <li><tt>gerbil.svg</tt> &#8211; the source file of the Gerbil logo.</li>
1024
+ <li><tt>guide.erb</tt> &#8211; the source file of this user guide.</li>
1025
+ </ul>
1026
+ </li>
1027
+ <li><tt>LICENSE</tt> &#8211; the project license and copyright notice.</li>
1028
+ </ul></div>
1029
+ </div>
1030
+ <div class="section">
1031
+ <h2 class="title">
1032
+ <a class="toc" id="Version-numbering-system" href="#a-606366508">2.4</a>&nbsp;&nbsp;Version numbering system
1033
+ </h2>
1034
+ <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.
1035
+
1036
+
1037
+ <table border="1">
1038
+ <tr>
1039
+ <td> Version number components: </td>
1040
+ <th>Major </th>
1041
+ <th>Minor </th>
1042
+ <th>Patch </th>
1043
+ </tr>
1044
+ <tr>
1045
+ <th>Backwards compatible? </th>
1046
+ <td> no </td>
1047
+ <td> yes </td>
1048
+ <td> yes </td>
1049
+ </tr>
1050
+ <tr>
1051
+ <th>New features? </th>
1052
+ <td> yes </td>
1053
+ <td> yes </td>
1054
+ <td> no </td>
1055
+ </tr>
1056
+ <tr>
1057
+ <th>Bug fixes? </th>
1058
+ <td> yes </td>
1059
+ <td> yes </td>
1060
+ <td> yes </td>
1061
+ </tr>
1062
+ </table></div>
1063
+ </div></div>
1064
+ </div>
1065
+ <div class="chapter">
1066
+ <h1 class="title">
1067
+ Chapter
1068
+ <a class="toc" id="Theory-of-operation" href="#a-605821358">3</a>
1069
+
1070
+ <br/>
1071
+
1072
+ <big>Theory of operation</big>
1073
+ </h1>
1074
+
1075
+ <div class="content">When you run Gerbil, it operates in the following order:
1076
+ <ol>
1077
+ <li>loads the <a class="xref" href="#SpecFile">format specification file</a></li>
1078
+ <li>creates an <strong>input document</strong> by:
1079
+ <ul>
1080
+ <li>reading the input (the content of either the input file or the standard input stream) into memory</li>
1081
+ <li>evaluating <a class="xref" href="#include">include directives</a> in the input</li>
1082
+ </ul>
1083
+ </li>
1084
+ <li>transforms the input document into a <strong>processed document</strong> by:
1085
+ <ul>
1086
+ <li>building a &#8220;document tree&#8221; data-structure from <a class="xref" href="#Nodes">nodes</a> present in the input document</li>
1087
+ <li>replacing every node in the input document with the result of its <a class="xref" href="#SpecFile.nodes.output">node output template</a></li>
1088
+ </ul>
1089
+ </li>
1090
+ <li>transforms the processed document into an <strong>output document</strong> according to the <a class="xref" href="#SpecFile.output">document output template</a></li>
1091
+ <li>prints the output document to the standard output stream</li>
1092
+ </ol>
1093
+
1094
+
1095
+ <p>Although there is only one document being processed here, we refer to it using three distinct terms (<strong>input</strong>, <strong>processed</strong>, and <strong>output</strong>). This distinction helps us talk about the document in a particular state because the content of the document changes radically with every transformation&#8212;thus it would be ambiguous to say &#8220;the input document&#8221; all the time.</p>
1096
+
1097
+
1098
+ <p><div class="section">
1099
+ <h2 class="title">
1100
+ <a class="toc" id="Nodes" href="#a-605973608">3.1</a>&nbsp;&nbsp;Nodes
1101
+ </h2>
1102
+ <div class="content"><p>A node is a block of text that appears like this:</p>
1103
+
1104
+
1105
+ <pre>&lt;% node_type node_argument1, node_argument2, ... do |node_object| %&gt;
1106
+ node_content
1107
+ &lt;% end %&gt;</pre>
1108
+
1109
+
1110
+ <p>Or like this:</p>
1111
+
1112
+
1113
+ <pre>&lt;% node_type node_argument1, node_argument2, ... do %&gt;
1114
+ node_content
1115
+ &lt;% end %&gt;</pre>
1116
+
1117
+
1118
+ <p>Or like this:</p>
1119
+
1120
+
1121
+ <pre>&lt;%= node_type node_argument1, node_argument2, ... %&gt;</pre>
1122
+
1123
+
1124
+ <p>Technically, what you see above is really a method invocation made up of the following components:</p>
1125
+
1126
+
1127
+ <table border="1">
1128
+ <tr>
1129
+ <th>Component </th>
1130
+ <th>Description </th>
1131
+ </tr>
1132
+ <tr>
1133
+ <td> node_type </td>
1134
+ <td> name of the method being invoked </td>
1135
+ </tr>
1136
+ <tr>
1137
+ <td> node_argument1, node_argument2, ... </td>
1138
+ <td> arguments for the method invocation </td>
1139
+ </tr>
1140
+ <tr>
1141
+ <td> node_content </td>
1142
+ <td> a block argument being passed to the method invocation </td>
1143
+ </tr>
1144
+ <tr>
1145
+ <td> node_object </td>
1146
+ <td> a <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> object (see <a class="xref" href="#Node.class">Section 3.1.1: <em>The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class</em></a>) representing this method invocation </td>
1147
+ </tr>
1148
+ </table>
1149
+
1150
+
1151
+
1152
+
1153
+ <p>A <a class="xref" href="#SpecFile">format specification file</a> defines what types of nodes an input document may use.</p>
1154
+
1155
+
1156
+ <p><div class="section">
1157
+ <h3 class="title">
1158
+ <a class="toc" id="Node.class" href="#a-606391018">3.1.1</a>&nbsp;&nbsp;The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class
1159
+ </h3>
1160
+ <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>
1161
+
1162
+
1163
+ <table border="1">
1164
+ <tr>
1165
+ <th>Property </th>
1166
+ <th>Type </th>
1167
+ <th>Description </th>
1168
+ </tr>
1169
+ <tr>
1170
+ <td> type </td>
1171
+ <td> String </td>
1172
+ <td> Name of the type of this node. </td>
1173
+ </tr>
1174
+ <tr>
1175
+ <td> args </td>
1176
+ <td> Array </td>
1177
+ <td> Arguments passed to this node. </td>
1178
+ </tr>
1179
+ <tr>
1180
+ <td> content </td>
1181
+ <td> String </td>
1182
+ <td> The block of text passed to this node. </td>
1183
+ </tr>
1184
+ <tr>
1185
+ <td> output </td>
1186
+ <td> String </td>
1187
+ <td> Result of the node output template for the content of this node. </td>
1188
+ </tr>
1189
+ <tr>
1190
+ <td> digest </td>
1191
+ <td> String </td>
1192
+ <td> A unique identifier for the content of this node. </td>
1193
+ </tr>
1194
+ <tr>
1195
+ <td> trace </td>
1196
+ <td> Array </td>
1197
+ <td> A stack trace describing the location of this node in the input document. </td>
1198
+ </tr>
1199
+ <tr>
1200
+ <td> index </td>
1201
+ <td> String </td>
1202
+ <td> A LaTeX-style section number for this node. This property is only present if the &#8220;index&#8221; parameter is enabled in the definition of this type of node. </td>
1203
+ </tr>
1204
+ <tr>
1205
+ <td> number </td>
1206
+ <td> Integer </td>
1207
+ <td> An order-of-occurrence number for this node. This property is only present if the &#8220;number&#8221; parameter is enabled in the definition of this type of node. </td>
1208
+ </tr>
1209
+ <tr>
1210
+ <td> depth </td>
1211
+ <td> Integer </td>
1212
+ <td> Distance from the root of the document tree to this node. </td>
1213
+ </tr>
1214
+ <tr>
1215
+ <td> parent </td>
1216
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1217
+ <td> The <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> object which contains this node. The value of this property will be <code class="code"><span style="color:#038; font-weight:bold">nil</span></code> if this node is a root of the document tree. </td>
1218
+ </tr>
1219
+ <tr>
1220
+ <td> children </td>
1221
+ <td> Array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1222
+ <td> List of child nodes from the document tree. </td>
1223
+ </tr>
1224
+ </table>
1225
+
1226
+
1227
+
1228
+
1229
+ <p>Furthermore, the <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> class is derived from <a href="http://www.ruby-doc.org/stdlib/libdoc/ostruct/rdoc/classes/OpenStruct.html">Ruby&#8217;s <code class="code"><span style="color:#036; font-weight:bold">OpenStruct</span></code> class</a>, so you can define new properties for <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> objects dynamically.</p></div>
1230
+ </div></p></div>
1231
+ </div>
1232
+ <div class="section">
1233
+ <h2 class="title">
1234
+ <a class="toc" id="SpecFile" href="#a-606400128">3.2</a>&nbsp;&nbsp;Format specification file
1235
+ </h2>
1236
+ <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>
1237
+
1238
+
1239
+ <table border="1">
1240
+ <tr>
1241
+ <th>Parameter </th>
1242
+ <th>Type </th>
1243
+ <th>Description </th>
1244
+ </tr>
1245
+ <tr>
1246
+ <td> desc </td>
1247
+ <td> String </td>
1248
+ <td> A short description of the output format. </td>
1249
+ </tr>
1250
+ <tr>
1251
+ <td> code </td>
1252
+ <td> String </td>
1253
+ <td> Ruby code that will be loaded before the input document is processed. This source code will be evaluated inside the main Gerbil executable, so any file-system or path-dependent portions of this source code should take appropriate precautions. </td>
1254
+ </tr>
1255
+ <tr>
1256
+ <td> nodes </td>
1257
+ <td> Hash </td>
1258
+ <td> A listing of <a class="xref" href="#SpecFile.nodes">node definitions</a>. </td>
1259
+ </tr>
1260
+ <tr>
1261
+ <td> output </td>
1262
+ <td> String </td>
1263
+ <td> An eRuby template for the final output document. See <a class="xref" href="#SpecFile.output">Section 3.2.2: <em>Document output template</em></a>. </td>
1264
+ </tr>
1265
+ </table>
1266
+
1267
+
1268
+
1269
+
1270
+ <p><div class="section">
1271
+ <h3 class="title">
1272
+ <a class="toc" id="SpecFile.nodes" href="#a-606411538">3.2.1</a>&nbsp;&nbsp;Node definition
1273
+ </h3>
1274
+ <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>
1275
+
1276
+
1277
+ <table border="1">
1278
+ <tr>
1279
+ <th>Parameter </th>
1280
+ <th>Type </th>
1281
+ <th>Description </th>
1282
+ </tr>
1283
+ <tr>
1284
+ <td> index </td>
1285
+ <td> Boolean </td>
1286
+ <td> Assign a LaTeX-style section number to this node? </td>
1287
+ </tr>
1288
+ <tr>
1289
+ <td> number </td>
1290
+ <td> Boolean </td>
1291
+ <td> Assign an order-of-occurrence number to this node? </td>
1292
+ </tr>
1293
+ <tr>
1294
+ <td> silent </td>
1295
+ <td> Boolean </td>
1296
+ <td> Suppress the output of this node? </td>
1297
+ </tr>
1298
+ <tr>
1299
+ <td> output </td>
1300
+ <td> String </td>
1301
+ <td> An eRuby template for the content of this node. See <a class="xref" href="#SpecFile.nodes.output">Section 3.2.1.1: <em>Node output template</em></a>. </td>
1302
+ </tr>
1303
+ </table>
1304
+
1305
+
1306
+
1307
+
1308
+ <p>You may define additional parameters in a node definition if you want.</p>
1309
+
1310
+
1311
+ <p><div class="section">
1312
+ <h4 class="title">
1313
+ <a class="toc" id="SpecFile.nodes.output" href="#a-606416068">3.2.1.1</a>&nbsp;&nbsp;Node output template
1314
+ </h4>
1315
+ <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>
1316
+
1317
+
1318
+ <p>The following variables are available for use in this template:</p>
1319
+
1320
+
1321
+ <table border="1">
1322
+ <tr>
1323
+ <th>Variable </th>
1324
+ <th>Type </th>
1325
+ <th>Description </th>
1326
+ </tr>
1327
+ <tr>
1328
+ <td> @node </td>
1329
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1330
+ <td> the node for which this template is being evaluated </td>
1331
+ </tr>
1332
+ <tr>
1333
+ <td> @roots </td>
1334
+ <td> Array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1335
+ <td> All root nodes in the document tree. </td>
1336
+ </tr>
1337
+ <tr>
1338
+ <td> @nodes </td>
1339
+ <td> Array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1340
+ <td> All nodes in the document tree. </td>
1341
+ </tr>
1342
+ <tr>
1343
+ <td> @types </td>
1344
+ <td> Hash </td>
1345
+ <td> Mapping from node type (String) to array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> objects having that type. </td>
1346
+ </tr>
1347
+ <tr>
1348
+ <td> @spec </td>
1349
+ <td> Hash </td>
1350
+ <td> Data from the format specification file. </td>
1351
+ </tr>
1352
+ </table>
1353
+
1354
+
1355
+
1356
+
1357
+ <p>Gerbil also provides the following mappings inside the <code class="code"><span style="color:#33B">@spec</span></code> variable:</p>
1358
+
1359
+
1360
+ <table border="1">
1361
+ <tr>
1362
+ <th>Expression </th>
1363
+ <th>Type </th>
1364
+ <th>Description </th>
1365
+ </tr>
1366
+ <tr>
1367
+ <td> <code class="code"><span style="color:#33B">@spec</span>[<span style="color:#A60">:name</span>]</code> </td>
1368
+ <td> String </td>
1369
+ <td> Short-hand name of the current format. </td>
1370
+ </tr>
1371
+ <tr>
1372
+ <td> <code class="code"><span style="color:#33B">@spec</span>[<span style="color:#A60">:file</span>]</code> </td>
1373
+ <td> String </td>
1374
+ <td> Path of the current format specification file. </td>
1375
+ </tr>
1376
+ </table></div>
1377
+ </div></p></div>
1378
+ </div>
1379
+ <div class="section">
1380
+ <h3 class="title">
1381
+ <a class="toc" id="SpecFile.output" href="#a-606422248">3.2.2</a>&nbsp;&nbsp;Document output template
1382
+ </h3>
1383
+ <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>
1384
+
1385
+
1386
+ <p>The following variables are available for use in this template:</p>
1387
+
1388
+
1389
+ <table border="1">
1390
+ <tr>
1391
+ <th>Variable </th>
1392
+ <th>Type </th>
1393
+ <th>Description </th>
1394
+ </tr>
1395
+ <tr>
1396
+ <td> @content </td>
1397
+ <td> String </td>
1398
+ <td> Content of the processed document. </td>
1399
+ </tr>
1400
+ <tr>
1401
+ <td> @roots </td>
1402
+ <td> Array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1403
+ <td> All root nodes in the document tree. </td>
1404
+ </tr>
1405
+ <tr>
1406
+ <td> @nodes </td>
1407
+ <td> Array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> </td>
1408
+ <td> All nodes in the document tree. </td>
1409
+ </tr>
1410
+ <tr>
1411
+ <td> @types </td>
1412
+ <td> Hash </td>
1413
+ <td> Mapping from node type (String) to array of <code class="code"><span style="color:#036; font-weight:bold">Node</span></code> objects having that type. </td>
1414
+ </tr>
1415
+ <tr>
1416
+ <td> @spec </td>
1417
+ <td> Hash </td>
1418
+ <td> Data from the format specification file. </td>
1419
+ </tr>
1420
+ </table>
1421
+
1422
+
1423
+
1424
+
1425
+ <p>Gerbil also provides the following mappings inside the <code class="code"><span style="color:#33B">@spec</span></code> variable:</p>
1426
+
1427
+
1428
+ <table border="1">
1429
+ <tr>
1430
+ <th>Expression </th>
1431
+ <th>Type </th>
1432
+ <th>Description </th>
1433
+ </tr>
1434
+ <tr>
1435
+ <td> <code class="code"><span style="color:#33B">@spec</span>[<span style="color:#A60">:name</span>]</code> </td>
1436
+ <td> String </td>
1437
+ <td> Short-hand name of the current format. </td>
1438
+ </tr>
1439
+ <tr>
1440
+ <td> <code class="code"><span style="color:#33B">@spec</span>[<span style="color:#A60">:file</span>]</code> </td>
1441
+ <td> String </td>
1442
+ <td> Path of the current format specification file. </td>
1443
+ </tr>
1444
+ </table></div>
1445
+ </div>
1446
+ <div class="section">
1447
+ <h3 class="title">
1448
+ <a class="toc" id="HelloWorld" href="#a-606427348">3.2.3</a>&nbsp;&nbsp;Creating your own custom format
1449
+ </h3>
1450
+ <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:
1451
+ <ul>
1452
+ <li>We define a <code class="code">generate_name()</code> method in <a class="xref" href="#HelloWorld.spec">Example 1: <em>HelloWorld format specification file</em></a> and make use of it in the <a class="xref" href="#HelloWorld.input">Example 2: <em>Input document for HelloWorld format</em></a>. This shows how to provide format-specific functionality to an input document.</li>
1453
+ <li>We define a <code class="code"><span style="color:#d70; font-weight:bold">$style</span></code> variable in <a class="xref" href="#HelloWorld.input">Example 2: <em>Input document for HelloWorld format</em></a> and make use of it in <a class="xref" href="#HelloWorld.spec">Example 1: <em>HelloWorld format specification file</em></a>. This shows how to make your format accept parameters from an input document.</li>
1454
+ </ul>
1455
+
1456
+
1457
+ To run this example, perform the following steps:
1458
+ <ol>
1459
+ <li>Save the code shown in <a class="xref" href="#HelloWorld.spec">Example 1: <em>HelloWorld format specification file</em></a> to a file named <tt>HelloWorld.spec</tt></li>
1460
+ <li>Save the text shown in <a class="xref" href="#HelloWorld.input">Example 2: <em>Input document for HelloWorld format</em></a> to a file named <tt>HelloWorld.input</tt></li>
1461
+ <li>Run this command: <pre>gerbil HelloWorld.spec HelloWorld.input &gt; HelloWorld.output</pre></li>
1462
+ <li>Examine the <tt>HelloWorld.output</tt> file until you are satisfied!</li>
1463
+ </ol>
1464
+
1465
+
1466
+ <p><div class="note">
1467
+ <p class="title"><a class="toc" id="Author-s-note-about-documentation-quality" href="#a-606451038">Note 2</a>.&nbsp;&nbsp;Author&#8217;s note about documentation quality</p>
1468
+
1469
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
1470
+ fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
1471
+ Lmlua3NjYXBlLm9yZ5vuPBoAAAmCSURBVGiB1ZltbJXlGcd/9/N+Tlssh1Ja
1472
+ hNEJaK2UFxFptqC2wGCSTWdM3DSQzWVDEzVxy4xfjNkHQ8xMnEEXviwZ62Rj
1473
+ 6siWTcVBZeJA5yBQpOWlKNZSaEvpyyk95zwv970Pp+fY5/S0tFBkXsmTc67n
1474
+ eu77+f/u6349Ryil+Cqbdq0FXKldEuClp+3nfvVz/eJLT9vPXQv/igFc13tq
1475
+ w4/ujLqu99S18C9lRr6br7zyyi2WZb2eSqUqpVSUlE5BSmW8/PLL6sv2bdtu
1476
+ TiaT9z/++ONN486AZVm/XLiw+qZlt98Wun/bsqUhf+nSJSF/ya2LQv6ixQtD
1477
+ /sJFC0L+guqqkF91S2XIr6y6idlfm1Vp2/Yz+XSOCiCEqDJMQ3ze+hm6bnC+
1478
+ sx9d1zl+vBlN1znf2Y+m6TQfa0LTvvCbmo6G/KNHj4T8Ix83hvzGI4dD/uHG
1479
+ QyG/peUElmUJIURlPp2jAkgpiwXg+R5FM9dRv3U/heXrkFJSWHZ32i/7NlJK
1480
+ CsrWUr91P9EZa5FSEildQ/3W/USmfwspJc701dRv3Y9dshopJda0VdRv3Y8V
1481
+ W4mUEjO2kvqt+zCm1iGlxCiu5fe/24defBeu6yHSkopHAxD51oEtW7bEb1++
1482
+ rLC5+ShBEKCU+uJCgWJCvlJD9/iinlw/o2O4b5omixct4fixkz2PPPJILB9A
1483
+ 3kEspYzOmjWbxYuWjIiNtfBdjdjg4EWam44XjhYf0YU2b948xTTNoGRaSbjl
1484
+ R2mlqx0rLCxC0zR98+bNdj6AERkIgiDmOI6nlDK/7NbOF1NKYdt2KplMxoCz
1485
+ ufERAKZpxiKRSDC8wnfeeWfUl06W0FxbtWpV9tloNOoPDg6OD0BKGYtEIqGX
1486
+ rV69etKFXio2vGs5jqOklOMbxJqmxaLRqBheSRAEo77sSoWOZkKI7DORSERo
1487
+ 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
1526
+ " alt="note" class="icon"/>
1527
+
1528
+ <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>
1529
+
1530
+
1531
+ <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>
1532
+
1533
+
1534
+ <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>
1535
+ </div>
1536
+ <div class="example">
1537
+ <p class="title"><a class="toc" id="HelloWorld.spec" href="#a-606456098">Example 1</a>.&nbsp;&nbsp;HelloWorld format specification file</p>
1538
+ <div class="content"><pre class="code" lang="rhtml">
1539
+ desc: A illustrative format.
1540
+
1541
+ code: |
1542
+ # Returns a random, but pronounceable, name.
1543
+ def generate_name
1544
+ letters = ('a'..'z').to_a - %w[ c q w x ] # redundant sounds
1545
+ vowels = %w[a e i o u]
1546
+ consonants = letters - vowels
1547
+ sets = [consonants, vowels]
1548
+
1549
+ length = 3 + rand(5)
1550
+
1551
+ name = ''
1552
+ length.times do |i|
1553
+ set = sets[i % sets.length]
1554
+ name <span style="color:#F00; background-color:#FAA">&lt;</span><span style="color:#F00; background-color:#FAA">&lt;</span> set[rand(set.length)]
1555
+ end
1556
+
1557
+ name
1558
+ end
1559
+
1560
+ class Node
1561
+ def name
1562
+ @name ||= generate_name
1563
+ end
1564
+ end
1565
+
1566
+ nodes:
1567
+ hello:
1568
+ index: true
1569
+ number: true
1570
+ silent: false
1571
+ output: |
1572
+ <span style="color:#070">&lt;h1&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.type <span style="color:black">%&gt;</span></span> #<span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.index <span style="color:black">%&gt;</span></span>: <span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.name.inspect <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/h1&gt;</span>
1573
+ My name is <span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.name.inspect <span style="color:black">%&gt;</span></span> and these are my properties:
1574
+ <span style="color:#070">&lt;table&gt;</span>
1575
+ <span style="color:#070">&lt;tr&gt;</span>
1576
+ <span style="color:#070">&lt;th&gt;</span>Property<span style="color:#070">&lt;/th&gt;</span>
1577
+ <span style="color:#070">&lt;th&gt;</span>Value<span style="color:#070">&lt;/th&gt;</span>
1578
+ <span style="color:#070">&lt;/tr&gt;</span>
1579
+ <span style="color:#070">&lt;tr&gt;</span>
1580
+ <span style="color:#070">&lt;td&gt;</span>args<span style="color:#070">&lt;/td&gt;</span>
1581
+ <span style="color:#070">&lt;td&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.args.inspect <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/td&gt;</span>
1582
+ <span style="color:#070">&lt;/tr&gt;</span>
1583
+ <span style="color:#070">&lt;tr&gt;</span>
1584
+ <span style="color:#070">&lt;td&gt;</span>index<span style="color:#070">&lt;/td&gt;</span>
1585
+ <span style="color:#070">&lt;td&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.index.inspect <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/td&gt;</span>
1586
+ <span style="color:#070">&lt;/tr&gt;</span>
1587
+ <span style="color:#070">&lt;tr&gt;</span>
1588
+ <span style="color:#070">&lt;td&gt;</span>number<span style="color:#070">&lt;/td&gt;</span>
1589
+ <span style="color:#070">&lt;td&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.number.inspect <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/td&gt;</span>
1590
+ <span style="color:#070">&lt;/tr&gt;</span>
1591
+ <span style="color:#070">&lt;tr&gt;</span>
1592
+ <span style="color:#070">&lt;td&gt;</span>trace<span style="color:#070">&lt;/td&gt;</span>
1593
+ <span style="color:#070">&lt;td&gt;</span><span style="color:#070">&lt;ul&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.trace.map {|s| <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">&lt;li&gt;</span><span style="background: #eee"><span style="font-weight: bold; color: #888">#{</span>s<span style="font-weight: bold; color: #888">}</span></span><span style="color:#D20">&lt;/li&gt;</span><span style="color:#710">&quot;</span></span>} <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/ul&gt;</span><span style="color:#070">&lt;/td&gt;</span>
1594
+ <span style="color:#070">&lt;/tr&gt;</span>
1595
+ <span style="color:#070">&lt;tr&gt;</span>
1596
+ <span style="color:#070">&lt;td&gt;</span>content<span style="color:#070">&lt;/td&gt;</span>
1597
+ <span style="color:#070">&lt;td&gt;</span><span style="background: #eee"><span style="color:black">&lt;%=</span> <span style="color:#33B">@node</span>.content <span style="color:black">%&gt;</span></span><span style="color:#070">&lt;/td&gt;</span>
1598
+ <span style="color:#070">&lt;/tr&gt;</span>
1599
+ <span style="color:#070">&lt;/table&gt;</span>
1600
+
1601
+ output: |
1602
+ 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.
1603
+ <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>
1604
+ That's all folks!
1605
+
1606
+ </pre></div>
1607
+ </div>
1608
+ <div class="example">
1609
+ <p class="title"><a class="toc" id="HelloWorld.input" href="#a-606464288">Example 2</a>.&nbsp;&nbsp;Input document for HelloWorld format</p>
1610
+ <div class="content"><pre class="code" lang="rhtml">
1611
+ <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>
1612
+ <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>
1613
+ <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*
1614
+
1615
+ <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">Bashful</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1616
+ Hi, I... *hide*
1617
+
1618
+ <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">Hopeful</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1619
+ *sigh*
1620
+
1621
+ <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">Confused</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1622
+ Huh?
1623
+ <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>
1624
+ <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>
1625
+
1626
+ <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">Raving</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1627
+ Oh it's *on* now! You're going *down*!
1628
+ <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>
1629
+ <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>
1630
+
1631
+ <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">Sleepy</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1632
+ *yawn* Just five more minutes...
1633
+
1634
+ <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">Peaceful</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1635
+ So _be_ happy my friend, *happy*!
1636
+
1637
+ <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">Lonely (as you can see, I have no block)</span><span style="color:#710">&quot;</span></span> <span style="color:black">%&gt;</span></span>
1638
+ <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>
1639
+ <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>
1640
+ <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>
1641
+
1642
+ <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">Snappy</span><span style="color:#710">&quot;</span></span> <span style="color:#080; font-weight:bold">do</span> <span style="color:black">%&gt;</span></span>
1643
+ Zip! Zap! Wake up, you sap!
1644
+ _Whoo I'm wild!_ ;-)
1645
+ <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>
1646
+
1647
+ <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>
1648
+ </pre></div>
1649
+ </div>
1650
+ <div class="example">
1651
+ <p class="title"><a class="toc" id="HelloWorld.output" href="#a-606473548">Example 3</a>.&nbsp;&nbsp;Output of HelloWorld format</p>
1652
+ <div class="content">Welcome to the &#8220;HelloWorld&#8221; format.
1653
+ <div style="border-left: thick solid salmon; padding-left: 1em;"><h1>hello #1: &#8220;gel&#8221;</h1>
1654
+ My name is &#8220;gel&#8221; and these are my properties:
1655
+ <table border="1">
1656
+ <tr>
1657
+ <th>Property</th>
1658
+ <th>Value</th>
1659
+ </tr>
1660
+ <tr>
1661
+ <td>args</td>
1662
+ <td>[&#8220;Pretentious&#8221;]</td>
1663
+ </tr>
1664
+ <tr>
1665
+ <td>index</td>
1666
+ <td>&#8220;1&#8221;</td>
1667
+ </tr>
1668
+ <tr>
1669
+ <td>number</td>
1670
+ <td>1</td>
1671
+ </tr>
1672
+ <tr>
1673
+ <td>trace</td>
1674
+ <td><ul><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1675
+ </tr>
1676
+ <tr>
1677
+ <td>content</td>
1678
+ <td> <big>I&#8217;m</big> the very first node, oh <em>yes</em> I am! <strong>sneer</strong>
1679
+
1680
+ <h1>hello #1.1: &#8220;guvamuy&#8221;</h1>
1681
+ My name is &#8220;guvamuy&#8221; and these are my properties:
1682
+ <table border="1">
1683
+ <tr>
1684
+ <th>Property</th>
1685
+ <th>Value</th>
1686
+ </tr>
1687
+ <tr>
1688
+ <td>args</td>
1689
+ <td>[&#8220;Bashful&#8221;]</td>
1690
+ </tr>
1691
+ <tr>
1692
+ <td>index</td>
1693
+ <td>&#8220;1.1&#8221;</td>
1694
+ </tr>
1695
+ <tr>
1696
+ <td>number</td>
1697
+ <td>2</td>
1698
+ </tr>
1699
+ <tr>
1700
+ <td>trace</td>
1701
+ <td><ul><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1702
+ </tr>
1703
+ <tr>
1704
+ <td>content</td>
1705
+ <td> Hi, I&#8230; <strong>hide</strong>
1706
+
1707
+ <h1>hello #1.1.1: &#8220;nuvub&#8221;</h1>
1708
+ My name is &#8220;nuvub&#8221; and these are my properties:
1709
+ <table border="1">
1710
+ <tr>
1711
+ <th>Property</th>
1712
+ <th>Value</th>
1713
+ </tr>
1714
+ <tr>
1715
+ <td>args</td>
1716
+ <td>[&#8220;Hopeful&#8221;]</td>
1717
+ </tr>
1718
+ <tr>
1719
+ <td>index</td>
1720
+ <td>&#8220;1.1.1&#8221;</td>
1721
+ </tr>
1722
+ <tr>
1723
+ <td>number</td>
1724
+ <td>3</td>
1725
+ </tr>
1726
+ <tr>
1727
+ <td>trace</td>
1728
+ <td><ul><li>INPUT:5</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1729
+ </tr>
1730
+ <tr>
1731
+ <td>content</td>
1732
+ <td> <strong>sigh</strong>
1733
+
1734
+ <h1>hello #1.1.1.1: &#8220;gaguy&#8221;</h1>
1735
+ My name is &#8220;gaguy&#8221; and these are my properties:
1736
+ <table border="1">
1737
+ <tr>
1738
+ <th>Property</th>
1739
+ <th>Value</th>
1740
+ </tr>
1741
+ <tr>
1742
+ <td>args</td>
1743
+ <td>[&#8220;Confused&#8221;]</td>
1744
+ </tr>
1745
+ <tr>
1746
+ <td>index</td>
1747
+ <td>&#8220;1.1.1.1&#8221;</td>
1748
+ </tr>
1749
+ <tr>
1750
+ <td>number</td>
1751
+ <td>4</td>
1752
+ </tr>
1753
+ <tr>
1754
+ <td>trace</td>
1755
+ <td><ul><li>INPUT:7</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:5</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1756
+ </tr>
1757
+ <tr>
1758
+ <td>content</td>
1759
+ <td> Huh?
1760
+ </td>
1761
+ </tr>
1762
+ </table></td>
1763
+ </tr>
1764
+ </table>
1765
+ <h1>hello #1.1.2: &#8220;lozije&#8221;</h1>
1766
+ My name is &#8220;lozije&#8221; and these are my properties:
1767
+ <table border="1">
1768
+ <tr>
1769
+ <th>Property</th>
1770
+ <th>Value</th>
1771
+ </tr>
1772
+ <tr>
1773
+ <td>args</td>
1774
+ <td>[&#8220;Raving&#8221;]</td>
1775
+ </tr>
1776
+ <tr>
1777
+ <td>index</td>
1778
+ <td>&#8220;1.1.2&#8221;</td>
1779
+ </tr>
1780
+ <tr>
1781
+ <td>number</td>
1782
+ <td>5</td>
1783
+ </tr>
1784
+ <tr>
1785
+ <td>trace</td>
1786
+ <td><ul><li>INPUT:9</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:3</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1787
+ </tr>
1788
+ <tr>
1789
+ <td>content</td>
1790
+ <td> Oh it&#8217;s <strong>on</strong> now! You&#8217;re going <strong>down</strong>!
1791
+ </td>
1792
+ </tr>
1793
+ </table></td>
1794
+ </tr>
1795
+ </table>
1796
+ <h1>hello #1.2: &#8220;rame&#8221;</h1>
1797
+ My name is &#8220;rame&#8221; and these are my properties:
1798
+ <table border="1">
1799
+ <tr>
1800
+ <th>Property</th>
1801
+ <th>Value</th>
1802
+ </tr>
1803
+ <tr>
1804
+ <td>args</td>
1805
+ <td>[&#8220;Sleepy&#8221;]</td>
1806
+ </tr>
1807
+ <tr>
1808
+ <td>index</td>
1809
+ <td>&#8220;1.2&#8221;</td>
1810
+ </tr>
1811
+ <tr>
1812
+ <td>number</td>
1813
+ <td>6</td>
1814
+ </tr>
1815
+ <tr>
1816
+ <td>trace</td>
1817
+ <td><ul><li>INPUT:11</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1818
+ </tr>
1819
+ <tr>
1820
+ <td>content</td>
1821
+ <td> <strong>yawn</strong> Just five more minutes&#8230;
1822
+
1823
+ <h1>hello #1.2.1: &#8220;rojed&#8221;</h1>
1824
+ My name is &#8220;rojed&#8221; and these are my properties:
1825
+ <table border="1">
1826
+ <tr>
1827
+ <th>Property</th>
1828
+ <th>Value</th>
1829
+ </tr>
1830
+ <tr>
1831
+ <td>args</td>
1832
+ <td>[&#8220;Peaceful&#8221;]</td>
1833
+ </tr>
1834
+ <tr>
1835
+ <td>index</td>
1836
+ <td>&#8220;1.2.1&#8221;</td>
1837
+ </tr>
1838
+ <tr>
1839
+ <td>number</td>
1840
+ <td>7</td>
1841
+ </tr>
1842
+ <tr>
1843
+ <td>trace</td>
1844
+ <td><ul><li>INPUT:13</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:11</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1845
+ </tr>
1846
+ <tr>
1847
+ <td>content</td>
1848
+ <td> So <em>be</em> happy my friend, <strong>happy</strong>!
1849
+
1850
+ <h1>hello #1.2.1.1: &#8220;tehen&#8221;</h1>
1851
+ My name is &#8220;tehen&#8221; and these are my properties:
1852
+ <table border="1">
1853
+ <tr>
1854
+ <th>Property</th>
1855
+ <th>Value</th>
1856
+ </tr>
1857
+ <tr>
1858
+ <td>args</td>
1859
+ <td>[&#8220;Lonely (as you can see, I have no block)&#8221;]</td>
1860
+ </tr>
1861
+ <tr>
1862
+ <td>index</td>
1863
+ <td>&#8220;1.2.1.1&#8221;</td>
1864
+ </tr>
1865
+ <tr>
1866
+ <td>number</td>
1867
+ <td>8</td>
1868
+ </tr>
1869
+ <tr>
1870
+ <td>trace</td>
1871
+ <td><ul><li>INPUT:15</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:13</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:11</li><li>bin/gerbil:80:in `content_from_block&#8217;</li><li>bin/gerbil:216:in `hello&#8217;</li><li>INPUT:1</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1872
+ </tr>
1873
+ <tr>
1874
+ <td>content</td>
1875
+ <td></td>
1876
+ </tr>
1877
+ </table>
1878
+ </td>
1879
+ </tr>
1880
+ </table></td>
1881
+ </tr>
1882
+ </table></td>
1883
+ </tr>
1884
+ </table>
1885
+ <h1>hello #2: &#8220;vubose&#8221;</h1>
1886
+ My name is &#8220;vubose&#8221; and these are my properties:
1887
+ <table border="1">
1888
+ <tr>
1889
+ <th>Property</th>
1890
+ <th>Value</th>
1891
+ </tr>
1892
+ <tr>
1893
+ <td>args</td>
1894
+ <td>[&#8220;Snappy&#8221;]</td>
1895
+ </tr>
1896
+ <tr>
1897
+ <td>index</td>
1898
+ <td>&#8220;2&#8221;</td>
1899
+ </tr>
1900
+ <tr>
1901
+ <td>number</td>
1902
+ <td>9</td>
1903
+ </tr>
1904
+ <tr>
1905
+ <td>trace</td>
1906
+ <td><ul><li>INPUT:17</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1907
+ </tr>
1908
+ <tr>
1909
+ <td>content</td>
1910
+ <td> Zip! Zap! Wake up, you sap!
1911
+ <em>Whoo I&#8217;m wild!</em> ;-)
1912
+ </td>
1913
+ </tr>
1914
+ </table>
1915
+ <h1>hello #3: &#8220;dopeg&#8221;</h1>
1916
+ My name is &#8220;dopeg&#8221; and these are my properties:
1917
+ <table border="1">
1918
+ <tr>
1919
+ <th>Property</th>
1920
+ <th>Value</th>
1921
+ </tr>
1922
+ <tr>
1923
+ <td>args</td>
1924
+ <td>[&#8220;Independent (no block, no parents, I am <em>free</em>!)&#8221;]</td>
1925
+ </tr>
1926
+ <tr>
1927
+ <td>index</td>
1928
+ <td>&#8220;3&#8221;</td>
1929
+ </tr>
1930
+ <tr>
1931
+ <td>number</td>
1932
+ <td>10</td>
1933
+ </tr>
1934
+ <tr>
1935
+ <td>trace</td>
1936
+ <td><ul><li>INPUT:20</li><li>bin/gerbil:237</li><li>bin/gerbil:237:in `instance_eval&#8217;</li><li>bin/gerbil:237</li></ul></td>
1937
+ </tr>
1938
+ <tr>
1939
+ <td>content</td>
1940
+ <td></td>
1941
+ </tr>
1942
+ </table></div>
1943
+ That&#8217;s all folks!</div>
1944
+ </div></p></div>
1945
+ </div></p></div>
1946
+ </div></p></div>
1947
+ </div>
1948
+ <div class="chapter">
1949
+ <h1 class="title">
1950
+ Chapter
1951
+ <a class="toc" id="Usage" href="#a-606480938">4</a>
1952
+
1953
+ <br/>
1954
+
1955
+ <big>Usage</big>
1956
+ </h1>
1957
+
1958
+ <div class="content"><pre>
1959
+ Gerbil is an extensible document generator based on eRuby.
1960
+
1961
+ * STDIN will be read if an input file is not specified.
1962
+
1963
+ * If an error occurs, the input document will be printed to STDOUT
1964
+ so you can investigate line numbers in the error's stack trace.
1965
+
1966
+ Otherwise, the final output document will be printed to STDOUT.
1967
+
1968
+ Usage: gerbil [Option...] Format|SpecFile [InputFile]
1969
+
1970
+ Option:
1971
+ -h, --help show usage information
1972
+ -v, --version show version information
1973
+
1974
+ Format:
1975
+ latex high-quality typesetting
1976
+ html web page for the Internet
1977
+ man manual page for UNIX
1978
+ text plain text, nothing fancy
1979
+ </pre>
1980
+
1981
+
1982
+ <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>
1983
+
1984
+
1985
+ <p><div class="section">
1986
+ <h2 class="title">
1987
+ <a class="toc" id="include" href="#a-606487938">4.1</a>&nbsp;&nbsp;The <strong>include</strong> directive
1988
+ </h2>
1989
+ <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>
1990
+
1991
+
1992
+ <pre>&lt;%# include <em>path</em> %&gt;</pre>
1993
+
1994
+
1995
+ <p>Here, <em>path</em> is the path of the file whose content you wish to insert into the input document.</p>
1996
+
1997
+
1998
+ <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>
1999
+ </div>
2000
+ <div class="section">
2001
+ <h2 class="title">
2002
+ <a class="toc" id="unindent" href="#a-606495288">4.2</a>&nbsp;&nbsp;The <code class="code"><span style="color:#d70; font-weight:bold">$unindent</span></code> variable
2003
+ </h2>
2004
+ <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>
2005
+
2006
+
2007
+ <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>
2008
+
2009
+
2010
+ <pre>&lt;% $unindent = "\t " %&gt;</pre>
2011
+
2012
+
2013
+ <p>and let Gerbil do it&#8217;s magic!</p></div>
2014
+ </div></p></div>
2015
+ </div>
2016
+ <div class="part">
2017
+ <h1 class="title">
2018
+ Part
2019
+ <a class="toc" id="Formats" href="#a-606500788">5</a>
2020
+
2021
+ <br/>
2022
+
2023
+ <big>Formats</big>
2024
+ </h1>
2025
+
2026
+ <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>
2027
+
2028
+
2029
+ <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>
2030
+
2031
+
2032
+ <p><div class="chapter">
2033
+ <h1 class="title">
2034
+ Chapter
2035
+ <a class="toc" id="html" href="#a-606511128">5.1</a>
2036
+
2037
+ <br/>
2038
+
2039
+ <big>HTML</big>
2040
+ </h1>
2041
+
2042
+ <div class="content"><p>This format generates a <em>monolithic</em> HTML (technically, it&#8217;s <span class="caps">XHTML 1</span>.0 transitional, but who&#8217;s counting?) document. A monolithic HTML document allows users to easily search for a particular topic using nothing more than their web browser&#8217;s built-in text search mechanism. This facilitates offline reading, where an Internet search engine is not available.</p>
2043
+
2044
+
2045
+ <p>In the HTML document, you will notice that the numbers of chapters, sections, figures, admonitions, etc. are hyperlinks that take you back to the corresponding place in the table of contents. These links make it easy to navigate the HTML document, especially for users of text-only web browsers.</p>
2046
+
2047
+
2048
+ <p>Furthermore, the HTML document comes equipped with a stylesheet that makes it suitable for printing. In particular, users of the <a href="http://mozilla.org">Mozilla</a> and <a href="http://www.opera.com/">Opera</a> 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 &#8220;print preview&#8221; function of a graphical web browser to see how the HTML document will appear when printed.</p>
2049
+
2050
+
2051
+ <p><div class="section">
2052
+ <h3 class="title">
2053
+ <a class="toc" id="Text-to-HTML-conversion" href="#a-606515908">5.1.1</a>&nbsp;&nbsp;Text to HTML conversion
2054
+ </h3>
2055
+ <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>
2056
+
2057
+
2058
+ <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>
2059
+
2060
+
2061
+ <p>For example, if you replace the entire <tt>html.rb</tt> file with the following code, then the output of all nodes will appear within red boxes in the final output document.</p>
2062
+
2063
+
2064
+ <pre class="code">
2065
+ <span style="color:#080; font-weight:bold">class</span> <span style="color:#B06; font-weight:bold">String</span>
2066
+ <span style="color:#080; font-weight:bold">def</span> <span style="color:#06B; font-weight:bold">to_html</span>
2067
+ <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">&lt;p style=&quot;border: thin solid red&quot;&gt;</span><span style="color:#710">'</span></span> + <span style="color:#038; font-weight:bold">self</span> + <span style="background-color:#fff0f0"><span style="color:#710">'</span><span style="color:#D20">&lt;/p&gt;</span><span style="color:#710">'</span></span>
2068
+ <span style="color:#080; font-weight:bold">end</span>
2069
+ <span style="color:#080; font-weight:bold">end</span>
2070
+ </pre>
2071
+
2072
+
2073
+ <p>In addition to supporting Textile markup, the default implementation has some additional features which are described in the following subsections.</p>
2074
+
2075
+
2076
+ <p><div class="section">
2077
+ <h4 class="title">
2078
+ <a class="toc" id="Syntax-coloring-for-source-code" href="#a-606523368">5.1.1.1</a>&nbsp;&nbsp;Syntax coloring for source code
2079
+ </h4>
2080
+ <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>
2081
+
2082
+
2083
+ The following programming languages are currently supported by <a href="http://coderay.rubychan.de">CodeRay</a>:
2084
+ <ul>
2085
+ <li>Ruby</li>
2086
+ <li>C</li>
2087
+ <li>Delphi</li>
2088
+ <li>HTML</li>
2089
+ <li>RHTML (Rails)</li>
2090
+ <li>Nitro-XHTML</li>
2091
+ </ul>
2092
+
2093
+
2094
+ <p><div class="section">
2095
+ <h5 class="title">
2096
+ <a class="toc" id="Specifying-the-programming-language" href="#a-606526838">5.1.1.1.1</a>&nbsp;&nbsp;Specifying the programming language
2097
+ </h5>
2098
+ <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>
2099
+
2100
+
2101
+ <p>For example, here is some source code <em>without</em> the <code class="code">lang</code> attribute:</p>
2102
+
2103
+
2104
+ <pre class="code">
2105
+ <span style="color:#888"># Ruby ###########################</span>
2106
+ <span style="color:#080; font-weight:bold">def</span> <span style="color:#06B; font-weight:bold">hello</span>
2107
+ puts <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Hello world!</span><span style="color:#710">&quot;</span></span>
2108
+ <span style="color:#080; font-weight:bold">end</span>
2109
+
2110
+
2111
+ <span style="background-color:#fff0ff"><span style="color:#404">/</span><span style="color:#808">* C ****************************</span><span style="color:#404">/</span></span>
2112
+ <span style="color:#888">#include &lt;stdio.h&gt;</span>
2113
+ int main(int argc, char **argv) {
2114
+ printf(<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Hello world!</span><span style="color:#04D">\n</span><span style="color:#710">&quot;</span></span>);
2115
+ <span style="color:#080; font-weight:bold">return</span> <span style="color:#00D; font-weight:bold">0</span>;
2116
+ }
2117
+
2118
+
2119
+ &lt;!-- <span style="color:#036; font-weight:bold">HTML</span> -----------------------&gt;
2120
+ &lt;html&gt;
2121
+ &lt;body&gt;
2122
+ <span style="color:#036; font-weight:bold">Hello</span> world!
2123
+ &lt;body&gt;
2124
+ &lt;<span style="background-color:#fff0ff"><span style="color:#404">/</span><span style="color:#808">html&gt;
2125
+ </span></span></pre>
2126
+
2127
+
2128
+ <p>And here is the same source code with a <code class="code">lang=<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">c</span><span style="color:#710">&quot;</span></span></code> attribute:</p>
2129
+
2130
+
2131
+ <pre class="code" lang="c">
2132
+ <span style="color:#579"># Ruby</span> <span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#</span><span style="color:#579">#
2133
+ def</span> hello
2134
+ puts <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Hello world!</span><span style="color:#710">&quot;</span></span>
2135
+ end
2136
+
2137
+
2138
+ <span style="color:#888">/* C ****************************/</span>
2139
+ <span style="color:#579">#include</span> <span style="color:#B44; font-weight:bold">&lt;stdio.h&gt;</span>
2140
+ <span style="color:#339; font-weight:bold">int</span> main(<span style="color:#339; font-weight:bold">int</span> argc, <span style="color:#339; font-weight:bold">char</span> **argv) {
2141
+ printf(<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Hello world!</span><span style="color:#04D">\n</span><span style="color:#710">&quot;</span></span>);
2142
+ <span style="color:#080; font-weight:bold">return</span> <span style="color:#00D; font-weight:bold">0</span>;
2143
+ }
2144
+
2145
+
2146
+ &lt;!-- HTML -----------------------&gt;
2147
+ &lt;html&gt;
2148
+ &lt;body&gt;
2149
+ Hello world!
2150
+ &lt;body&gt;
2151
+ &lt;/html&gt;
2152
+ </pre>
2153
+
2154
+
2155
+ <p>And here is the same source code with a <code class="code">lang=<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">html</span><span style="color:#710">&quot;</span></span></code> attribute:</p>
2156
+
2157
+
2158
+ <pre class="code" lang="html">
2159
+ # Ruby ###########################
2160
+ def hello
2161
+ puts &quot;Hello world!&quot;
2162
+ end
2163
+
2164
+
2165
+ /* C ****************************/
2166
+ #include <span style="color:#070">&lt;stdio.h&gt;</span>
2167
+ int main(int argc, char **argv) {
2168
+ printf(&quot;Hello world!\n&quot;);
2169
+ return 0;
2170
+ }
2171
+
2172
+
2173
+ <span style="color:#888">&lt;!-- HTML -----------------------&gt;</span>
2174
+ <span style="color:#070">&lt;html&gt;</span>
2175
+ <span style="color:#070">&lt;body&gt;</span>
2176
+ Hello world!
2177
+ <span style="color:#070">&lt;body&gt;</span>
2178
+ <span style="color:#070">&lt;/html&gt;</span>
2179
+ </pre></div>
2180
+ </div></p></div>
2181
+ </div>
2182
+ <div class="section">
2183
+ <h4 class="title">
2184
+ <a class="toc" id="Smart-sizing-of-source-code" href="#a-606530408">5.1.1.2</a>&nbsp;&nbsp;Smart sizing of source code
2185
+ </h4>
2186
+ <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>
2187
+
2188
+
2189
+ <p>For example, here is a single line of code:</p>
2190
+
2191
+
2192
+ <code class="code">life = <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></code>
2193
+
2194
+
2195
+ <p>And here is a paragraph of code:</p>
2196
+
2197
+
2198
+ <pre class="code">life =
2199
+ <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>
2200
+ </div>
2201
+ <div class="section">
2202
+ <h4 class="title">
2203
+ <a class="toc" id="Protecting-verbatim-text" href="#a-606533778">5.1.1.3</a>&nbsp;&nbsp;Protecting verbatim text
2204
+ </h4>
2205
+ <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>
2206
+ </div></p></div>
2207
+ </div>
2208
+ <div class="section">
2209
+ <h3 class="title">
2210
+ <a class="toc" id="Parameters" href="#a-606537558">5.1.2</a>&nbsp;&nbsp;Parameters
2211
+ </h3>
2212
+ <div class="content">The HTML format accepts the following document parameters.
2213
+
2214
+
2215
+ <table border="1">
2216
+ <tr>
2217
+ <th>Parameter </th>
2218
+ <th>Type </th>
2219
+ <th>Default value </th>
2220
+ <th>Description </th>
2221
+ </tr>
2222
+ <tr>
2223
+ <td> <code class="code"><span style="color:#d70; font-weight:bold">$title</span></code> </td>
2224
+ <td> String </td>
2225
+ <td> <code class="code"><span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">$title</span><span style="color:#710">&quot;</span></span></code> </td>
2226
+ <td> Title of the document. </td>
2227
+ </tr>
2228
+ <tr>
2229
+ <td> <code class="code"><span style="color:#d70; font-weight:bold">$authors</span></code> </td>
2230
+ <td> Hash </td>
2231
+ <td> <code class="code">{<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">$authors</span><span style="color:#710">&quot;</span></span> =&gt; <span style="color:#038; font-weight:bold">nil</span>}</code> </td>
2232
+ <td> A mapping of author name to author URL. You can obfuscate e-mail addresses using the provided <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#to_html_entities</span></code> method like this:<br/><code class="code">{ <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">Y. Matsumoto</span><span style="color:#710">&quot;</span></span> =&gt; <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">mailto:matz@ruby.invalid</span><span style="color:#710">&quot;</span></span>.to_html_entities }</code> </td>
2233
+ </tr>
2234
+ <tr>
2235
+ <td> <code class="code"><span style="color:#d70; font-weight:bold">$date</span></code> </td>
2236
+ <td> String </td>
2237
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Time</span>.now.strftime(<span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">%d %B %Y</span><span style="color:#710">&quot;</span></span>)</code> </td>
2238
+ <td> Date when the document was written. </td>
2239
+ </tr>
2240
+ <tr>
2241
+ <td> <code class="code"><span style="color:#d70; font-weight:bold">$logo</span></code> </td>
2242
+ <td> String </td>
2243
+ <td> <code class="code"><span style="color:#038; font-weight:bold">nil</span></code> </td>
2244
+ <td> Arbitrary content that goes above the document title in the default header. </td>
2245
+ </tr>
2246
+ <tr>
2247
+ <td> <code class="code"><span style="color:#d70; font-weight:bold">$feeds</span></code> </td>
2248
+ <td> Hash </td>
2249
+ <td> <code class="code"><span style="color:#038; font-weight:bold">nil</span></code> </td>
2250
+ <td> A mapping of feed URL to feed format. Here is an example: <code class="code"><span style="color:#d70; font-weight:bold">$feeds</span> = { <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">my_rss_feed.xml</span><span style="color:#710">&quot;</span></span> =&gt; <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">rss</span><span style="color:#710">&quot;</span></span>, <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">my_atom_feed.xml</span><span style="color:#710">&quot;</span></span> =&gt; <span style="background-color:#fff0f0"><span style="color:#710">&quot;</span><span style="color:#D20">atom</span><span style="color:#710">&quot;</span></span> }</code></td>
2251
+ </tr>
2252
+ <tr>
2253
+ <td> <code class="code"><span style="color:#d70; font-weight:bold">$use_icons</span></code> </td>
2254
+ <td> Boolean </td>
2255
+ <td> <code class="code"><span style="color:#038; font-weight:bold">true</span></code> </td>
2256
+ <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>
2257
+ </tr>
2258
+ </table></div>
2259
+ </div>
2260
+ <div class="section">
2261
+ <h3 class="title">
2262
+ <a class="toc" id="Methods" href="#a-606544438">5.1.3</a>&nbsp;&nbsp;Methods
2263
+ </h3>
2264
+ <div class="content">The HTML format provides the following methods. In the method declarations shown below,
2265
+ <ul>
2266
+ <li>a pound sign (#) indicates that the method is an <strong>instance method</strong>, meaning that it can only be invoked on instances of a class, not on the classes themselves.</li>
2267
+ <li>a double colon sign (::) indicates that the method is a <strong>class method</strong>, meaning that it can only be invoked on a class.</li>
2268
+ </ul>
2269
+
2270
+
2271
+ <table border="1">
2272
+ <tr>
2273
+ <th>Method declaration </th>
2274
+ <th>Description </th>
2275
+ </tr>
2276
+ <tr>
2277
+ <td> <code class="code">link(aUrl, aName = aUrl, aTitle = <span style="color:#038; font-weight:bold">nil</span>)</code> </td>
2278
+ <td> <p>
2279
+ Returns a hyperlink to the given URL of the given name and mouse-hover
2280
+ title.
2281
+ </p>
2282
+ </td>
2283
+ </tr>
2284
+ <tr>
2285
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Node</span><span style="color:#888">#title()</span></code> </td>
2286
+ <td> <p>
2287
+ Returns the user-defined title for this node&#8216;s content.
2288
+ </p>
2289
+ </td>
2290
+ </tr>
2291
+ <tr>
2292
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Node</span><span style="color:#888">#id()</span></code> </td>
2293
+ <td> <p>
2294
+ Returns the user-defined indentifer for this node.
2295
+ </p>
2296
+ </td>
2297
+ </tr>
2298
+ <tr>
2299
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Node</span><span style="color:#888">#url()</span></code> </td>
2300
+ <td> <p>
2301
+ Returns a unique URI fragment for this node.
2302
+ </p>
2303
+ </td>
2304
+ </tr>
2305
+ <tr>
2306
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Node</span><span style="color:#888">#list_url()</span></code> </td>
2307
+ <td> <p>
2308
+ Returns the URI fragment for the location in the table of contents / list
2309
+ of figures that points this node.
2310
+ </p>
2311
+ </td>
2312
+ </tr>
2313
+ <tr>
2314
+ <td> <code class="code"><span style="color:#036; font-weight:bold">Icon</span><span style="color:#888">#to_html(aAttributes = {})</span></code> </td>
2315
+ <td> <p>
2316
+ Returns a HTML image tag containing embedded image data. The given
2317
+ attributes (name =&gt; value) are applied to the HTML tag declaration.
2318
+ </p>
2319
+ </td>
2320
+ </tr>
2321
+ <tr>
2322
+ <td> <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#to_html_entities()</span></code> </td>
2323
+ <td> <p>
2324
+ Transforms this UTF-8 string into HTML entities.
2325
+ </p>
2326
+ </td>
2327
+ </tr>
2328
+ <tr>
2329
+ <td> <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#to_uri_fragment()</span></code> </td>
2330
+ <td> <p>
2331
+ Transforms this string into a valid URI fragment. See <a
2332
+ href="http://www.nmt.edu/tcc/help/pubs/xhtml/id-type.html">www.nmt.edu/tcc/help/pubs/xhtml/id-type.html</a>
2333
+ </p>
2334
+ </td>
2335
+ </tr>
2336
+ <tr>
2337
+ <td> <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#to_html()</span></code> </td>
2338
+ <td> <p>
2339
+ Transforms this string into HTML.
2340
+ </p>
2341
+ </td>
2342
+ </tr>
2343
+ <tr>
2344
+ <td> <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#thru_redcloth()</span></code> </td>
2345
+ <td> <p>
2346
+ Returns the result of running this string through RedCloth.
2347
+ </p>
2348
+ </td>
2349
+ </tr>
2350
+ <tr>
2351
+ <td> <code class="code"><span style="color:#036; font-weight:bold">String</span><span style="color:#888">#thru_coderay()</span></code> </td>
2352
+ <td> <p>
2353
+ Adds syntax coloring to &lt;code&gt; elements in the given text. If the
2354
+ &lt;code&gt; tag has an attribute lang=&quot;&#8230;&quot;, then that is
2355
+ considered the programming language for which appropriate syntax coloring
2356
+ should be applied. Otherwise, the programming language is assumed to be
2357
+ ruby.
2358
+ </p>
2359
+ </td>
2360
+ </tr>
2361
+ </table></div>
2362
+ </div>
2363
+ <div class="chapter">
2364
+ <h1 class="title">
2365
+ Chapter
2366
+ <a class="toc" id="html.nodes" href="#a-605947998">5.1.4</a>
2367
+
2368
+ <br/>
2369
+
2370
+ <big>Nodes</big>
2371
+ </h1>
2372
+
2373
+ <div class="content">Unless otherwise noted, all nodes defined by the HTML format accept two arguments, in this order:
2374
+ <ol>
2375
+ <li>a title or name for the node</li>
2376
+ <li>a unique identifier for the node</li>
2377
+ </ol>
2378
+
2379
+
2380
+ <p>The second argument is used by the cross-referencing nodes (see <a class="xref" href="#html.nodes.xref">Section 5.1.4.1.4: <em>xref</em></a> and <a class="xref" href="#html.nodes.cite">Section 5.1.4.5.2: <em>cite</em></a>), which allow you to refer to another node in the document by its unique identifier.</p>
2381
+
2382
+
2383
+ <p>Furthermore, node definitions in the HTML format have two additional parameters:</p>
2384
+
2385
+
2386
+ <table border="1">
2387
+ <tr>
2388
+ <th>Parameter </th>
2389
+ <th>Type </th>
2390
+ <th>Description </th>
2391
+ </tr>
2392
+ <tr>
2393
+ <td> toc </td>
2394
+ <td> Boolean </td>
2395
+ <td> Include this node in the <strong>Table of Contents</strong> (TOC)? </td>
2396
+ </tr>
2397
+ <tr>
2398
+ <td> lof </td>
2399
+ <td> Boolean </td>
2400
+ <td> Include this node in the <strong>List of Figures</strong> (LOF)? </td>
2401
+ </tr>
2402
+ </table>
2403
+
2404
+
2405
+
2406
+
2407
+ <p><div class="section">
2408
+ <h4 class="title">
2409
+ <a class="toc" id="Structure" href="#a-606977348">5.1.4.1</a>&nbsp;&nbsp;Structure
2410
+ </h4>
2411
+ <div class="content"><p>The nodes described in this section form the overall structure of the output document.</p>
2412
+
2413
+
2414
+ <p><div class="section">
2415
+ <h5 class="title">
2416
+ <a class="toc" id="html.nodes.header" href="#a-606979058">5.1.4.1.1</a>&nbsp;&nbsp;header
2417
+ </h5>
2418
+ <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>
2419
+ </div>
2420
+ <div class="section">
2421
+ <h5 class="title">
2422
+ <a class="toc" id="html.nodes.footer" href="#a-606981438">5.1.4.1.2</a>&nbsp;&nbsp;footer
2423
+ </h5>
2424
+ <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>
2425
+ </div>
2426
+ <div class="section">
2427
+ <h5 class="title">
2428
+ <a class="toc" id="html.nodes.abstract" href="#a-606983888">5.1.4.1.3</a>&nbsp;&nbsp;abstract
2429
+ </h5>
2430
+ <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>
2431
+ </div>
2432
+ <div class="section">
2433
+ <h5 class="title">
2434
+ <a class="toc" id="html.nodes.xref" href="#a-606986568">5.1.4.1.4</a>&nbsp;&nbsp;xref
2435
+ </h5>
2436
+ <div class="content"><p>A cross-reference; a hyperlink that takes you to any node in the document.</p>
2437
+
2438
+
2439
+ <p>The first argument of this node is either the unique identifier of the node you wish to cross-reference. If no nodes in the document have the given identifier, then the titles of all nodes in the document are searched. If even that fails, then an error will be raised.</p>
2440
+
2441
+
2442
+ <p>The second argument of this node overrides the default link text of the cross-reference.</p>
2443
+
2444
+
2445
+ <p>For example, this node in the input document:</p>
2446
+
2447
+
2448
+ <pre>&lt;%= xref "SpecFile" %&gt;</pre>
2449
+
2450
+
2451
+ <p>appears in the output document like this: <a class="xref" href="#SpecFile">Section 3.2: <em>Format specification file</em></a>.</p>
2452
+
2453
+
2454
+ <p>As another example, this node in the input document:</p>
2455
+
2456
+
2457
+ <pre>&lt;%= xref "SpecFile", "custom link text" %&gt;</pre>
2458
+
2459
+
2460
+ <p>appears in the output document like this: <a class="xref" href="#SpecFile">custom link text</a>.</p></div>
2461
+ </div></p></div>
2462
+ </div>
2463
+ <div class="section">
2464
+ <h4 class="title">
2465
+ <a class="toc" id="Organization" href="#a-607003538">5.1.4.2</a>&nbsp;&nbsp;Organization
2466
+ </h4>
2467
+ <div class="content"><p>The nodes described in this section are meant to help organize the document&#8217;s content logically.</p>
2468
+
2469
+
2470
+ <p><div class="section">
2471
+ <h5 class="title">
2472
+ <a class="toc" id="html.nodes.part" href="#a-607006398">5.1.4.2.1</a>&nbsp;&nbsp;part
2473
+ </h5>
2474
+ <div class="content"><p>A collection of chapters.</p>
2475
+
2476
+
2477
+ <p><div class="part">
2478
+ <h1 class="title">
2479
+ Part
2480
+ <a class="toc" id="An-example" href="#a-607008508">5.1.4.2.1.1</a>
2481
+
2482
+ <br/>
2483
+
2484
+ <big>An example</big>
2485
+ </h1>
2486
+
2487
+ <div class="content">This is what a <strong>part</strong> node appears like.</div>
2488
+ </div></p></div>
2489
+ </div>
2490
+ <div class="section">
2491
+ <h5 class="title">
2492
+ <a class="toc" id="html.nodes.chapter" href="#a-607013408">5.1.4.2.2</a>&nbsp;&nbsp;chapter
2493
+ </h5>
2494
+ <div class="content"><p>A collection of sections.</p>
2495
+
2496
+
2497
+ <p><div class="chapter">
2498
+ <h1 class="title">
2499
+ Chapter
2500
+ <a class="toc" id="An-example-607320788" href="#a-607015098">5.1.4.2.2.1</a>
2501
+
2502
+ <br/>
2503
+
2504
+ <big>An example</big>
2505
+ </h1>
2506
+
2507
+ <div class="content">This is what a <strong>chapter</strong> node appears like.</div>
2508
+ </div></p></div>
2509
+ </div>
2510
+ <div class="section">
2511
+ <h5 class="title">
2512
+ <a class="toc" id="html.nodes.section" href="#a-607017608">5.1.4.2.3</a>&nbsp;&nbsp;section
2513
+ </h5>
2514
+ <div class="content"><p>A collection of paragraphs about a particular topic.</p>
2515
+
2516
+
2517
+ <p><div class="section">
2518
+ <h6 class="title">
2519
+ <a class="toc" id="An-example-607375788" href="#a-607019328">5.1.4.2.3.1</a>&nbsp;&nbsp;An example
2520
+ </h6>
2521
+ <div class="content">This is what a <strong>section</strong> node appears like.</div>
2522
+ </div></p></div>
2523
+ </div>
2524
+ <div class="section">
2525
+ <h5 class="title">
2526
+ <a class="toc" id="html.nodes.paragraph" href="#a-607022188">5.1.4.2.4</a>&nbsp;&nbsp;paragraph
2527
+ </h5>
2528
+ <div class="content"><p>A collection of sentences about a particular idea.</p>
2529
+
2530
+
2531
+ <p><div class="paragraph">
2532
+ <p class="title">An example</p>
2533
+ <div class="content">This is what a <strong>paragraph</strong> node appears like.</div>
2534
+ </div></p></div>
2535
+ </div></p></div>
2536
+ </div>
2537
+ <div class="section">
2538
+ <h4 class="title">
2539
+ <a class="toc" id="Admonitions" href="#a-607029428">5.1.4.3</a>&nbsp;&nbsp;Admonitions
2540
+ </h4>
2541
+ <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>
2542
+
2543
+
2544
+ <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>
2545
+
2546
+
2547
+ <p>
2548
+ <div class="section">
2549
+ <h5 class="title">
2550
+ <a class="toc" id="html.nodes.warning" href="#a-607044968">5.1.4.3.1</a>&nbsp;&nbsp;warning
2551
+ </h5>
2552
+ <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>
2553
+
2554
+
2555
+ <p><div class="warning">
2556
+ <p class="title"><a class="toc" id="An-example-607469688" href="#a-607049428">Warning 1</a>.&nbsp;&nbsp;An example</p>
2557
+
2558
+ <img src="data:image/png;base64,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
2614
+ " alt="warning" class="icon"/>
2615
+
2616
+ <div class="content">This is what a <strong>warning</strong> node appears like.</div>
2617
+ </div></p></div>
2618
+ </div>
2619
+ <div class="section">
2620
+ <h5 class="title">
2621
+ <a class="toc" id="html.nodes.caution" href="#a-607058408">5.1.4.3.2</a>&nbsp;&nbsp;caution
2622
+ </h5>
2623
+ <div class="content"><blockquote>
2624
+ <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>
2625
+ </blockquote>
2626
+
2627
+
2628
+ <p><div class="caution">
2629
+ <p class="title"><a class="toc" id="An-example-607498328" href="#a-607073178">Caution 1</a>.&nbsp;&nbsp;An example</p>
2630
+
2631
+ <img src="data:image/png;base64,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
2682
+ 4xicOQAAAABJRU5ErkJggg==
2683
+ " alt="caution" class="icon"/>
2684
+
2685
+ <div class="content">This is what a <strong>caution</strong> node appears like.</div>
2686
+ </div></p></div>
2687
+ </div>
2688
+ <div class="section">
2689
+ <h5 class="title">
2690
+ <a class="toc" id="html.nodes.important" href="#a-607083158">5.1.4.3.3</a>&nbsp;&nbsp;important
2691
+ </h5>
2692
+ <div class="content"><p>Use an <strong>important</strong> node when:</p>
2693
+
2694
+
2695
+ <blockquote>
2696
+ <p>When there is no danger of data loss, but you wish to make clear to the reader a consequence that isn&#8217;t immediately obvious (e.g. when changing the font for one instance of a program also changes the default setting, and this isn&#8217;t clear from the GUI.) <sup>[<a class="cite" href="#KDE.admonitions">1</a>]</sup></p>
2697
+ </blockquote>
2698
+
2699
+
2700
+ <p><div class="important">
2701
+ <p class="title"><a class="toc" id="An-example-607529068" href="#a-607095998">Important 1</a>.&nbsp;&nbsp;An example</p>
2702
+
2703
+ <img src="data:image/png;base64,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
2758
+ 2wAAAABJRU5ErkJggg==
2759
+ " alt="important" class="icon"/>
2760
+
2761
+ <div class="content">This is what a <strong>important</strong> node appears like.</div>
2762
+ </div></p></div>
2763
+ </div>
2764
+ <div class="section">
2765
+ <h5 class="title">
2766
+ <a class="toc" id="html.nodes.note" href="#a-607106368">5.1.4.3.4</a>&nbsp;&nbsp;note
2767
+ </h5>
2768
+ <div class="content"><p>Use a <strong>note</strong> node to convey:</p>
2769
+
2770
+
2771
+ <blockquote>
2772
+ <p>Information the user should be aware of, but is peripheral to the actual task being described. <sup>[<a class="cite" href="#KDE.admonitions">1</a>]</sup></p>
2773
+ </blockquote>
2774
+
2775
+
2776
+ <p><div class="note">
2777
+ <p class="title"><a class="toc" id="An-example-607565368" href="#a-607119428">Note 3</a>.&nbsp;&nbsp;An example</p>
2778
+
2779
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
2780
+ fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
2781
+ Lmlua3NjYXBlLm9yZ5vuPBoAAAmCSURBVGiB1ZltbJXlGcd/9/N+Tlssh1Ja
2782
+ hNEJaK2UFxFptqC2wGCSTWdM3DSQzWVDEzVxy4xfjNkHQ8xMnEEXviwZ62Rj
2783
+ 6siWTcVBZeJA5yBQpOWlKNZSaEvpyyk95zwv970Pp+fY5/S0tFBkXsmTc67n
2784
+ eu77+f/u6349Ryil+Cqbdq0FXKldEuClp+3nfvVz/eJLT9vPXQv/igFc13tq
2785
+ w4/ujLqu99S18C9lRr6br7zyyi2WZb2eSqUqpVSUlE5BSmW8/PLL6sv2bdtu
2786
+ TiaT9z/++ONN486AZVm/XLiw+qZlt98Wun/bsqUhf+nSJSF/ya2LQv6ixQtD
2787
+ /sJFC0L+guqqkF91S2XIr6y6idlfm1Vp2/Yz+XSOCiCEqDJMQ3ze+hm6bnC+
2788
+ sx9d1zl+vBlN1znf2Y+m6TQfa0LTvvCbmo6G/KNHj4T8Ix83hvzGI4dD/uHG
2789
+ QyG/peUElmUJIURlPp2jAkgpiwXg+R5FM9dRv3U/heXrkFJSWHZ32i/7NlJK
2790
+ CsrWUr91P9EZa5FSEildQ/3W/USmfwspJc701dRv3Y9dshopJda0VdRv3Y8V
2791
+ W4mUEjO2kvqt+zCm1iGlxCiu5fe/24defBeu6yHSkopHAxD51oEtW7bEb1++
2792
+ rLC5+ShBEKCU+uJCgWJCvlJD9/iinlw/o2O4b5omixct4fixkz2PPPJILB9A
2793
+ 3kEspYzOmjWbxYuWjIiNtfBdjdjg4EWam44XjhYf0YU2b948xTTNoGRaSbjl
2794
+ R2mlqx0rLCxC0zR98+bNdj6AERkIgiDmOI6nlDK/7NbOF1NKYdt2KplMxoCz
2795
+ ufERAKZpxiKRSDC8wnfeeWfUl06W0FxbtWpV9tloNOoPDg6OD0BKGYtEIqGX
2796
+ rV69etKFXio2vGs5jqOklOMbxJqmxaLRqBheSRAEo77sSoWOZkKI7DORSERo
2797
+ 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
2836
+ " alt="note" class="icon"/>
2837
+
2838
+ <div class="content">This is what a <strong>note</strong> node appears like.</div>
2839
+ </div></p></div>
2840
+ </div>
2841
+ <div class="section">
2842
+ <h5 class="title">
2843
+ <a class="toc" id="html.nodes.tip" href="#a-607126398">5.1.4.3.5</a>&nbsp;&nbsp;tip
2844
+ </h5>
2845
+ <div class="content"><p>Use a <strong>tip</strong> node when:</p>
2846
+
2847
+
2848
+ <blockquote>
2849
+ <p>When you&#8217;re giving a hint to make things easier or more productive for the reader. <sup>[<a class="cite" href="#KDE.admonitions">1</a>]</sup></p>
2850
+ </blockquote>
2851
+
2852
+
2853
+ <p><div class="tip">
2854
+ <p class="title"><a class="toc" id="An-example-607596398" href="#a-607138628">Tip 1</a>.&nbsp;&nbsp;An example</p>
2855
+
2856
+ <img src="data:image/png;base64,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
2892
+ vWtas31uwpu1hAhsiwNLCGkJlgnbitZmvc4zp19ho6NvrzrAM08+NqXC4DMX
2893
+ Xv1RsLWzWRCTZqZICERCIHprovymiuLayTMT3xzP106lHCvdmLG3dDQld63J
2894
+ enc0pJPX+YE8z0IMGTt53LI4FBZJS0BagmVfT8vWgYFBNTw6+tyhQ189t1Rd
2895
+ y9oTH3rqy4f2fvpv7990/cju69q7nemSr5k5YuJoPF+7srGzoSvtuTxZlueK
2896
+ fvRz1xK+Y1MgiBUxdCKZabFd975CoXzOYbKMERwLspqSdk9z0tnwT//yrYqR
2897
+ +OxyNC27KqHI3P+Tl/99LhEVM+taMykGacGkY4OgUAlGshm30WFSQpC0bAot
2898
+ QYHlkG8Ly29IJZuVil+3iSqWTaHFpFoyybbetoY79z+1P/arlQeXu71cNsAz
2899
+ Tz42pf3ybx974Xk/EVfbmtNugpk0Mel8RY3ZZFLMpGzByiaWjuDQsThIuuzH
2900
+ MsjIOD4rLAotwdKxLNPZ6N375P798fDl0T89fOArLy1XzzXVhQ4e/NpYFNRu
2901
+ /8mJY4muZq9FEDQT6WIlmC3MzrgUKVcQKWGRFMSha7EfVqtObvKKkKEcFcRS
2902
+ CFYtDcntA0OD/uWRkS89ffCx716LlmsubB08+PiF3MTEf2q/mBVCMBEMk1D5
2903
+ QqkwV8hliVhbhMh2WDmCw6HBX7UX8rMjlu34FkGxYe0w73jp+Esp24ivX6uO
2904
+ FVXmlAyfGR8doUbPTVP9O81EhmeGBy+1MyM24FgwtBCWOnfm9U4IGnSEUUKw
2905
+ ZmFiBrpzE7lzTz31pSW/ea9uK6rMCYhTA5cuJbfuuLljYLw0JaszbYh8PXz5
2906
+ 4gbvZ9V7PC+yTRxWpqcKswMD422t7cmhwC+ku9dv9710U28gQxOE/rI28asK
2907
+ cOjQl4f/8q8+NzQ5ermjwTaNuZk32i2KUglX0dTUOPr6NsC2ErgyNon16zNI
2908
+ uDN/ODY2PjYydun0H+z51Ieeff5IYCJ97H0DAIBYqo9/5/nnzv753ofaUj3b
2909
+ rOn8KLq6Q0xOXIFtJ2FbgON42LxlM7q62oUxTm8qtaX3/PkzpXPnz506dOjx
2910
+ f13J+KtSG+3/k4/8sr1j1/aPfuyjuOH6LSiWp6CjKrSuQVCIVDKNZKoJqWQW
2911
+ rtuC4y8dMz/84alAgK47ePCJyfcVYM+ezRu71mYH7rijD2fPr4FlZ7F79060
2912
+ tWXR3NwML+XB9yuYmysgN5HDf5z4GfzaKMZHX/u3F1/85d0rGhyrEEKJhDVX
2913
+ LgVBpILEA/e3Y67YjMGhi3j9F3PIz1RQrkg0NrpoyDCaGgxu2FxDaU5hfFQt
2914
+ ufLwngIcPXohf889N/x4eKR6x+7fymL7tl246aYCAIMwlNCRRLVaRbEwi8Js
2915
+ HoMDs3hrOAdj8PIq6F/5H5q77urrbG3N3L5jexatLduRSd8I11kDISy4jg1m
2916
+ BhFBKo3Lw9MoVwKEUgIws6ugf+UeSKWMDEMZVavSzs++DsdNAjQHIgOpIszM
2917
+ zCGfz6NcKqOnO4tUAjBxLyYnZ/54NQBW7IGjRy/kS6XwRxcvFmFiAZgYWkfQ
2918
+ WsMYg+bmDLq62rGmoxlCCFRrIaam52AMzv+fAPjEJza1Z1vSt+3c2Y7W1puQ
2919
+ 9vqQcP87hIQQICJEWmN8fBbGMNZ1t8N27Fv27NncvdLxVxxCUiY41pqCQOLq
2920
+ ENKxwVyhjOnpPCqVKnrWtSE/ncfgTB5kjC4WQ0NENuq1VXMtP/6uCYCIeP5e
2921
+ BlC+664tf3/06MXPT+Rsa+PGMazp7EIy5aFSriKfL2Bqchpzc3OolMoYHcvh
2922
+ ypWcqtXk53/601EfgId65U4TkZ7vR8aYeElalgNNRGJe+OKjACB27Oja1Nqa
2923
+ ujuZbLjb89Lbk0kL5fIc4ljDcTyEYQSl1PlKpfDi5cul7w8Pz+YAKMxXtq+y
2924
+ aOFo6n9OVg5ARNa86MUAC30HgAsgsWvXrt/cunXrEw899FDSdV0UCgUMDQ3h
2925
+ lVdeCS5evPh3Z86ceW1eeDhvwfxRLhIfLe4bY6J30rWkJJ4PmXcyaxGAe/r0
2926
+ 6Yu+74+dOHFCTU5OIp/P480334zCMMydOXNmDEAGQApAYuGe+futdxqDiOgd
2927
+ ta22BwC4nZ2dXdu2bfujlpaWe4wxNDMz84OzZ88em5qamkZ9ppfjAflu+bDc
2928
+ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
2929
+ 0BYggPpqs9jeBlvqCnTNAP/jIXWgBeNF/YXzBfHxIoC3z5cj+Or2X3r9Ye2F
2930
+ 1izgAAAAAElFTkSuQmCC
2931
+ " alt="tip" class="icon"/>
2932
+
2933
+ <div class="content">This is what a <strong>tip</strong> node appears like.</div>
2934
+ </div></p></div>
2935
+ </div></p></div>
2936
+ </div>
2937
+ <div class="section">
2938
+ <h4 class="title">
2939
+ <a class="toc" id="Auxilary-materials" href="#a-607146608">5.1.4.4</a>&nbsp;&nbsp;Auxilary materials
2940
+ </h4>
2941
+ <div class="content"><div class="section">
2942
+ <h5 class="title">
2943
+ <a class="toc" id="html.nodes.figure" href="#a-607156758">5.1.4.4.1</a>&nbsp;&nbsp;figure
2944
+ </h5>
2945
+ <div class="content"><p>A diagram, sketch, image, or illustration; something that visually depicts an idea or thought.</p>
2946
+
2947
+
2948
+ <p><div class="figure">
2949
+ <p class="title"><a class="toc" id="An-example-607631908" href="#a-607164328">Figure 1</a>.&nbsp;&nbsp;An example</p>
2950
+ <div class="content">This is what a <strong>figure</strong> node appears like.</div>
2951
+ </div></p></div>
2952
+ </div>
2953
+ <div class="section">
2954
+ <h5 class="title">
2955
+ <a class="toc" id="html.nodes.table" href="#a-607167508">5.1.4.4.2</a>&nbsp;&nbsp;table
2956
+ </h5>
2957
+ <div class="content"><p>Information (typically measurement data) represented in tabular form for easy reading, comparison, and analysis.</p>
2958
+
2959
+
2960
+ <p><div class="table">
2961
+ <p class="title"><a class="toc" id="An-example-607655288" href="#a-607171508">Table 1</a>.&nbsp;&nbsp;An example</p>
2962
+ <div class="content">This is what a <strong>table</strong> node appears like.</div>
2963
+ </div></p></div>
2964
+ </div>
2965
+ <div class="section">
2966
+ <h5 class="title">
2967
+ <a class="toc" id="html.nodes.example" href="#a-607181668">5.1.4.4.3</a>&nbsp;&nbsp;example
2968
+ </h5>
2969
+ <div class="content"><p>A sample application of an idea or thought.</p>
2970
+
2971
+
2972
+ <p><div class="example">
2973
+ <p class="title"><a class="toc" id="An-example-607042088" href="#a-607184898">Example 4</a>.&nbsp;&nbsp;An example</p>
2974
+ <div class="content">This is what a <strong>example</strong> node appears like.</div>
2975
+ </div></p></div>
2976
+ </div>
2977
+ <div class="section">
2978
+ <h5 class="title">
2979
+ <a class="toc" id="html.nodes.equation" href="#a-607192218">5.1.4.4.4</a>&nbsp;&nbsp;equation
2980
+ </h5>
2981
+ <div class="content"><p>A mathematical equation or formula.</p>
2982
+
2983
+
2984
+ <p><div class="equation">
2985
+ <p class="title"><a class="toc" id="An-example-607221568" href="#a-607196278">Equation 1</a>.&nbsp;&nbsp;An example</p>
2986
+ <div class="content">This is what a <strong>equation</strong> node appears like.</div>
2987
+ </div></p></div>
2988
+ </div>
2989
+ <div class="section">
2990
+ <h5 class="title">
2991
+ <a class="toc" id="html.nodes.procedure" href="#a-607200198">5.1.4.4.5</a>&nbsp;&nbsp;procedure
2992
+ </h5>
2993
+ <div class="content"><p>An outline; a series of steps outlining some kind of process.</p>
2994
+
2995
+
2996
+ <p><div class="procedure">
2997
+ <p class="title"><a class="toc" id="An-example-607256878" href="#a-607207998">Procedure 1</a>.&nbsp;&nbsp;An example</p>
2998
+ <div class="content">This is what a <strong>procedure</strong> node appears like.</div>
2999
+ </div></p></div>
3000
+ </div></div>
3001
+ </div>
3002
+ <div class="section">
3003
+ <h4 class="title">
3004
+ <a class="toc" id="Bibliography" href="#a-607214698">5.1.4.5</a>&nbsp;&nbsp;Bibliography
3005
+ </h4>
3006
+ <div class="content"><p>The nodes in this section deal with attribution of ideas&#8212;an important weapon against plagiarism.</p>
3007
+
3008
+
3009
+ <p><div class="section">
3010
+ <h5 class="title">
3011
+ <a class="toc" id="html.nodes.reference" href="#a-607220038">5.1.4.5.1</a>&nbsp;&nbsp;reference
3012
+ </h5>
3013
+ <div class="content"><p>This node stores bibliography information about an information source that is relevant to your document.</p>
3014
+
3015
+
3016
+ <p>If you wish to cite a certain source in several places in your document, start by creating a <strong>reference</strong> node first and then use a <strong>cite</strong> node (see <a class="xref" href="#html.nodes.cite">Section 5.1.4.5.2: <em>cite</em></a>) to perform the citation.</p>
3017
+
3018
+
3019
+ <p><div class="paragraph">
3020
+ <p class="title">An example</p>
3021
+ <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>
3022
+ </div>
3023
+ </p></div>
3024
+ </div>
3025
+ <div class="section">
3026
+ <h5 class="title">
3027
+ <a class="toc" id="html.nodes.cite" href="#a-607228848">5.1.4.5.2</a>&nbsp;&nbsp;cite
3028
+ </h5>
3029
+ <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>
3030
+
3031
+
3032
+ <p>The first argument of this node is the unique identifier of the reference node you wish to cite. You can specify additional arguments to give more detail about the citation.</p>
3033
+
3034
+
3035
+ <p>For example, this node in the input document:</p>
3036
+
3037
+
3038
+ <pre>&lt;%= cite "html.nodes.reference.example" %&gt;</pre>
3039
+
3040
+
3041
+ <p>appears in the output document like this: <sup>[<a class="cite" href="#html.nodes.reference.example">2</a>]</sup></p>
3042
+
3043
+
3044
+ <p>As another example, this node in the input document:</p>
3045
+
3046
+
3047
+ <pre>&lt;%= cite "html.nodes.reference.example", "chapter 10", "page 53", "..." %&gt;</pre>
3048
+
3049
+
3050
+ <p>appears in the output document like this: <sup>[<a class="cite" href="#html.nodes.reference.example">2</a>, chapter 10, page 53, ...]</sup></p></div>
3051
+ </div></p></div>
3052
+ </div></p></div>
3053
+ </div></p></div>
3054
+ </div>
3055
+ <div class="chapter">
3056
+ <h1 class="title">
3057
+ Chapter
3058
+ <a class="toc" id="text" href="#a-607236588">5.2</a>
3059
+
3060
+ <br/>
3061
+
3062
+ <big>Plain text</big>
3063
+ </h1>
3064
+
3065
+ <div class="content"><p>This format is not yet implemented.</p>
3066
+
3067
+
3068
+ <p>http://en.wikipedia.org/wiki/Plain_text</p></div>
3069
+ </div>
3070
+ <div class="chapter">
3071
+ <h1 class="title">
3072
+ Chapter
3073
+ <a class="toc" id="latex" href="#a-607238658">5.3</a>
3074
+
3075
+ <br/>
3076
+
3077
+ <big>LaTeX</big>
3078
+ </h1>
3079
+
3080
+ <div class="content"><p>This format is not yet implemented.</p>
3081
+
3082
+
3083
+ <p>http://www.latex-project.org</p></div>
3084
+ </div>
3085
+ <div class="chapter">
3086
+ <h1 class="title">
3087
+ Chapter
3088
+ <a class="toc" id="man" href="#a-607240758">5.4</a>
3089
+
3090
+ <br/>
3091
+
3092
+ <big>UNIX man page</big>
3093
+ </h1>
3094
+
3095
+ <div class="content"><p>This format is not yet implemented.</p>
3096
+
3097
+
3098
+ <p>http://en.wikipedia.org/wiki/Man_page</p></div>
3099
+ </div></p></div>
3100
+ </div></div>
3101
+
3102
+ <div id="references">
3103
+ <h1 class="title">References</h1>
3104
+ <ol>
3105
+ <li id="KDE.admonitions">L. Watts, &#8220;Admonitions: Tips, hints, and Warnings&#8221;, in <em>The KDE DocBook Authors guide</em>, Chapter 13, [Online document], 22 September 2004 (Revision 1.00.00), [cited 8 December 2007], Available at <a href="http://l10n.kde.org/docs/markup/tips-hints-etc.html">http://l10n.kde.org/docs/markup/tips-hints-etc.html</a></li>
3106
+ <li id="html.nodes.reference.example">This is what a <strong>reference</strong> node appears like.</li>
3107
+ </ol>
3108
+ </div>
3109
+
3110
+ <br style="display: none"/>
3111
+ <hr style="display: none"/>
3112
+ <br style="display: none"/>
3113
+
3114
+ <div id="footer">
3115
+ Generated on Sat Jan 12 17:08:20 -0800 2008 by <a href="http://gerbil.rubyforge.org">Gerbil</a> 1.0.0.
3116
+
3117
+ <p>The admonition icons (<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgI
3118
+ fAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3
3119
+ Lmlua3NjYXBlLm9yZ5vuPBoAAAmCSURBVGiB1ZltbJXlGcd/9/N+Tlssh1Ja
3120
+ hNEJaK2UFxFptqC2wGCSTWdM3DSQzWVDEzVxy4xfjNkHQ8xMnEEXviwZ62Rj
3121
+ 6siWTcVBZeJA5yBQpOWlKNZSaEvpyyk95zwv970Pp+fY5/S0tFBkXsmTc67n
3122
+ eu77+f/u6349Ryil+Cqbdq0FXKldEuClp+3nfvVz/eJLT9vPXQv/igFc13tq
3123
+ w4/ujLqu99S18C9lRr6br7zyyi2WZb2eSqUqpVSUlE5BSmW8/PLL6sv2bdtu
3124
+ TiaT9z/++ONN486AZVm/XLiw+qZlt98Wun/bsqUhf+nSJSF/ya2LQv6ixQtD
3125
+ /sJFC0L+guqqkF91S2XIr6y6idlfm1Vp2/Yz+XSOCiCEqDJMQ3ze+hm6bnC+
3126
+ sx9d1zl+vBlN1znf2Y+m6TQfa0LTvvCbmo6G/KNHj4T8Ix83hvzGI4dD/uHG
3127
+ QyG/peUElmUJIURlPp2jAkgpiwXg+R5FM9dRv3U/heXrkFJSWHZ32i/7NlJK
3128
+ CsrWUr91P9EZa5FSEildQ/3W/USmfwspJc701dRv3Y9dshopJda0VdRv3Y8V
3129
+ W4mUEjO2kvqt+zCm1iGlxCiu5fe/24defBeu6yHSkopHAxD51oEtW7bEb1++
3130
+ rLC5+ShBEKCU+uJCgWJCvlJD9/iinlw/o2O4b5omixct4fixkz2PPPJILB9A
3131
+ 3kEspYzOmjWbxYuWjIiNtfBdjdjg4EWam44XjhYf0YU2b948xTTNoGRaSbjl
3132
+ R2mlqx0rLCxC0zR98+bNdj6AERkIgiDmOI6nlDK/7NbOF1NKYdt2KplMxoCz
3133
+ ufERAKZpxiKRSDC8wnfeeWfUl06W0FxbtWpV9tloNOoPDg6OD0BKGYtEIqGX
3134
+ rV69etKFXio2vGs5jqOklOMbxJqmxaLRqBheSRAEo77sSoWOZkKI7DORSERo
3135
+ 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
3174
+ " alt="note"/> <img src="data:image/png;base64,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
3230
+ " alt="warning"/> <img src="data:image/png;base64,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
3281
+ 4xicOQAAAABJRU5ErkJggg==
3282
+ " alt="caution"/> <img src="data:image/png;base64,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
3337
+ 2wAAAABJRU5ErkJggg==
3338
+ " alt="important"/> <img src="data:image/png;base64,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
3374
+ vWtas31uwpu1hAhsiwNLCGkJlgnbitZmvc4zp19ho6NvrzrAM08+NqXC4DMX
3375
+ Xv1RsLWzWRCTZqZICERCIHprovymiuLayTMT3xzP106lHCvdmLG3dDQld63J
3376
+ enc0pJPX+YE8z0IMGTt53LI4FBZJS0BagmVfT8vWgYFBNTw6+tyhQ189t1Rd
3377
+ y9oTH3rqy4f2fvpv7990/cju69q7nemSr5k5YuJoPF+7srGzoSvtuTxZlueK
3378
+ fvRz1xK+Y1MgiBUxdCKZabFd975CoXzOYbKMERwLspqSdk9z0tnwT//yrYqR
3379
+ +OxyNC27KqHI3P+Tl/99LhEVM+taMykGacGkY4OgUAlGshm30WFSQpC0bAot
3380
+ QYHlkG8Ly29IJZuVil+3iSqWTaHFpFoyybbetoY79z+1P/arlQeXu71cNsAz
3381
+ Tz42pf3ybx974Xk/EVfbmtNugpk0Mel8RY3ZZFLMpGzByiaWjuDQsThIuuzH
3382
+ MsjIOD4rLAotwdKxLNPZ6N375P798fDl0T89fOArLy1XzzXVhQ4e/NpYFNRu
3383
+ /8mJY4muZq9FEDQT6WIlmC3MzrgUKVcQKWGRFMSha7EfVqtObvKKkKEcFcRS
3384
+ CFYtDcntA0OD/uWRkS89ffCx716LlmsubB08+PiF3MTEf2q/mBVCMBEMk1D5
3385
+ QqkwV8hliVhbhMh2WDmCw6HBX7UX8rMjlu34FkGxYe0w73jp+Esp24ivX6uO
3386
+ FVXmlAyfGR8doUbPTVP9O81EhmeGBy+1MyM24FgwtBCWOnfm9U4IGnSEUUKw
3387
+ ZmFiBrpzE7lzTz31pSW/ea9uK6rMCYhTA5cuJbfuuLljYLw0JaszbYh8PXz5
3388
+ 4gbvZ9V7PC+yTRxWpqcKswMD422t7cmhwC+ku9dv9710U28gQxOE/rI28asK
3389
+ cOjQl4f/8q8+NzQ5ermjwTaNuZk32i2KUglX0dTUOPr6NsC2ErgyNon16zNI
3390
+ uDN/ODY2PjYydun0H+z51Ieeff5IYCJ97H0DAIBYqo9/5/nnzv753ofaUj3b
3391
+ rOn8KLq6Q0xOXIFtJ2FbgON42LxlM7q62oUxTm8qtaX3/PkzpXPnz506dOjx
3392
+ f13J+KtSG+3/k4/8sr1j1/aPfuyjuOH6LSiWp6CjKrSuQVCIVDKNZKoJqWQW
3393
+ rtuC4y8dMz/84alAgK47ePCJyfcVYM+ezRu71mYH7rijD2fPr4FlZ7F79060
3394
+ tWXR3NwML+XB9yuYmysgN5HDf5z4GfzaKMZHX/u3F1/85d0rGhyrEEKJhDVX
3395
+ LgVBpILEA/e3Y67YjMGhi3j9F3PIz1RQrkg0NrpoyDCaGgxu2FxDaU5hfFQt
3396
+ ufLwngIcPXohf889N/x4eKR6x+7fymL7tl246aYCAIMwlNCRRLVaRbEwi8Js
3397
+ HoMDs3hrOAdj8PIq6F/5H5q77urrbG3N3L5jexatLduRSd8I11kDISy4jg1m
3398
+ BhFBKo3Lw9MoVwKEUgIws6ugf+UeSKWMDEMZVavSzs++DsdNAjQHIgOpIszM
3399
+ zCGfz6NcKqOnO4tUAjBxLyYnZ/54NQBW7IGjRy/kS6XwRxcvFmFiAZgYWkfQ
3400
+ WsMYg+bmDLq62rGmoxlCCFRrIaam52AMzv+fAPjEJza1Z1vSt+3c2Y7W1puQ
3401
+ 9vqQcP87hIQQICJEWmN8fBbGMNZ1t8N27Fv27NncvdLxVxxCUiY41pqCQOLq
3402
+ ENKxwVyhjOnpPCqVKnrWtSE/ncfgTB5kjC4WQ0NENuq1VXMtP/6uCYCIeP5e
3403
+ BlC+664tf3/06MXPT+Rsa+PGMazp7EIy5aFSriKfL2Bqchpzc3OolMoYHcvh
3404
+ ypWcqtXk53/601EfgId65U4TkZ7vR8aYeElalgNNRGJe+OKjACB27Oja1Nqa
3405
+ ujuZbLjb89Lbk0kL5fIc4ljDcTyEYQSl1PlKpfDi5cul7w8Pz+YAKMxXtq+y
3406
+ aOFo6n9OVg5ARNa86MUAC30HgAsgsWvXrt/cunXrEw899FDSdV0UCgUMDQ3h
3407
+ lVdeCS5evPh3Z86ceW1eeDhvwfxRLhIfLe4bY6J30rWkJJ4PmXcyaxGAe/r0
3408
+ 6Yu+74+dOHFCTU5OIp/P480334zCMMydOXNmDEAGQApAYuGe+futdxqDiOgd
3409
+ ta22BwC4nZ2dXdu2bfujlpaWe4wxNDMz84OzZ88em5qamkZ9ppfjAflu+bDc
3410
+ HGAANv6XHFhk9iI4CwDNm5m3aJG9Ww4o1MPnXQVe09fovEsXBC+AXO16LBK/
3411
+ 0BYggPpqs9jeBlvqCnTNAP/jIXWgBeNF/YXzBfHxIoC3z5cj+Or2X3r9Ye2F
3412
+ 1izgAAAAAElFTkSuQmCC
3413
+ " alt="tip"/>) used in this document are Copyright &copy; 2005 <a href="http://tango.freedesktop.org">Tango Desktop Project</a>. They are part of the <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a> set, which is distributed under the <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License Agreement</a>.</p>
3414
+ </div>
3415
+ </body>
3416
+ </html>