mizuho 0.9.10 → 0.9.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. data/README.markdown +18 -2
  2. data/asciidoc/BUGS +3 -6
  3. data/asciidoc/BUGS.txt +0 -3
  4. data/asciidoc/CHANGELOG +660 -397
  5. data/asciidoc/CHANGELOG.txt +237 -2
  6. data/asciidoc/INSTALL +14 -14
  7. data/asciidoc/MANIFEST +2 -0
  8. data/asciidoc/Makefile.in +9 -1
  9. data/asciidoc/README +2 -2
  10. data/asciidoc/a2x.py +101 -43
  11. data/asciidoc/asciidoc.conf +18 -11
  12. data/asciidoc/asciidoc.py +615 -260
  13. data/asciidoc/common.aap +2 -2
  14. data/asciidoc/configure +9 -9
  15. data/asciidoc/configure.ac +1 -1
  16. data/asciidoc/doc/a2x.1 +34 -4
  17. data/asciidoc/doc/a2x.1.txt +12 -0
  18. data/asciidoc/doc/article.pdf +0 -0
  19. data/asciidoc/doc/asciidoc.1 +73 -29
  20. data/asciidoc/doc/asciidoc.1.txt +56 -30
  21. data/asciidoc/doc/asciidoc.dict +23 -2
  22. data/asciidoc/doc/asciidoc.txt +468 -327
  23. data/asciidoc/doc/book.epub +0 -0
  24. data/asciidoc/doc/faq.txt +201 -25
  25. data/asciidoc/doc/latex-filter.pdf +0 -0
  26. data/asciidoc/doc/music-filter.pdf +0 -0
  27. data/asciidoc/doc/publishing-ebooks-with-asciidoc.txt +1 -1
  28. data/asciidoc/doc/source-highlight-filter.pdf +0 -0
  29. data/asciidoc/doc/source-highlight-filter.txt +48 -37
  30. data/asciidoc/docbook45.conf +4 -4
  31. data/asciidoc/examples/website/ASCIIMathML.js +938 -0
  32. data/asciidoc/examples/website/CHANGELOG.txt +3056 -0
  33. data/asciidoc/examples/website/INSTALL.txt +227 -0
  34. data/asciidoc/examples/website/LaTeXMathML.js +1223 -0
  35. data/asciidoc/examples/website/README-website.txt +29 -0
  36. data/asciidoc/examples/website/README.txt +35 -0
  37. data/asciidoc/examples/website/a2x.1.txt +358 -0
  38. data/asciidoc/examples/website/asciidoc-docbook-xsl.txt +65 -0
  39. data/asciidoc/examples/website/asciidoc-graphviz-sample.txt +170 -0
  40. data/asciidoc/examples/website/asciidoc.css +533 -0
  41. data/asciidoc/examples/website/asciidoc.js +189 -0
  42. data/asciidoc/examples/website/asciidocapi.txt +189 -0
  43. data/asciidoc/examples/website/asciimathml.txt +61 -0
  44. data/asciidoc/examples/website/build-website.sh +25 -0
  45. data/asciidoc/examples/website/customers.csv +18 -0
  46. data/asciidoc/examples/website/epub-notes.txt +210 -0
  47. data/asciidoc/examples/website/faq.txt +1298 -0
  48. data/asciidoc/examples/website/index.txt +502 -0
  49. data/asciidoc/examples/website/latex-backend.txt +192 -0
  50. data/asciidoc/examples/website/latex-bugs.txt +134 -0
  51. data/asciidoc/examples/website/latex-filter.txt +196 -0
  52. data/asciidoc/examples/website/latexmathml.txt +41 -0
  53. data/asciidoc/examples/website/layout1.conf +153 -0
  54. data/asciidoc/examples/website/layout1.css +65 -0
  55. data/asciidoc/examples/website/layout2.conf +153 -0
  56. data/asciidoc/examples/website/layout2.css +83 -0
  57. data/asciidoc/examples/website/main.aap +159 -0
  58. data/asciidoc/examples/website/manpage.txt +197 -0
  59. data/asciidoc/examples/website/music-filter.txt +148 -0
  60. data/asciidoc/examples/website/newlists.txt +40 -0
  61. data/asciidoc/examples/website/newtables.txt +743 -0
  62. data/asciidoc/examples/website/plugins.txt +91 -0
  63. data/asciidoc/examples/website/publishing-ebooks-with-asciidoc.txt +398 -0
  64. data/asciidoc/examples/website/slidy-example.txt +167 -0
  65. data/asciidoc/examples/website/slidy.txt +113 -0
  66. data/asciidoc/examples/website/source-highlight-filter.txt +239 -0
  67. data/asciidoc/examples/website/support.txt +5 -0
  68. data/asciidoc/examples/website/testasciidoc.txt +231 -0
  69. data/asciidoc/examples/website/userguide.txt +5991 -0
  70. data/asciidoc/examples/website/version83.txt +37 -0
  71. data/asciidoc/examples/website/xhtml11-quirks.css +43 -0
  72. data/asciidoc/filters/latex/latex2png.py +28 -12
  73. data/asciidoc/filters/music/music2png.py +22 -6
  74. data/asciidoc/filters/source/source-highlight-filter.conf +7 -5
  75. data/asciidoc/help.conf +147 -131
  76. data/asciidoc/html4.conf +1 -0
  77. data/asciidoc/html5.conf +37 -39
  78. data/asciidoc/javascripts/asciidoc.js +3 -3
  79. data/asciidoc/lang-de.conf +4 -0
  80. data/asciidoc/lang-es.conf +2 -0
  81. data/asciidoc/lang-fr.conf +1 -1
  82. data/asciidoc/lang-hu.conf +2 -0
  83. data/asciidoc/lang-it.conf +2 -0
  84. data/asciidoc/lang-nl.conf +5 -0
  85. data/asciidoc/lang-pt-BR.conf +2 -0
  86. data/asciidoc/lang-ru.conf +2 -3
  87. data/asciidoc/latex.conf +2 -2
  88. data/asciidoc/slidy.conf +4 -2
  89. data/asciidoc/stylesheets/asciidoc.css +29 -4
  90. data/asciidoc/stylesheets/docbook-xsl.css +12 -5
  91. data/asciidoc/stylesheets/toc2.css +1 -0
  92. data/asciidoc/stylesheets/xhtml11-quirks.css +1 -1
  93. data/asciidoc/tests/data/lang-de-man-test.txt +21 -0
  94. data/asciidoc/tests/data/lang-en-man-test.txt +21 -0
  95. data/asciidoc/tests/data/lang-es-man-test.txt +21 -0
  96. data/asciidoc/tests/data/lang-fr-man-test.txt +21 -0
  97. data/asciidoc/tests/data/lang-hu-man-test.txt +21 -0
  98. data/asciidoc/tests/data/lang-it-man-test.txt +21 -0
  99. data/asciidoc/tests/data/lang-it-test.txt +106 -0
  100. data/asciidoc/tests/data/lang-nl-man-test.txt +21 -0
  101. data/asciidoc/tests/data/lang-pt-BR-man-test.txt +21 -0
  102. data/asciidoc/tests/data/lang-ru-man-test.txt +21 -0
  103. data/asciidoc/tests/data/lang-uk-man-test.txt +21 -0
  104. data/asciidoc/tests/data/testcases.conf +10 -0
  105. data/asciidoc/tests/data/testcases.txt +40 -0
  106. data/asciidoc/tests/testasciidoc.conf +143 -17
  107. data/asciidoc/tests/testasciidoc.py +11 -2
  108. data/asciidoc/{stylesheets → themes/flask}/flask.css +0 -0
  109. data/asciidoc/{stylesheets → themes/volnitsky}/volnitsky.css +1 -1
  110. data/asciidoc/vim/ftdetect/asciidoc_filetype.vim +1 -1
  111. data/asciidoc/vim/syntax/asciidoc.vim +1 -1
  112. data/asciidoc/xhtml11-quirks.conf +2 -2
  113. data/asciidoc/xhtml11.conf +35 -37
  114. data/lib/mizuho.rb +1 -1
  115. data/lib/mizuho/generator.rb +3 -1
  116. data/source-highlight/darwin/source-highlight +0 -0
  117. data/templates/juvia.js +30 -5
  118. metadata +58 -9
  119. data/asciidoc/stylesheets/asciidoc-manpage.css +0 -18
  120. data/asciidoc/stylesheets/flask-manpage.css +0 -1
  121. data/asciidoc/stylesheets/volnitsky-manpage.css +0 -1
@@ -1,4 +1,4 @@
1
- personal_ws-1.1 en 1057
1
+ personal_ws-1.1 en 1078
2
2
  mandoc
3
3
  colspecs
4
4
  API
@@ -41,6 +41,7 @@ vulputate
41
41
  Odio
42
42
  doctest
43
43
  comspecs
44
+ MacDermid
44
45
  amet
45
46
  Oleksandr
46
47
  ExampleBlock
@@ -72,6 +73,7 @@ Potapov
72
73
  nisl
73
74
  Gao
74
75
  nullam
76
+ LibreOffice
75
77
  Moolenaar
76
78
  Habitasse
77
79
  mimetypes
@@ -110,6 +112,7 @@ strongwords
110
112
  setlocal
111
113
  ListingBlock
112
114
  listingblock
115
+ formalpara
113
116
  Posuere
114
117
  exe
115
118
  AuthorInfo
@@ -117,6 +120,7 @@ hhk
117
120
  vsides
118
121
  rewriteSystem
119
122
  taoup
123
+ paracounter
120
124
  hhp
121
125
  listelement
122
126
  AttributeLists
@@ -177,6 +181,7 @@ systemIdStartString
177
181
  footnoteref
178
182
  joe
179
183
  velit
184
+ truecolor
180
185
  p�re
181
186
  pere
182
187
  purus
@@ -188,6 +193,7 @@ filetype
188
193
  listnumber
189
194
  SourceForge
190
195
  groff
196
+ McCurry
191
197
  mansource
192
198
  JRE
193
199
  verear
@@ -213,6 +219,7 @@ articleinfo
213
219
  auctor
214
220
  refname
215
221
  mim
222
+ Paillotin
216
223
  Farhat
217
224
  uninstall
218
225
  localdate
@@ -291,6 +298,7 @@ AsciiMathML
291
298
  asciimathml
292
299
  conf
293
300
  RCS
301
+ lowriter
294
302
  UnicodeDecodeError
295
303
  CalloutList
296
304
  SidebarBlocks
@@ -340,6 +348,7 @@ adolescens
340
348
  qui
341
349
  htmltoc
342
350
  SJR
351
+ noautoload
343
352
  biggy
344
353
  pgwide
345
354
  RevisionDate
@@ -422,10 +431,12 @@ undefines
422
431
  Andr�s
423
432
  yellowback
424
433
  Quisque
434
+ Fabrice
425
435
  htmlhelp
426
436
  HTMLHelp
427
437
  cellspacing
428
438
  Citeaux
439
+ themedir
429
440
  srackham
430
441
  Lulea
431
442
  Lule�
@@ -483,6 +494,7 @@ xyz
483
494
  simpara
484
495
  lf
485
496
  defacto
497
+ resized
486
498
  mb
487
499
  IndentedBlocks
488
500
  js
@@ -521,10 +533,12 @@ td
521
533
  px
522
534
  vivamus
523
535
  py
536
+ Helleu
524
537
  getElementById
525
538
  addon
526
539
  th
527
540
  ru
541
+ sp
528
542
  docname
529
543
  ifeval
530
544
  uk
@@ -534,6 +548,7 @@ autolabel
534
548
  LinuxDoc
535
549
  linuxdoc
536
550
  tt
551
+ Hackett
537
552
  VM
538
553
  Fr�d�rique
539
554
  SidebarBlock
@@ -577,6 +592,7 @@ BlockTitle
577
592
  blocktitle
578
593
  blocktitles
579
594
  BlockTitles
595
+ Iisaka
580
596
  tfoot
581
597
  Iisaka's
582
598
  misevaluations
@@ -760,8 +776,8 @@ pagebreak
760
776
  VariableList
761
777
  LiteralBlocks
762
778
  Donec
763
- dbook
764
779
  BLONP
780
+ dbook
765
781
  asciimath
766
782
  interesset
767
783
  pellentesque
@@ -871,6 +887,7 @@ bodyrow
871
887
  navMap
872
888
  listtags
873
889
  mauris
890
+ Wiers
874
891
  ListingBlocks
875
892
  TableUnderline
876
893
  bookinfo
@@ -936,6 +953,7 @@ RevisionInfo
936
953
  Berglunds
937
954
  egestas
938
955
  nabc
956
+ autoloaded
939
957
  symlinked
940
958
  Sommer
941
959
  Klum
@@ -973,8 +991,10 @@ authorinitials
973
991
  JavaScripts
974
992
  javascripts
975
993
  undefining
994
+ viewport
976
995
  leveloffset
977
996
  CustomBlock
997
+ Kr�mer
978
998
  BufRead
979
999
  specialwords
980
1000
  libexslt
@@ -1016,6 +1036,7 @@ Freshmeat
1016
1036
  dbhtml
1017
1037
  manversion
1018
1038
  TableBody
1039
+ Lo�c
1019
1040
  abc
1020
1041
  aliquam
1021
1042
  llevar
@@ -201,8 +201,27 @@ configuration file:
201
201
  backend-alias-html=xhtml11
202
202
  backend-alias-docbook=docbook45
203
203
 
204
+ [[X100]]
205
+ Backend Plugins
206
+ ~~~~~~~~~~~~~~~
207
+ The asciidoc(1) `--backend` option is also used to install and manage
208
+ backend <<X101,plugins>>.
209
+
210
+ - A backend plugin is used just like the built-in backends.
211
+ - Backend plugins <<X27,take precedence>> over built-in backends with
212
+ the same name.
213
+ - You can use the `{asciidoc-confdir}` <<X60, intrinsic attribute>> to
214
+ refer to the built-in backend configuration file location from
215
+ backend plugin configuration files.
216
+ - You can use the `{backend-confdir}` <<X60, intrinsic attribute>> to
217
+ refer to the backend plugin configuration file location.
218
+ - By default backends plugins are installed in
219
+ `$HOME/.asciidoc/backends/<backend>` where `<backend>` is the
220
+ backend name.
221
+
222
+
204
223
  DocBook
205
- ~~~~~~~
224
+ -------
206
225
  AsciiDoc generates 'article', 'book' and 'refentry'
207
226
  http://www.docbook.org/[DocBook] documents (corresponding to the
208
227
  AsciiDoc 'article', 'book' and 'manpage' document types).
@@ -215,45 +234,225 @@ JavaHelp and text. There are also programs that allow you to view
215
234
  DocBook files directly, for example http://live.gnome.org/Yelp[Yelp]
216
235
  (the GNOME help viewer).
217
236
 
218
- [[X35]]
219
- HTML Stylesheets
220
- ~~~~~~~~~~~~~~~~
221
- The 'xhtml11' and 'html5' backends include or link CSS files into
222
- their outputs. The CSS2 stylesheets are located in the distribution
223
- `./stylesheets/` directory.
237
+ [[X12]]
238
+ Converting DocBook to other file formats
239
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
240
+ DocBook files are validated, parsed and translated various
241
+ presentation file formats using a combination of applications
242
+ collectively called a DocBook 'tool chain'. The function of a tool
243
+ chain is to read the DocBook markup (produced by AsciiDoc) and
244
+ transform it to a presentation format (for example HTML, PDF, HTML
245
+ Help, EPUB, DVI, PostScript, LaTeX).
246
+
247
+ A wide range of user output format requirements coupled with a choice
248
+ of available tools and stylesheets results in many valid tool chain
249
+ combinations.
250
+
251
+ [[X43]]
252
+ a2x Toolchain Wrapper
253
+ ~~~~~~~~~~~~~~~~~~~~~
254
+ One of the biggest hurdles for new users is installing, configuring
255
+ and using a DocBook XML toolchain. `a2x(1)` can help -- it's a
256
+ toolchain wrapper command that will generate XHTML (chunked and
257
+ unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
258
+ file outputs from an AsciiDoc text file. `a2x(1)` does all the grunt
259
+ work associated with generating and sequencing the toolchain commands
260
+ and managing intermediate and output files. `a2x(1)` also optionally
261
+ deploys admonition and navigation icons and a CSS stylesheet. See the
262
+ `a2x(1)` man page for more details. In addition to `asciidoc(1)` you
263
+ also need <<X40,xsltproc(1)>>, <<X13,DocBook XSL Stylesheets>> and
264
+ optionally: <<X31,dblatex>> or <<X14,FOP>> (to generate PDF);
265
+ `w3m(1)` or `lynx(1)` (to generate text).
224
266
 
225
- `./stylesheets/asciidoc.css`::
226
- The main stylesheet.
267
+ The following examples generate `doc/source-highlight-filter.pdf` from
268
+ the AsciiDoc `doc/source-highlight-filter.txt` source file. The first
269
+ example uses `dblatex(1)` (the default PDF generator) the second
270
+ example forces FOP to be used:
227
271
 
228
- `./stylesheets/asciidoc-manpage.css`::
229
- Tweaks for manpage document type generation.
272
+ $ a2x -f pdf doc/source-highlight-filter.txt
273
+ $ a2x -f pdf --fop doc/source-highlight-filter.txt
230
274
 
231
- Use the 'theme' attribute to select an alternative set of stylesheets.
232
- For example, the command-line option `-a theme=foo` will use
233
- stylesheets `foo.css`, `foo-manpage.css` instead of the default
234
- stylesheets.
275
+ See the `a2x(1)` man page for details.
235
276
 
236
- Use the 'stylesheet' attribute to include an additional stylesheet in
237
- XHTML documents. For example, the command-line option `-a
238
- stylesheet=newsletter.css` will use stylesheets `newsletter.css`.
277
+ TIP: Use the `--verbose` command-line option to view executed
278
+ toolchain commands.
239
279
 
240
- [[X99]]
241
- HTML Stylesheets and JavaScript file locations
242
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
243
- 'xhtml11' and 'html5' backends use CSS stylesheets and JavaScripts.
244
- CSS and JavaScript files are either embedded in the output document
245
- (when it is generated by AsciiDoc) or linked to the output document
246
- (when it is viewed).
247
-
248
- - If the AsciiDoc 'linkcss' attribute is defined CSS and JavaScript
249
- files are linked otherwise they are embedded (the default behavior).
280
+ HTML generation
281
+ ~~~~~~~~~~~~~~~
282
+ AsciiDoc produces nicely styled HTML directly without requiring a
283
+ DocBook toolchain but there are also advantages in going the DocBook
284
+ route:
285
+
286
+ - HTML from DocBook can optionally include automatically generated
287
+ indexes, tables of contents, footnotes, lists of figures and tables.
288
+ - DocBook toolchains can also (optionally) generate separate (chunked)
289
+ linked HTML pages for each document section.
290
+ - Toolchain processing performs link and document validity checks.
291
+ - If the DocBook 'lang' attribute is set then things like table of
292
+ contents, figure and table captions and admonition captions will be
293
+ output in the specified language (setting the AsciiDoc 'lang'
294
+ attribute sets the DocBook 'lang' attribute).
295
+
296
+ On the other hand, HTML output directly from AsciiDoc is much faster,
297
+ is easily customized and can be used in situations where there is no
298
+ suitable DocBook toolchain (for example, see the {website}[AsciiDoc
299
+ website]).
300
+
301
+ PDF generation
302
+ ~~~~~~~~~~~~~~
303
+ There are two commonly used tools to generate PDFs from DocBook,
304
+ <<X31,dblatex>> and <<X14,FOP>>.
305
+
306
+ .dblatex or FOP?
307
+ - 'dblatex' is easier to install, there's zero configuration
308
+ required and no Java VM to install -- it just works out of the box.
309
+ - 'dblatex' source code highlighting and numbering is superb.
310
+ - 'dblatex' is easier to use as it converts DocBook directly to PDF
311
+ whereas before using 'FOP' you have to convert DocBook to XML-FO
312
+ using <<X13,DocBook XSL Stylesheets>>.
313
+ - 'FOP' is more feature complete (for example, callouts are processed
314
+ inside literal layouts) and arguably produces nicer looking output.
315
+
316
+ HTML Help generation
317
+ ~~~~~~~~~~~~~~~~~~~~
318
+ . Convert DocBook XML documents to HTML Help compiler source files
319
+ using <<X13,DocBook XSL Stylesheets>> and <<X40,xsltproc(1)>>.
320
+ . Convert the HTML Help source (`.hhp` and `.html`) files to HTML Help
321
+ (`.chm`) files using the <<X67,Microsoft HTML Help Compiler>>.
322
+
323
+ Toolchain components summary
324
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
325
+ AsciiDoc::
326
+ Converts AsciiDoc (`.txt`) files to DocBook XML (`.xml`) files.
327
+
328
+ [[X13]]http://docbook.sourceforge.net/projects/xsl/[DocBook XSL Stylesheets]::
329
+ These are a set of XSL stylesheets containing rules for converting
330
+ DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
331
+ The stylesheets are used in conjunction with an XML parser such as
332
+ <<X40,xsltproc(1)>>.
333
+
334
+ [[X40]]http://www.xmlsoft.org[xsltproc]::
335
+ An XML parser for applying XSLT stylesheets (in our case the
336
+ <<X13,DocBook XSL Stylesheets>>) to XML documents.
337
+
338
+ [[X31]]http://dblatex.sourceforge.net/[dblatex]::
339
+ Generates PDF, DVI, PostScript and LaTeX formats directly from
340
+ DocBook source via the intermediate LaTeX typesetting language --
341
+ uses <<X13,DocBook XSL Stylesheets>>, <<X40,xsltproc(1)>> and
342
+ `latex(1)`.
343
+
344
+ [[X14]]http://xml.apache.org/fop/[FOP]::
345
+ The Apache Formatting Objects Processor converts XSL-FO (`.fo`)
346
+ files to PDF files. The XSL-FO files are generated from DocBook
347
+ source files using <<X13,DocBook XSL Stylesheets>> and
348
+ <<X40,xsltproc(1)>>.
349
+
350
+ [[X67]]Microsoft Help Compiler::
351
+ The Microsoft HTML Help Compiler (`hhc.exe`) is a command-line tool
352
+ that converts HTML Help source files to a single HTML Help (`.chm`)
353
+ file. It runs on MS Windows platforms and can be downloaded from
354
+ http://www.microsoft.com.
355
+
356
+ AsciiDoc dblatex configuration files
357
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
358
+ The AsciiDoc distribution `./dblatex` directory contains
359
+ `asciidoc-dblatex.xsl` (customized XSL parameter settings) and
360
+ `asciidoc-dblatex.sty` (customized LaTeX settings). These are examples
361
+ of optional <<X31,dblatex>> output customization and are used by
362
+ <<X43,a2x(1)>>.
363
+
364
+ AsciiDoc DocBook XSL Stylesheets drivers
365
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
366
+ You will have noticed that the distributed HTML and HTML Help
367
+ documentation files (for example `./doc/asciidoc.html`) are not the
368
+ plain outputs produced using the default 'DocBook XSL Stylesheets'
369
+ configuration. This is because they have been processed using
370
+ customized DocBook XSL Stylesheets along with (in the case of HTML
371
+ outputs) the custom `./stylesheets/docbook-xsl.css` CSS stylesheet.
372
+
373
+ You'll find the customized DocBook XSL drivers along with additional
374
+ documentation in the distribution `./docbook-xsl` directory. The
375
+ examples that follow are executed from the distribution documentation
376
+ (`./doc`) directory. These drivers are also used by <<X43,a2x(1)>>.
377
+
378
+ `common.xsl`::
379
+ Shared driver parameters. This file is not used directly but is
380
+ included in all the following drivers.
381
+
382
+ `chunked.xsl`::
383
+ Generate chunked XHTML (separate HTML pages for each document
384
+ section) in the `./doc/chunked` directory. For example:
385
+
386
+ $ python ../asciidoc.py -b docbook asciidoc.txt
387
+ $ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml
388
+
389
+ `epub.xsl`::
390
+ Used by <<X43,a2x(1)>> to generate EPUB formatted documents.
391
+
392
+ `fo.xsl`::
393
+ Generate XSL Formatting Object (`.fo`) files for subsequent PDF
394
+ file generation using FOP. For example:
395
+
396
+ $ python ../asciidoc.py -b docbook article.txt
397
+ $ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml > article.fo
398
+ $ fop article.fo article.pdf
399
+
400
+ `htmlhelp.xsl`::
401
+ Generate Microsoft HTML Help source files for the MS HTML Help
402
+ Compiler in the `./doc/htmlhelp` directory. This example is run on
403
+ MS Windows from a Cygwin shell prompt:
404
+
405
+ $ python ../asciidoc.py -b docbook asciidoc.txt
406
+ $ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
407
+ $ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp
408
+
409
+ `manpage.xsl`::
410
+ Generate a `roff(1)` format UNIX man page from a DocBook XML
411
+ 'refentry' document. This example generates an `asciidoc.1` man
412
+ page file:
413
+
414
+ $ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
415
+ $ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml
416
+
417
+ `xhtml.xsl`::
418
+ Convert a DocBook XML file to a single XHTML file. For example:
419
+
420
+ $ python ../asciidoc.py -b docbook asciidoc.txt
421
+ $ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml > asciidoc.html
422
+
423
+ If you want to see how the complete documentation set is processed
424
+ take a look at the A-A-P script `./doc/main.aap`.
425
+
426
+
427
+ Generating Plain Text Files
428
+ ---------------------------
429
+ AsciiDoc does not have a text backend (for most purposes AsciiDoc
430
+ source text is fine), however you can convert AsciiDoc text files to
431
+ formatted text using the AsciiDoc <<X43,a2x(1)>> toolchain wrapper
432
+ utility.
433
+
434
+
435
+ [[X35]]
436
+ HTML5 and XHTML 1.1
437
+ -------------------
438
+ The 'xhtml11' and 'html5' backends embed or link CSS and JavaScript
439
+ files in their outputs, there is also a <<X99,themes>> plugin
440
+ framework.
441
+
442
+ - If the AsciiDoc 'linkcss' attribute is defined then CSS and
443
+ JavaScript files are linked to the output document, otherwise they
444
+ are embedded (the default behavior).
250
445
  - The default locations for CSS and JavaScript files can be changed by
251
446
  setting the AsciiDoc 'stylesdir' and 'scriptsdir' attributes
252
447
  respectively.
253
448
  - The default locations for embedded and linked files differ and are
254
- calculated at different times -- embedded files are located when
255
- AsciiDoc generates the output document, linked files are located
256
- when the user views the output document.
449
+ calculated at different times -- embedded files are loaded when
450
+ asciidoc(1) generates the output document, linked files are loaded
451
+ by the browser when the user views the output document.
452
+ - Embedded files are automatically inserted in the output files but
453
+ you need to manually copy linked CSS and Javascript files from
454
+ AsciiDoc <<X27,configuration directories>> to the correct location
455
+ relative to the output document.
257
456
 
258
457
  .Stylesheet file locations
259
458
  [cols="3*",frame="topbot",options="header"]
@@ -293,6 +492,38 @@ directory containing the backend conf file).
293
492
 
294
493
  |====================================================================
295
494
 
495
+ [[X99]]
496
+ Themes
497
+ ~~~~~~
498
+ The AsciiDoc 'theme' attribute is used to select an alternative CSS
499
+ stylesheet and to optionally include additional JavaScript code.
500
+
501
+ - Theme files reside in an AsciiDoc <<X27,configuration directory>>
502
+ named `themes/<theme>/` (where `<theme>` is the the theme name set
503
+ by the 'theme' attribute). asciidoc(1) sets the 'themedir' attribute
504
+ to the theme directory path name.
505
+ - The 'theme' attribute can also be set using the asciidoc(1)
506
+ `--theme` option, the `--theme` option can also be used to manage
507
+ theme <<X101,plugins>>.
508
+ - AsciiDoc ships with two themes: 'flask' and 'volnitsky'.
509
+ - The `<theme>.css` file replaces the default `asciidoc.css` CSS file.
510
+ - The `<theme>.js` file is included in addition to the default
511
+ `asciidoc.js` JavaScript file.
512
+ - If the <<X66,data-uri>> attribute is defined then icons are loaded
513
+ from the theme's `icons` sub-directory if it exists (i.e. the
514
+ 'iconsdir' attribute is set to that location).
515
+ - Embedded theme files are automatically inserted in the output files
516
+ but you need to manually copy linked CSS and Javascript files to the
517
+ location of the output documents.
518
+ - Linked CSS and JavaScript theme files are linked to the same linked
519
+ locations as <<X35,other CSS and JavaScript files>>.
520
+
521
+ For example, the command-line option `--theme foo` (or `--attribute
522
+ theme=foo`) will cause asciidoc(1) to search <<"X27","configuration
523
+ file locations 1, 2 and 3">> for a sub-directory called `themes/foo`
524
+ containing the stylesheet `foo.css` and optionally a JavaScript file
525
+ name `foo.js`.
526
+
296
527
 
297
528
  Document Structure
298
529
  ------------------
@@ -454,20 +685,27 @@ attribute entry in the document header.
454
685
  [[X87]]
455
686
  Additional document header information
456
687
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
457
- 'docinfo' files are a mechanism for optionally including additional
458
- meta-data in the header of the output document.
688
+ AsciiDoc has two mechanisms for optionally including additional
689
+ meta-data in the header of the output document:
690
+
691
+ 'docinfo' configuration file sections::
692
+ If a <<X7,configuration file>> section named 'docinfo' has been loaded
693
+ then it will be included in the document header. Typically the
694
+ 'docinfo' section name will be prefixed with a '+' character so that it
695
+ is appended to (rather than replace) other 'docinfo' sections.
459
696
 
697
+ 'docinfo' files::
460
698
  Two docinfo files are recognized: one named `docinfo` and a second
461
699
  named like the AsciiDoc source file with a `-docinfo` suffix. For
462
700
  example, if the source document is called `mydoc.txt` then the
463
701
  document information files would be `docinfo.xml` and
464
702
  `mydoc-docinfo.xml` (for DocBook outputs) and `docinfo.html` and
465
- `mydoc-docinfo.html` (for HTML outputs).
703
+ `mydoc-docinfo.html` (for HTML outputs). The <<X97,docinfo, docinfo1
704
+ and docinfo2>> attributes control which docinfo files are included in
705
+ the output files.
466
706
 
467
- The <<X97,docinfo, docinfo1 and docinfo2>> attributes control which
468
- docinfo files are included in the output files.
469
-
470
- The contents docinfo file is dependent on the type of output:
707
+ The contents docinfo templates and files is dependent on the type of
708
+ output:
471
709
 
472
710
  HTML::
473
711
  Valid 'head' child elements. Typically 'style' and 'script' elements
@@ -568,9 +806,13 @@ The IDs are generated by the following algorithm:
568
806
  `idprefix` attribute is not defined.
569
807
  - A numbered suffix (`_2`, `_3` ...) is added if a same named
570
808
  auto-generated section ID exists.
809
+ - If the `ascii-ids` attribute is defined then non-ASCII characters
810
+ are replaced with ASCII equivalents. This attribute may be
811
+ deprecated in future releases and *should be avoided*, it's sole
812
+ purpose is to accommodate deficient downstream applications that
813
+ cannot process non-ASCII ID attributes.
571
814
 
572
- For example the title 'Jim's House' would generate the ID
573
- `_jim_s_house`.
815
+ Example: the title 'Jim's House' would generate the ID `_jim_s_house`.
574
816
 
575
817
  Section ID synthesis can be disabled by undefining the `sectids`
576
818
  attribute.
@@ -787,7 +1029,7 @@ color names]. Examples:
787
1029
  [red]#Obvious# and [big red yellow-background]*very obvious*.
788
1030
 
789
1031
  [underline]#Underline text#, [overline]#overline text# and
790
- [bold blue line-through]*bold blue and line-through*.
1032
+ [blue line-through]*bold blue and line-through*.
791
1033
 
792
1034
  is rendered as:
793
1035
 
@@ -2519,6 +2761,10 @@ headers. Example:
2519
2761
  does not process nested includes). Setting 'depth' to '1' disables
2520
2762
  nesting inside the included file. By default, nesting is limited to
2521
2763
  a depth of five.
2764
+ - If the he 'warnings' attribute is set to 'False' (or any other Python
2765
+ literal that evaluates to boolean false) then no warning message is
2766
+ printed if the included file does not exist. By default 'warnings'
2767
+ are enabled.
2522
2768
  - Internally the `include1` macro is translated to the `include1`
2523
2769
  system attribute which means it must be evaluated in a region where
2524
2770
  attribute substitution is enabled. To inhibit nested substitution in
@@ -2571,7 +2817,7 @@ Is equivalent to:
2571
2817
  Document text between the `ifeval` and `endif` macros is included if
2572
2818
  the Python expression inside the square brackets is true. Example:
2573
2819
 
2574
- ifeval::[{rs458}==2]]
2820
+ ifeval::[{rs458}==2]
2575
2821
  :
2576
2822
  endif::[]
2577
2823
 
@@ -2615,8 +2861,8 @@ section:
2615
2861
  - The `template::[]` macro is useful for factoring configuration file
2616
2862
  markup.
2617
2863
  - `template::[]` macros cannot be nested.
2618
- - `template::[]` macro expansion is applied to all sections
2619
- after all configuration files have been read.
2864
+ - `template::[]` macro expansion is applied after all configuration
2865
+ files have been read.
2620
2866
 
2621
2867
 
2622
2868
  [[X77]]
@@ -3282,15 +3528,15 @@ Manpage Documents
3282
3528
  Sooner or later, if you program in a UNIX environment, you're going
3283
3529
  to have to write a man page.
3284
3530
 
3285
- By observing a couple of additional conventions you can compose
3286
- AsciiDoc files that will generate DocBook refentry (man page)
3287
- documents. The resulting DocBook file can then be translated to the
3288
- native roff man page format (or other formats).
3531
+ By observing a couple of additional conventions (detailed below) you
3532
+ can write AsciiDoc files that will generate HTML and PDF man pages
3533
+ plus the native manpage roff format. The easiest way to generate roff
3534
+ manpages from AsciiDoc source is to use the a2x(1) command. The
3535
+ following example generates a roff formatted manpage file called
3536
+ `asciidoc.1` (a2x(1) uses asciidoc(1) to convert `asciidoc.1.txt` to
3537
+ DocBook which it then converts to roff using DocBook XSL Stylesheets):
3289
3538
 
3290
- For example, the `asciidoc.1.txt` file in the AsciiDoc distribution
3291
- `./doc` directory was used to generate both the
3292
- `asciidoc.1.css-embedded.html` HTML file the `asciidoc.1` roff
3293
- formatted `asciidoc(1)` man page.
3539
+ a2x --doctype manpage --format manpage asciidoc.1.txt
3294
3540
 
3295
3541
  .Viewing and printing manpage files
3296
3542
  **********************************************************************
@@ -3447,13 +3693,16 @@ lines of text between adjacent section headings.
3447
3693
 
3448
3694
  - Section names consist of one or more alphanumeric, underscore or
3449
3695
  dash characters and cannot begin or end with a dash.
3450
- - Lines starting with a hash character "#" are treated as comments and
3696
+ - Lines starting with a '#' character are treated as comments and
3451
3697
  ignored.
3452
- - Same named sections and section entries override previously loaded
3453
- sections and section entries (this is sometimes referred to as
3454
- 'cascading'). Consequently, downstream configuration files need
3455
- only contain those sections and section entries that need to be
3456
- overridden.
3698
+ - If the section name is prefixed with a '+' character then the
3699
+ section contents is appended to the contents of an already existing
3700
+ same-named section.
3701
+ - Otherwise same-named sections and section entries override
3702
+ previously loaded sections and section entries (this is sometimes
3703
+ referred to as 'cascading'). Consequently, downstream configuration
3704
+ files need only contain those sections and section entries that need
3705
+ to be overridden.
3457
3706
 
3458
3707
  TIP: When creating custom configuration files you only need to include
3459
3708
  the sections and entries that differ from the default configuration.
@@ -3478,7 +3727,7 @@ quotes::
3478
3727
  Definitions for quoted inline character formatting.
3479
3728
  specialwords::
3480
3729
  Lists of words and phrases singled out for special markup.
3481
- replacements, replacements2::
3730
+ replacements, replacements2, replacements3::
3482
3731
  Find and replace substitution definitions.
3483
3732
  specialsections::
3484
3733
  Used to single out special section names for specific markup.
@@ -3715,8 +3964,9 @@ ones.
3715
3964
  [[X10]]
3716
3965
  Replacements section
3717
3966
  ~~~~~~~~~~~~~~~~~~~~
3718
- `[replacements]` and `[replacements2]` configuration file entries
3719
- specify find and replace text and are formatted like:
3967
+ `[replacements]`, `[replacements2]` and `[replacements3]`
3968
+ configuration file entries specify find and replace text and are
3969
+ formatted like:
3720
3970
 
3721
3971
  <find_pattern>=<replacement_text>
3722
3972
 
@@ -3730,6 +3980,12 @@ macro name):
3730
3980
  NEW!=image:./images/smallnew.png[New!]
3731
3981
  \\NEW!=NEW!
3732
3982
 
3983
+ The only difference between the three replacement types is how they
3984
+ are applied. By default 'replacements' and 'replacement2' are applied
3985
+ in <<X102,normal>> substitution contexts whereas 'replacements3' needs
3986
+ to be configured explicitly and should only be used in backend
3987
+ configuration files.
3988
+
3733
3989
  .Replacement behavior
3734
3990
  - The built-in replacements can be escaped with a backslash.
3735
3991
  - If the find or replace text has leading or trailing spaces then the
@@ -3781,6 +4037,11 @@ loaded from the following locations:
3781
4037
  `--conf-file` option can be specified multiple times, in which
3782
4038
  case configuration files will be processed in the same order they
3783
4039
  appear on the command-line.
4040
+ 6. <<X100,Backend plugin>> configuration files are loaded from
4041
+ subdirectories named like `backends/<backend>` in locations 1, 2
4042
+ and 3.
4043
+ 7. <<X59,Filter>> configuration files are loaded from subdirectories
4044
+ named like `filters/<filter>` in locations 1, 2 and 3.
3784
4045
 
3785
4046
  Configuration files from the above locations are loaded in the
3786
4047
  following order:
@@ -3797,13 +4058,14 @@ This first pass makes locally set attributes available in the global
3797
4058
  `asciidoc.conf` in location 4.
3798
4059
  - The document header is parsed at this point and we can assume the
3799
4060
  'backend' and 'doctype' have now been defined.
3800
- - `<backend>.conf` and `<backend>-<doctype>.conf` from locations 1,
3801
- 2,3.
3802
- - Filter conf files from the `filters` directory in locations 1, 2, 3.
4061
+ - Backend plugin `<backend>.conf` and `<backend>-<doctype>.conf` files
4062
+ from locations 6. If a backend plugin is not found then try
4063
+ locations 1, 2 and 3 for `<backend>.conf` and
4064
+ `<backend>-<doctype>.conf` backend configuration files.
4065
+ - Filter conf files from locations 7.
3803
4066
  - `lang-<lang>.conf` from locations 1, 2, 3.
3804
4067
  - `asciidoc.conf` from location 4.
3805
4068
  - `<backend>.conf` and `<backend>-<doctype>.conf` from location 4.
3806
- 2,3.
3807
4069
  - Filter conf files from location 4.
3808
4070
  - `<docfile>.conf` and `<docfile>-<backend>.conf` from location 4.
3809
4071
  - Configuration files from location 5.
@@ -4295,9 +4557,11 @@ predefined intrinsic attributes:
4295
4557
  {backend-<backend>} empty string ''
4296
4558
  {<backend>-<doctype>} empty string ''
4297
4559
  {backend} document backend specified by `-b` option
4560
+ {backend-confdir} the directory containing the <backend>.conf file
4298
4561
  {backslash} backslash character
4299
4562
  {basebackend-<base>} empty string ''
4300
4563
  {basebackend} html or docbook
4564
+ {blockname} current block name (note 8).
4301
4565
  {brvbar} broken vertical bar (|) character
4302
4566
  {docdate} document last modified date
4303
4567
  {docdir} document input directory name (note 5)
@@ -4334,12 +4598,14 @@ predefined intrinsic attributes:
4334
4598
  {notitle} do not display the document title
4335
4599
  {outdir} document output directory name (note 2)
4336
4600
  {outfile} output file name (note 2)
4601
+ {python} the full path name of the Python interpreter executable
4337
4602
  {rdquo} Right double quote character (note 7)
4338
4603
  {reftext} running block xreflabel generated by BlockId elements
4339
4604
  {revdate} document revision date (from document header)
4340
4605
  {revnumber} document revision number (from document header)
4341
4606
  {rsquo} Right single quote character (note 7)
4342
4607
  {sectnum} formatted section number (in section titles)
4608
+ {sp} space character
4343
4609
  {showcomments} send comment lines to the output
4344
4610
  {title} section title (in titled elements)
4345
4611
  {two-colons} Two colon characters
@@ -4375,6 +4641,20 @@ predefined intrinsic attributes:
4375
4641
  7. See
4376
4642
  http://en.wikipedia.org/wiki/Non-English_usage_of_quotation_marks[non-English
4377
4643
  usage of quotation marks].
4644
+ 8. The `{blockname}` attribute identifies the style of the current
4645
+ block. It applies to delimited blocks, lists and tables. Here is a
4646
+ list of `{blockname}` values (does not include filters or custom
4647
+ block and style names):
4648
+
4649
+ delimited blocks:: comment, sidebar, open, pass, literal, verse,
4650
+ listing, quote, example, note, tip, important, caution, warning,
4651
+ abstract, partintro
4652
+
4653
+ lists:: arabic, loweralpha, upperalpha, lowerroman, upperroman,
4654
+ labeled, labeled3, labeled4, qanda, horizontal, bibliography,
4655
+ glossary
4656
+
4657
+ tables:: table
4378
4658
 
4379
4659
  ======
4380
4660
 
@@ -4397,6 +4677,12 @@ template=listingblock
4397
4677
  presubs=specialcharacters,callouts
4398
4678
  ---------------------------------------------------------------------
4399
4679
 
4680
+ Configuration file block definition sections are processed
4681
+ incrementally after each configuration file is loaded. Block
4682
+ definition section entries are merged into the block definition, this
4683
+ allows block parameters to be overridden and extended by later
4684
+ <<X27,loading configuration files>>.
4685
+
4400
4686
  AsciiDoc Paragraph, DelimitedBlock, List and Table block elements
4401
4687
  share a common subset of configuration file parameters:
4402
4688
 
@@ -4435,16 +4721,17 @@ subs, presubs, postsubs::
4435
4721
  * Allowed values: 'specialcharacters', 'quotes', 'specialwords',
4436
4722
  'replacements', 'macros', 'attributes', 'callouts'.
4437
4723
 
4438
- * The following composite values are also allowed:
4724
+ * [[X102]]The following composite values are also allowed:
4439
4725
 
4440
4726
  'none';;
4441
4727
  No substitutions.
4442
4728
  'normal';;
4443
- The following substitutions:
4444
- 'specialcharacters','quotes','attributes','specialwords',
4445
- 'replacements','macros'.
4729
+ The following substitutions in the following order:
4730
+ 'specialcharacters', 'quotes', 'attributes', 'specialwords',
4731
+ 'replacements', 'macros', 'replacements2'.
4446
4732
  'verbatim';;
4447
- 'specialcharacters' and 'callouts' substitutions.
4733
+ The following substitutions in the following order:
4734
+ 'specialcharacters' and 'callouts'.
4448
4735
 
4449
4736
  * 'normal' and 'verbatim' substitutions can be redefined by with
4450
4737
  `subsnormal` and `subsverbatim` entries in a configuration file
@@ -4481,17 +4768,24 @@ be set in block attribute lists and style definitions: 'template',
4481
4768
  [[X23]]
4482
4769
  Styles
4483
4770
  ~~~~~~
4484
- A style is a set of block attributes bundled as a single named
4485
- attribute. The following example defines a style named 'verbatim':
4771
+ A style is a set of block parameter bundled as a single named
4772
+ parameter. The following example defines a style named 'verbatim':
4486
4773
 
4487
4774
  verbatim-style=template="literalblock",subs="verbatim"
4488
4775
 
4776
+ If a block's <<X21,attribute list>> contains a 'style' attribute then
4777
+ the corresponding style parameters are be merged into the default
4778
+ block definition parameters.
4779
+
4489
4780
  - All style parameter names must be suffixed with `-style` and the
4490
4781
  style parameter value is in the form of a list of <<X21,named
4491
4782
  attributes>>.
4492
- - Multi-item style attributes ('subs','presubs','postsubs','posattrs')
4493
- must be specified using Python tuple syntax rather than a simple
4494
- list of values as they in separate entries e.g.
4783
+ - The 'template' style parameter is mandatory, other parameters can be
4784
+ omitted in which case they inherit their values from the default
4785
+ block definition parameters.
4786
+ - Multi-item style parameters ('subs','presubs','postsubs','posattrs')
4787
+ must be specified using Python tuple syntax (rather than a simple
4788
+ list of values as they in separate entries) e.g.
4495
4789
  `postsubs=("callouts",)` not `postsubs="callouts"`.
4496
4790
 
4497
4791
  Paragraphs
@@ -4550,6 +4844,8 @@ sectionbody::
4550
4844
 
4551
4845
  skip::
4552
4846
  The block is treated as a comment (see <<X26,CommentBlocks>>).
4847
+ Preceding <<X21,attribute lists>> and <<X42,block titles>> are not
4848
+ consumed.
4553
4849
 
4554
4850
  'presubs', 'postsubs' and 'filter' entries are ignored when
4555
4851
  'sectionbody' or 'skip' options are set.
@@ -4657,7 +4953,8 @@ filters: they read text from the standard input, process it, and write
4657
4953
  to the standard output.
4658
4954
 
4659
4955
  The asciidoc(1) command `--filter` option can be used to install and
4660
- remove filters.
4956
+ remove filters. The same option is used to unconditionally load a
4957
+ filter.
4661
4958
 
4662
4959
  Attribute substitution is performed on the filter command prior to
4663
4960
  execution -- attributes can be used to pass parameters from the
@@ -4698,7 +4995,10 @@ attribute list: the first positional attribute is the style name,
4698
4995
  remaining attributes are normally filter specific parameters.
4699
4996
 
4700
4997
  asciidoc(1) auto-loads all `.conf` files found in the filter search
4701
- paths (see previous section).
4998
+ paths unless the container directory also contains a file named
4999
+ `__noautoload__` (see previous section). The `__noautoload__` feature
5000
+ is used for filters that will be loaded manually using the `--filter`
5001
+ option.
4702
5002
 
4703
5003
  [[X56]]
4704
5004
  Example Filter
@@ -4713,253 +5013,77 @@ highlighter. If you want a full featured multi-language highlighter
4713
5013
  use the {website}source-highlight-filter.html[source code highlighter
4714
5014
  filter].
4715
5015
 
4716
- [listing]
4717
- .....................................................................
4718
- .Code filter example
4719
- [code,python]
4720
- ----------------------------------------------
4721
- ''' A multi-line
4722
- comment.'''
4723
- def sub_word(mo):
4724
- ''' Single line comment.'''
4725
- word = mo.group('word') # Inline comment
4726
- if word in keywords[language]:
4727
- return quote + word + quote
4728
- else:
4729
- return word
4730
- ----------------------------------------------
4731
- .....................................................................
4732
-
4733
- Outputs:
4734
-
4735
- .Code filter example
4736
- [code,python]
4737
- ----------------------------------------------
4738
- ''' A multi-line
4739
- comment.'''
4740
- def sub_word(mo):
4741
- ''' Single line comment.'''
4742
- word = mo.group('word') # Inline comment
4743
- if word in keywords[language]:
4744
- return quote + word + quote
4745
- else:
4746
- return word
4747
- ----------------------------------------------
4748
-
4749
5016
  Built-in filters
4750
5017
  ~~~~~~~~~~~~~~~~
4751
5018
  The AsciiDoc distribution includes 'source', 'music', 'latex' and
4752
5019
  'graphviz' filters, details are on the
4753
5020
  {website}index.html#_filters[AsciiDoc website].
4754
5021
 
5022
+ [cols="1e,5",frame="topbot",options="header"]
5023
+ .Built-in filters list
5024
+ |====================================================================
5025
+ |Filter name |Description
5026
+
5027
+ |music
5028
+ |A {website}music-filter.html[music filter] is included in the
5029
+ distribution `./filters/` directory. It translates music in
5030
+ http://lilypond.org/[LilyPond] or http://abcnotation.org.uk/[ABC]
5031
+ notation to standard classical notation.
5032
+
5033
+ |source
5034
+ |A {website}source-highlight-filter.html[source code highlight filter]
5035
+ is included in the distribution `./filters/` directory.
5036
+
5037
+ |latex
5038
+ |The {website}latex-filter.html[AsciiDoc LaTeX filter] translates
5039
+ LaTeX source to a PNG image that is automatically inserted into the
5040
+ AsciiDoc output documents.
5041
+
5042
+ |graphviz
5043
+ |Gouichi Iisaka has written a http://www.graphviz.org/[Graphviz]
5044
+ filter for AsciiDoc. Graphviz generates diagrams from a textual
5045
+ specification. Gouichi Iisaka's Graphviz filter is included in the
5046
+ AsciiDoc distribution. Here are some
5047
+ {website}asciidoc-graphviz-sample.html[AsciiDoc Graphviz examples].
5048
+
5049
+ |====================================================================
5050
+
4755
5051
  [[X58]]
4756
5052
  Filter plugins
4757
5053
  ~~~~~~~~~~~~~~
4758
- Filter plugins are a simple mechanism for distributing AsciiDoc
5054
+ Filter <<X101,plugins>> are a mechanism for distributing AsciiDoc
4759
5055
  filters. A filter plugin is a Zip file containing the files that
4760
- constitute a filter. The asciidoc(1) `--filter` option implements
4761
- commands to install, remove and list filter plugins. Filter plugin
4762
- commands and conventions are documented in the asciidoc(1) man page.
4763
- You can find a list of filter plugins on the
4764
- {website}filters.html[AsciiDoc website].
4765
-
4766
-
4767
- [[X12]]
4768
- Converting DocBook to other file formats
4769
- ----------------------------------------
4770
- DocBook files are validated, parsed and translated various
4771
- presentation file formats using a combination of applications
4772
- collectively called a DocBook 'tool chain'. The function of a tool
4773
- chain is to read the DocBook markup (produced by AsciiDoc) and
4774
- transform it to a presentation format (for example HTML, PDF, HTML
4775
- Help, EPUB, DVI, PostScript, LaTeX).
4776
-
4777
- A wide range of user output format requirements coupled with a choice
4778
- of available tools and stylesheets results in many valid tool chain
4779
- combinations.
4780
-
4781
- [[X43]]
4782
- a2x Toolchain Wrapper
4783
- ~~~~~~~~~~~~~~~~~~~~~
4784
- One of the biggest hurdles for new users is installing, configuring
4785
- and using a DocBook XML toolchain. `a2x(1)` can help -- it's a
4786
- toolchain wrapper command that will generate XHTML (chunked and
4787
- unchunked), PDF, EPUB, DVI, PS, LaTeX, man page, HTML Help and text
4788
- file outputs from an AsciiDoc text file. `a2x(1)` does all the grunt
4789
- work associated with generating and sequencing the toolchain commands
4790
- and managing intermediate and output files. `a2x(1)` also optionally
4791
- deploys admonition and navigation icons and a CSS stylesheet. See the
4792
- `a2x(1)` man page for more details. In addition to `asciidoc(1)` you
4793
- also need <<X40,xsltproc(1)>>, <<X13,DocBook XSL Stylesheets>> and
4794
- optionally: <<X31,dblatex>> or <<X14,FOP>> (to generate PDF);
4795
- `w3m(1)` or `lynx(1)` (to generate text).
4796
-
4797
- The following examples generate `doc/source-highlight-filter.pdf` from
4798
- the AsciiDoc `doc/source-highlight-filter.txt` source file. The first
4799
- example uses `dblatex(1)` (the default PDF generator) the second
4800
- example forces FOP to be used:
4801
-
4802
- $ a2x -f pdf doc/source-highlight-filter.txt
4803
- $ a2x -f pdf --fop doc/source-highlight-filter.txt
4804
-
4805
- See the `a2x(1)` man page for details.
4806
-
4807
- TIP: Use the `--verbose` command-line option to view executed
4808
- toolchain commands.
4809
-
4810
- HTML generation
4811
- ~~~~~~~~~~~~~~~
4812
- AsciiDoc produces nicely styled HTML directly without requiring a
4813
- DocBook toolchain but there are also advantages in going the DocBook
4814
- route:
4815
-
4816
- - HTML from DocBook can optionally include automatically generated
4817
- indexes, tables of contents, footnotes, lists of figures and tables.
4818
- - DocBook toolchains can also (optionally) generate separate (chunked)
4819
- linked HTML pages for each document section.
4820
- - Toolchain processing performs link and document validity checks.
4821
- - If the DocBook 'lang' attribute is set then things like table of
4822
- contents, figure and table captions and admonition captions will be
4823
- output in the specified language (setting the AsciiDoc 'lang'
4824
- attribute sets the DocBook 'lang' attribute).
4825
-
4826
- On the other hand, HTML output directly from AsciiDoc is much faster,
4827
- is easily customized and can be used in situations where there is no
4828
- suitable DocBook toolchain (for example, see the {website}[AsciiDoc
4829
- website]).
4830
-
4831
- PDF generation
4832
- ~~~~~~~~~~~~~~
4833
- There are two commonly used tools to generate PDFs from DocBook,
4834
- <<X31,dblatex>> and <<X14,FOP>>.
4835
-
4836
- .dblatex or FOP?
4837
- - 'dblatex' is easier to install, there's zero configuration
4838
- required and no Java VM to install -- it just works out of the box.
4839
- - 'dblatex' source code highlighting and numbering is superb.
4840
- - 'dblatex' is easier to use as it converts DocBook directly to PDF
4841
- whereas before using 'FOP' you have to convert DocBook to XML-FO
4842
- using <<X13,DocBook XSL Stylesheets>>.
4843
- - 'FOP' is more feature complete (for example, callouts are processed
4844
- inside literal layouts) and arguably produces nicer looking output.
4845
-
4846
- HTML Help generation
4847
- ~~~~~~~~~~~~~~~~~~~~
4848
- . Convert DocBook XML documents to HTML Help compiler source files
4849
- using <<X13,DocBook XSL Stylesheets>> and <<X40,xsltproc(1)>>.
4850
- . Convert the HTML Help source (`.hhp` and `.html`) files to HTML Help
4851
- (`.chm`) files using the <<X67,Microsoft HTML Help Compiler>>.
4852
-
4853
- Toolchain components summary
4854
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4855
- AsciiDoc::
4856
- Converts AsciiDoc (`.txt`) files to DocBook XML (`.xml`) files.
4857
-
4858
- [[X13]]http://docbook.sourceforge.net/projects/xsl/[DocBook XSL Stylesheets]::
4859
- These are a set of XSL stylesheets containing rules for converting
4860
- DocBook XML documents to HTML, XSL-FO, manpage and HTML Help files.
4861
- The stylesheets are used in conjunction with an XML parser such as
4862
- <<X40,xsltproc(1)>>.
4863
-
4864
- [[X40]]http://www.xmlsoft.org[xsltproc]::
4865
- An XML parser for applying XSLT stylesheets (in our case the
4866
- <<X13,DocBook XSL Stylesheets>>) to XML documents.
4867
-
4868
- [[X31]]http://dblatex.sourceforge.net/[dblatex]::
4869
- Generates PDF, DVI, PostScript and LaTeX formats directly from
4870
- DocBook source via the intermediate LaTeX typesetting language --
4871
- uses <<X13,DocBook XSL Stylesheets>>, <<X40,xsltproc(1)>> and
4872
- `latex(1)`.
4873
-
4874
- [[X14]]http://xml.apache.org/fop/[FOP]::
4875
- The Apache Formatting Objects Processor converts XSL-FO (`.fo`)
4876
- files to PDF files. The XSL-FO files are generated from DocBook
4877
- source files using <<X13,DocBook XSL Stylesheets>> and
4878
- <<X40,xsltproc(1)>>.
4879
-
4880
- [[X67]]Microsoft Help Compiler::
4881
- The Microsoft HTML Help Compiler (`hhc.exe`) is a command-line tool
4882
- that converts HTML Help source files to a single HTML Help (`.chm`)
4883
- file. It runs on MS Windows platforms and can be downloaded from
4884
- http://www.microsoft.com.
4885
-
4886
- AsciiDoc dblatex configuration files
4887
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4888
- The AsciiDoc distribution `./dblatex` directory contains
4889
- `asciidoc-dblatex.xsl` (customized XSL parameter settings) and
4890
- `asciidoc-dblatex.sty` (customized LaTeX settings). These are examples
4891
- of optional <<X31,dblatex>> output customization and are used by
4892
- <<X43,a2x(1)>>.
5056
+ constitute a filter. The asciidoc(1) `--filter` option is used to
5057
+ load and manage filer <<X101,plugins>>.
4893
5058
 
4894
- AsciiDoc DocBook XSL Stylesheets drivers
4895
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4896
- You will have noticed that the distributed HTML and HTML Help
4897
- documentation files (for example `./doc/asciidoc.html`) are not the
4898
- plain outputs produced using the default 'DocBook XSL Stylesheets'
4899
- configuration. This is because they have been processed using
4900
- customized DocBook XSL Stylesheets along with (in the case of HTML
4901
- outputs) the custom `./stylesheets/docbook-xsl.css` CSS stylesheet.
5059
+ - Filter plugins <<X27,take precedence>> over built-in filters with
5060
+ the same name.
5061
+ - By default filter plugins are installed in
5062
+ `$HOME/.asciidoc/filters/<filter>` where `<filter>` is the filter
5063
+ name.
4902
5064
 
4903
- You'll find the customized DocBook XSL drivers along with additional
4904
- documentation in the distribution `./docbook-xsl` directory. The
4905
- examples that follow are executed from the distribution documentation
4906
- (`./doc`) directory. These drivers are also used by <<X43,a2x(1)>>.
4907
5065
 
4908
- `common.xsl`::
4909
- Shared driver parameters. This file is not used directly but is
4910
- included in all the following drivers.
4911
-
4912
- `chunked.xsl`::
4913
- Generate chunked XHTML (separate HTML pages for each document
4914
- section) in the `./doc/chunked` directory. For example:
4915
-
4916
- $ python ../asciidoc.py -b docbook asciidoc.txt
4917
- $ xsltproc --nonet ../docbook-xsl/chunked.xsl asciidoc.xml
4918
-
4919
- `epub.xsl`::
4920
- Used by <<X43,a2x(1)>> to generate EPUB formatted documents.
4921
-
4922
- `fo.xsl`::
4923
- Generate XSL Formatting Object (`.fo`) files for subsequent PDF
4924
- file generation using FOP. For example:
4925
-
4926
- $ python ../asciidoc.py -b docbook article.txt
4927
- $ xsltproc --nonet ../docbook-xsl/fo.xsl article.xml > article.fo
4928
- $ fop article.fo article.pdf
4929
-
4930
- `htmlhelp.xsl`::
4931
- Generate Microsoft HTML Help source files for the MS HTML Help
4932
- Compiler in the `./doc/htmlhelp` directory. This example is run on
4933
- MS Windows from a Cygwin shell prompt:
4934
-
4935
- $ python ../asciidoc.py -b docbook asciidoc.txt
4936
- $ xsltproc --nonet ../docbook-xsl/htmlhelp.xsl asciidoc.xml
4937
- $ c:/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp
4938
-
4939
- `manpage.xsl`::
4940
- Generate a `roff(1)` format UNIX man page from a DocBook XML
4941
- 'refentry' document. This example generates an `asciidoc.1` man
4942
- page file:
4943
-
4944
- $ python ../asciidoc.py -d manpage -b docbook asciidoc.1.txt
4945
- $ xsltproc --nonet ../docbook-xsl/manpage.xsl asciidoc.1.xml
4946
-
4947
- `xhtml.xsl`::
4948
- Convert a DocBook XML file to a single XHTML file. For example:
4949
-
4950
- $ python ../asciidoc.py -b docbook asciidoc.txt
4951
- $ xsltproc --nonet ../docbook-xsl/xhtml.xsl asciidoc.xml > asciidoc.html
4952
-
4953
- If you want to see how the complete documentation set is processed
4954
- take a look at the A-A-P script `./doc/main.aap`.
4955
-
4956
-
4957
- Generating Plain Text Files
4958
- ---------------------------
4959
- AsciiDoc does not have a text backend (for most purposes AsciiDoc
4960
- source text is fine), however you can convert AsciiDoc text files to
4961
- formatted text using the AsciiDoc <<X43,a2x(1)>> toolchain wrapper
4962
- utility.
5066
+ [[X101]]
5067
+ Plugins
5068
+ -------
5069
+ The AsciiDoc plugin architecture is an extension mechanism that allows
5070
+ additional <<X100,backends>>, <<X58,filters>> and <<X99,themes>> to be
5071
+ added to AsciiDoc.
5072
+
5073
+ - A plugin is a Zip file containing an AsciiDoc backend, filter or
5074
+ theme (configuration files, stylesheets, scripts, images).
5075
+ - The asciidoc(1) `--backend`, `--filter` and `--theme` command-line
5076
+ options are used to load and manage plugins. Each of these options
5077
+ responds to the plugin management 'install', 'list', 'remove' and
5078
+ 'build' commands.
5079
+ - The plugin management command names are reserved and cannot be used
5080
+ for filter, backend or theme names.
5081
+ - The plugin Zip file name always begins with the backend, filter or
5082
+ theme name.
5083
+
5084
+ Plugin commands and conventions are documented in the asciidoc(1) man
5085
+ page. You can find lists of plugins on the
5086
+ {website}plugins.html[AsciiDoc website].
4963
5087
 
4964
5088
 
4965
5089
  [[X36]]
@@ -4970,18 +5094,14 @@ to stdout. The default topic summarizes asciidoc(1) usage:
4970
5094
 
4971
5095
  $ asciidoc --help
4972
5096
 
4973
- To print a list of help topics:
4974
-
4975
- $ asciidoc --help=topics
4976
-
4977
5097
  To print a help topic specify the topic name as a command argument.
4978
5098
  Help topic names can be shortened so long as they are not ambiguous.
4979
5099
  Examples:
4980
5100
 
4981
- $ asciidoc --help=manpage
4982
- $ asciidoc -hm # Short version of previous example.
4983
- $ asciidoc --help=syntax
4984
- $ asciidoc -hs # Short version of previous example.
5101
+ $ asciidoc --help manpage
5102
+ $ asciidoc -h m # Short version of previous example.
5103
+ $ asciidoc --help syntax
5104
+ $ asciidoc -h s # Short version of previous example.
4985
5105
 
4986
5106
  Customizing Help
4987
5107
  ~~~~~~~~~~~~~~~~
@@ -5544,6 +5664,11 @@ The column widths are determined by the browser, not the AsciiDoc
5544
5664
  'cols' attribute. If there is no 'width' attribute the table width is
5545
5665
  also left up to the browser.
5546
5666
 
5667
+ |unbreakable |xhtml11, html5 |block elements|
5668
+ 'unbreakable' attempts to keep the block element together on a single
5669
+ printed page c.f. the 'breakable' and 'unbreakable' docbook (XSL/FO)
5670
+ options below.
5671
+
5547
5672
  |breakable, unbreakable |docbook (XSL/FO) |table, example, block image|
5548
5673
  The 'breakable' options allows block elements to break across page
5549
5674
  boundaries; 'unbreakable' attempts to keep the block element together
@@ -5621,6 +5746,8 @@ name (man page NAME section)
5621
5746
  paragraph
5622
5747
  preamble close
5623
5748
  preamble open
5749
+ push blockname
5750
+ pop blockname
5624
5751
  section close
5625
5752
  section open: level <level>
5626
5753
  subs (all inline substitutions)
@@ -5634,7 +5761,7 @@ Where:
5634
5761
  'open', 'pass', 'listing', 'literal', 'quote', 'example'.
5635
5762
  - `<subs>` is an inline substitution type:
5636
5763
  'specialcharacters','quotes','specialwords', 'replacements',
5637
- 'attributes','macros','callouts', 'replacements2'.
5764
+ 'attributes','macros','callouts', 'replacements2', 'replacements3'.
5638
5765
 
5639
5766
  Command-line examples:
5640
5767
 
@@ -5677,8 +5804,8 @@ generated outputs.
5677
5804
  |Name |Backends |Description
5678
5805
 
5679
5806
  |badges |xhtml11, html5 |
5680
- Link badges ('XHTML 1.1', 'CSS' and 'Get Firefox!') in document
5681
- footers. By default badges are omitted ('badges' is undefined).
5807
+ Link badges ('XHTML 1.1' and 'CSS') in document footers. By default
5808
+ badges are omitted ('badges' is undefined).
5682
5809
 
5683
5810
  NOTE: The path names of images, icons and scripts are relative path
5684
5811
  names to the output document not the source document.
@@ -5686,6 +5813,14 @@ names to the output document not the source document.
5686
5813
  |data-uri |xhtml11, html5 |
5687
5814
  Embed images using the <<X66,data: uri scheme>>.
5688
5815
 
5816
+ |css-signature |html5, xhtml11 |
5817
+ Set a 'CSS signature' for the document (sets the 'id' attribute of the
5818
+ HTML 'body' element). CSS signatures provide a mechanism that allows
5819
+ users to personalize the document appearance. The term 'CSS signature'
5820
+ was http://archivist.incutio.com/viewlist/css-discuss/13291[coined by
5821
+ Eric Meyer].
5822
+
5823
+
5689
5824
  |disable-javascript |xhtml11, html5 |
5690
5825
  If the `disable-javascript` attribute is defined the `asciidoc.js`
5691
5826
  JavaScript is not embedded or linked to the output document. By
@@ -5755,7 +5890,7 @@ Link CSS stylesheets and JavaScripts. By default 'linkcss' is
5755
5890
  undefined in which case stylesheets and scripts are automatically
5756
5891
  embedded in the output document.
5757
5892
 
5758
- |max-width |html5, xhtml11 |
5893
+ |[[X103]]max-width |html5, xhtml11 |
5759
5894
  Set the document maximum display width (sets the 'body' element CSS
5760
5895
  'max-width' property).
5761
5896
 
@@ -5771,7 +5906,7 @@ dealing with large amounts of imported plain text.
5771
5906
  |quirks |xhtml11 |
5772
5907
  Include the `xhtml11-quirks.conf` configuration file and
5773
5908
  `xhtml11-quirks.css` <<X35,stylesheet>> to work around IE6 browser
5774
- incompatibilities. This feature is deprecated and it's use is
5909
+ incompatibilities. This feature is deprecated and its use is
5775
5910
  discouraged -- documents are still viewable in IE6 without it.
5776
5911
 
5777
5912
  |revremark |docbook |
@@ -5781,7 +5916,7 @@ dated to output this attribute.
5781
5916
 
5782
5917
  |scriptsdir |html5, xhtml11 |
5783
5918
  The name of the directory containing linked JavaScripts.
5784
- See <<X99,HTML stylesheets and JavaScript locations>>.
5919
+ See <<X35,HTML stylesheets and JavaScript locations>>.
5785
5920
 
5786
5921
  |sgml |docbook45 |
5787
5922
  The `--backend=docbook45` command-line option produces DocBook 4.5
@@ -5791,13 +5926,13 @@ XML. You can produce the older DocBook SGML format using the
5791
5926
  |stylesdir |html5, xhtml11 |
5792
5927
  The name of the directory containing linked or embedded
5793
5928
  <<X35,stylesheets>>.
5794
- See <<X99,HTML stylesheets and JavaScript locations>>.
5929
+ See <<X35,HTML stylesheets and JavaScript locations>>.
5795
5930
 
5796
5931
  |stylesheet |html5, xhtml11 |
5797
5932
  The file name of an optional additional CSS <<X35,stylesheet>>.
5798
5933
 
5799
5934
  |theme |html5, xhtml11 |
5800
- Use alternative stylesheets (see <<X35,Stylesheets>>).
5935
+ Use alternative stylesheet (see <<X35,Stylesheets>>).
5801
5936
 
5802
5937
  |[[X91]]toc |html5, xhtml11, docbook (XSL Stylesheets) |
5803
5938
  Adds a table of contents to the start of an article or book document.
@@ -5822,6 +5957,12 @@ article or book document. Use the 'max-width' attribute to change the
5822
5957
  content width. In all other respects behaves the same as the 'toc'
5823
5958
  attribute.
5824
5959
 
5960
+ |toc-placement |html5, xhtml11 |
5961
+ When set to 'auto' (the default value) asciidoc(1) will display the
5962
+ 'Table of Contents' in the document header. When set to 'manual' the
5963
+ 'Table of Contents' position is determined by the position of the
5964
+ `toc::[]` block macro.
5965
+
5825
5966
  |toc-title |html5, xhtml11 |
5826
5967
  Sets the table of contents title (defaults to 'Table of Contents').
5827
5968