asciidoctor 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of asciidoctor might be problematic. Click here for more details.

Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +85 -0
  3. data/README.adoc +79 -6
  4. data/Rakefile +22 -1
  5. data/benchmark/benchmark.rb +3 -1
  6. data/compat/asciidoc.conf +2 -2
  7. data/data/stylesheets/asciidoctor-default.css +3 -3
  8. data/features/step_definitions.rb +12 -1
  9. data/lib/asciidoctor.rb +74 -42
  10. data/lib/asciidoctor/abstract_block.rb +5 -1
  11. data/lib/asciidoctor/abstract_node.rb +40 -23
  12. data/lib/asciidoctor/attribute_list.rb +14 -5
  13. data/lib/asciidoctor/block.rb +45 -12
  14. data/lib/asciidoctor/callouts.rb +1 -0
  15. data/lib/asciidoctor/cli/invoker.rb +6 -2
  16. data/lib/asciidoctor/cli/options.rb +23 -9
  17. data/lib/asciidoctor/converter.rb +9 -19
  18. data/lib/asciidoctor/converter/base.rb +11 -14
  19. data/lib/asciidoctor/converter/composite.rb +8 -19
  20. data/lib/asciidoctor/converter/docbook45.rb +1 -0
  21. data/lib/asciidoctor/converter/docbook5.rb +24 -2
  22. data/lib/asciidoctor/converter/factory.rb +1 -0
  23. data/lib/asciidoctor/converter/html5.rb +61 -25
  24. data/lib/asciidoctor/converter/template.rb +19 -26
  25. data/lib/asciidoctor/document.rb +73 -45
  26. data/lib/asciidoctor/extensions.rb +121 -9
  27. data/lib/asciidoctor/helpers.rb +1 -0
  28. data/lib/asciidoctor/inline.rb +1 -0
  29. data/lib/asciidoctor/list.rb +1 -0
  30. data/lib/asciidoctor/opal_ext.rb +22 -0
  31. data/lib/asciidoctor/opal_ext/file.rb +26 -13
  32. data/lib/asciidoctor/parser.rb +15 -18
  33. data/lib/asciidoctor/path_resolver.rb +18 -0
  34. data/lib/asciidoctor/reader.rb +8 -9
  35. data/lib/asciidoctor/section.rb +5 -8
  36. data/lib/asciidoctor/stylesheets.rb +1 -0
  37. data/lib/asciidoctor/substitutors.rb +18 -18
  38. data/lib/asciidoctor/table.rb +2 -1
  39. data/lib/asciidoctor/timings.rb +1 -0
  40. data/lib/asciidoctor/version.rb +1 -1
  41. data/man/asciidoctor.1 +10 -11
  42. data/man/asciidoctor.adoc +80 -99
  43. data/test/attributes_test.rb +42 -0
  44. data/test/blocks_test.rb +19 -7
  45. data/test/document_test.rb +114 -0
  46. data/test/extensions_test.rb +100 -0
  47. data/test/fixtures/custom-docinfodir/basic-docinfo.html +1 -0
  48. data/test/fixtures/custom-docinfodir/docinfo.html +1 -0
  49. data/test/fixtures/hello-asciidoctor.pdf +0 -0
  50. data/test/invoker_test.rb +4 -3
  51. data/test/lists_test.rb +31 -5
  52. data/test/options_test.rb +1 -1
  53. data/test/paths_test.rb +21 -0
  54. data/test/preamble_test.rb +33 -0
  55. data/test/reader_test.rb +13 -0
  56. data/test/sections_test.rb +22 -0
  57. data/test/substitutions_test.rb +49 -0
  58. data/test/tables_test.rb +76 -0
  59. data/test/test_helper.rb +4 -2
  60. metadata +7 -5
  61. data/lib/asciidoctor/debug.rb +0 -25
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  module Asciidoctor
2
3
  # Public: Methods for managing sections of AsciiDoc content in a document.
3
4
  # The section responds as an Array of content blocks by delegating
@@ -41,14 +42,10 @@ class Section < AbstractBlock
41
42
  # parent - The parent Asciidoc Object.
42
43
  def initialize parent = nil, level = nil, numbered = true, opts = {}
43
44
  super parent, :section, opts
44
- if level.nil?
45
- if parent
46
- @level = parent.level + 1
47
- elsif @level.nil?
48
- @level = 1
49
- end
50
- else
45
+ if level
51
46
  @level = level
47
+ else
48
+ @level = parent ? (parent.level + 1) : 1
52
49
  end
53
50
  @numbered = numbered && @level > 0
54
51
  @special = parent && parent.context == :section && parent.special
@@ -96,7 +93,7 @@ class Section < AbstractBlock
96
93
  base_id = base_id[1..-1] while base_id.start_with?(sep)
97
94
  end
98
95
  gen_id = base_id
99
- cnt = 2
96
+ cnt = Compliance.unique_id_start_index
100
97
  while @document.references[:ids].has_key? gen_id
101
98
  gen_id = "#{base_id}#{sep}#{cnt}"
102
99
  cnt += 1
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  module Asciidoctor
2
3
  # A utility class for working with the built-in stylesheets.
3
4
  #--
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  module Asciidoctor
2
3
  # Public: Methods to perform substitutions on lines of AsciiDoc text. This module
3
4
  # is intented to be mixed-in to Section and Block to provide operations for performing
@@ -1031,14 +1032,6 @@ module Substitutors
1031
1032
  #else
1032
1033
  # reftext = "[#{id}]"
1033
1034
  #end
1034
- if @document.references[:ids].has_key? id
1035
- # reftext may not match since inline substitutions have been applied
1036
- #if reftext != @document.references[:ids][id]
1037
- # Debug.debug { "Mismatched reference for anchor #{id}" }
1038
- #end
1039
- else
1040
- Debug.debug { "Missing reference for anchor #{id}" }
1041
- end
1042
1035
  Inline.new(self, :anchor, reftext, :type => :ref, :target => id).convert
1043
1036
  }
1044
1037
  end
@@ -1112,13 +1105,15 @@ module Substitutors
1112
1105
  text
1113
1106
  end
1114
1107
 
1115
- # Public: Substitute callout references
1108
+ # Public: Substitute callout source references
1116
1109
  #
1117
1110
  # text - The String text to process
1118
1111
  #
1119
1112
  # Returns the converted String text
1120
1113
  def sub_callouts(text)
1121
- text.gsub(CalloutConvertRx) {
1114
+ # FIXME cache this dynamic regex
1115
+ callout_rx = (attr? 'line-comment') ? /(?:#{::Regexp.escape(attr 'line-comment')} )?#{CalloutSourceRxt}/ : CalloutSourceRx
1116
+ text.gsub(callout_rx) {
1122
1117
  # alias match for Ruby 1.8.7 compat
1123
1118
  m = $~
1124
1119
  # honor the escape
@@ -1396,22 +1391,24 @@ module Substitutors
1396
1391
  # incorrectly processed by the source highlighter.
1397
1392
  #
1398
1393
  # source - the source code String to highlight
1399
- # sub_callouts - a Boolean flag indicating whether callout marks should be substituted
1394
+ # process_callouts - a Boolean flag indicating whether callout marks should be substituted
1400
1395
  #
1401
1396
  # returns the highlighted source code, if a source highlighter is defined
1402
1397
  # on the document, otherwise the unprocessed text
1403
- def highlight_source(source, sub_callouts, highlighter = nil)
1398
+ def highlight_source(source, process_callouts, highlighter = nil)
1404
1399
  highlighter ||= @document.attributes['source-highlighter']
1405
1400
  Helpers.require_library highlighter, (highlighter == 'pygments' ? 'pygments.rb' : highlighter)
1406
- callout_marks = {}
1407
1401
  lineno = 0
1408
1402
  callout_on_last = false
1409
- if sub_callouts
1403
+ if process_callouts
1404
+ callout_marks = {}
1410
1405
  last = -1
1406
+ # FIXME cache this dynamic regex
1407
+ callout_rx = (attr? 'line-comment') ? /(?:#{::Regexp.escape(attr 'line-comment')} )?#{CalloutExtractRxt}/ : CalloutExtractRx
1411
1408
  # extract callout marks, indexed by line number
1412
1409
  source = source.split(EOL).map {|line|
1413
1410
  lineno = lineno + 1
1414
- line.gsub(CalloutScanRx) {
1411
+ line.gsub(callout_rx) {
1415
1412
  # alias match for Ruby 1.8.7 compat
1416
1413
  m = $~
1417
1414
  # honor the escape
@@ -1425,6 +1422,9 @@ module Substitutors
1425
1422
  }
1426
1423
  } * EOL
1427
1424
  callout_on_last = (last == lineno)
1425
+ callout_marks = nil if callout_marks.empty?
1426
+ else
1427
+ callout_marks = nil
1428
1428
  end
1429
1429
 
1430
1430
  linenums_mode = nil
@@ -1467,9 +1467,7 @@ module Substitutors
1467
1467
  result = result.gsub PASS_MATCH_HI, %(#{PASS_START}\\1#{PASS_END})
1468
1468
  end
1469
1469
 
1470
- if !sub_callouts || callout_marks.empty?
1471
- result
1472
- else
1470
+ if process_callouts && callout_marks
1473
1471
  lineno = 0
1474
1472
  reached_code = linenums_mode != :table
1475
1473
  result.split(EOL).map {|line|
@@ -1502,6 +1500,8 @@ module Substitutors
1502
1500
  line
1503
1501
  end
1504
1502
  } * EOL
1503
+ else
1504
+ result
1505
1505
  end
1506
1506
  end
1507
1507
 
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  module Asciidoctor
2
3
  # Public: Methods and constants for managing AsciiDoc table content in a document.
3
4
  # It supports all three of AsciiDoc's table formats: psv, dsv and csv.
@@ -486,7 +487,7 @@ class Table::ParserContext
486
487
  # TODO perhaps the col_count/linenum logic should be in end_of_row? (or a should_end_row? method)
487
488
  close_row if end_of_row? && (@col_count != -1 || @linenum > 0 || (eol && i == repeat))
488
489
  end
489
- @open_cell = false
490
+ @cell_open = false
490
491
  nil
491
492
  end
492
493
 
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  module Asciidoctor
2
3
  class Timings
3
4
  def initialize
@@ -1,3 +1,3 @@
1
1
  module Asciidoctor
2
- VERSION = '1.5.1'
2
+ VERSION = '1.5.2'
3
3
  end
data/man/asciidoctor.1 CHANGED
@@ -1,13 +1,13 @@
1
1
  '\" t
2
2
  .\" Title: asciidoctor
3
3
  .\" Author: Dan Allen
4
- .\" Generator: Asciidoctor 1.5.0
5
- .\" Date: 2014-05-19
4
+ .\" Generator: Asciidoctor 1.5.2
5
+ .\" Date: 2014-11-27
6
6
  .\" Manual: Asciidoctor Manual
7
- .\" Source: Asciidoctor 1.5.0
7
+ .\" Source: Asciidoctor 1.5.2
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "ASCIIDOCTOR" "1" "2014-08-12" "Asciidoctor 1\&.5\&.0" "Asciidoctor Manual"
10
+ .TH "ASCIIDOCTOR" "1" "2014-11-27" "Asciidoctor 1\&.5\&.2" "Asciidoctor Manual"
11
11
  .ie \n(.g .ds Aq \(aq
12
12
  .el .ds Aq '
13
13
  .nh
@@ -50,7 +50,7 @@ This option may be specified more than once\&.
50
50
  .PP
51
51
  \fB\-b, \-\-backend\fR=\fIBACKEND\fR
52
52
  .RS 4
53
- Backend output file format: \fIhtml5\fR, \fIdocbook45\fR and \fIdocbook5\fR supported out of the box\&. You can also use the backend alias names \fIhtml\fR (aliased to \fIhtml5\fR) or \fIdocbook\fR (aliased to \fIdocbook5\fR)\&. Defaults to \fIhtml5\fR\&. Other options can be passed, but if Asciidoctor cannot find the backend, it will fail during rendering\&.
53
+ Backend output file format: \fIhtml5\fR, \fIdocbook45\fR and \fIdocbook5\fR supported out of the box\&. You can also use the backend alias names \fIhtml\fR (aliased to \fIhtml5\fR) or \fIdocbook\fR (aliased to \fIdocbook5\fR)\&. Defaults to \fIhtml5\fR\&. Other options can be passed, but if Asciidoctor cannot find the backend, it will fail during conversion\&.
54
54
  .RE
55
55
  .PP
56
56
  \fB\-d, \-\-doctype\fR=\fIDOCTYPE\fR
@@ -71,12 +71,12 @@ Destination output directory\&. Defaults to the directory containing the source
71
71
  .PP
72
72
  \fB\-E, \-\-template\-engine\fR=\fINAME\fR
73
73
  .RS 4
74
- Template engine to use for the custom render templates\&. The gem with the same name as the engine will be loaded automatically\&. This name is also used to build the full path to the custom templates\&. If a template engine is not specified, it will be auto\-detected based on the file extension of the custom templates found\&.
74
+ Template engine to use for the custom converter templates\&. The gem with the same name as the engine will be loaded automatically\&. This name is also used to build the full path to the custom converter templates\&. If a template engine is not specified, it will be auto\-detected based on the file extension of the custom converter templates found\&.
75
75
  .RE
76
76
  .PP
77
77
  \fB\-e, \-\-eruby\fR
78
78
  .RS 4
79
- Specifies the eRuby implementation to use for rendering the custom ERB templates\&. Supported values are \fIerb\fR and \fIerubis\fR\&. Defaults to \fIerb\fR\&.
79
+ Specifies the eRuby implementation to use for executing the custom converter templates written in ERB\&. Supported values are \fIerb\fR and \fIerubis\fR\&. Defaults to \fIerb\fR\&.
80
80
  .RE
81
81
  .PP
82
82
  \fB\-n, \-\-section\-numbers\fR
@@ -96,7 +96,7 @@ Suppress the document header and footer in the output\&.
96
96
  .PP
97
97
  \fB\-T, \-\-template\-dir\fR=\fIDIR\fR
98
98
  .RS 4
99
- A directory containing custom render templates that override one or more templates from the built\-in set\&. (requires \fItilt\fR gem)
99
+ A directory containing custom converter templates that override one or more templates from the built\-in set\&. (requires \fItilt\fR gem)
100
100
  .sp
101
101
  If there is a subfolder that matches the engine name (if specified), that folder is appended to the template directory path\&. Similarly, if there is a subfolder in the resulting template directory that matches the name of the backend, that folder is appended to the template directory path\&.
102
102
  .sp
@@ -121,7 +121,7 @@ Verbosely print processing information and configuration file checks to stderr\&
121
121
  .PP
122
122
  \fB\-t, \-\-timings\fR
123
123
  .RS 4
124
- Display timings information (time to read, parse and convert)
124
+ Display timings information (time to read, parse and convert)\&.
125
125
  .RE
126
126
  .SS "Program Information"
127
127
  .PP
@@ -129,7 +129,6 @@ Display timings information (time to read, parse and convert)
129
129
  .RS 4
130
130
  Show the help message\&.
131
131
  .RE
132
- .PP
133
132
  \fB\-V, \-\-version\fR
134
133
  .RS 4
135
134
  Print program version number\&.
@@ -138,7 +137,7 @@ Print program version number\&.
138
137
  .PP
139
138
  \fB0\fR
140
139
  .RS 4
141
- Success
140
+ Success\&.
142
141
  .RE
143
142
  .PP
144
143
  \fB1\fR
data/man/asciidoctor.adoc CHANGED
@@ -2,173 +2,155 @@
2
2
  Dan Allen; Sarah White; Ryan Waldron
3
3
  :doctype: manpage
4
4
  :man manual: Asciidoctor Manual
5
- :man source: Asciidoctor 1.5.0
5
+ :man source: Asciidoctor 1.5.2
6
6
  :page-layout: base
7
7
 
8
8
  == NAME
9
9
 
10
10
  asciidoctor - converts AsciiDoc source files to HTML, DocBook and other formats
11
11
 
12
-
13
12
  == SYNOPSIS
14
13
 
15
- *asciidoctor* ['OPTION']... 'FILE'...
16
-
14
+ *asciidoctor* [_OPTION_]... _FILE_...
17
15
 
18
16
  == DESCRIPTION
19
17
 
20
- The asciidoctor(1) command converts the AsciiDoc source file(s) 'FILE' to HTML5,
21
- DocBook 4.5, DocBook 5.0 and other custom output formats.
22
-
23
- If 'FILE' is '-' then the AsciiDoc source is read from standard input.
18
+ The asciidoctor(1) command converts the AsciiDoc source file(s) _FILE_ to HTML5, DocBook 4.5, DocBook 5.0 and other custom output formats.
24
19
 
20
+ If _FILE_ is _-_ then the AsciiDoc source is read from standard input.
25
21
 
26
22
  == OPTIONS
27
23
 
28
24
  === Security Settings
29
25
 
30
- *-B, --base-dir*='DIR'::
31
- Base directory containing the document and resources. Defaults to the
32
- directory containing the source file, or the working directory if the
33
- source is read from a stream. Can be used as a way to chroot the execution
34
- of the program.
26
+ *-B, --base-dir*=_DIR_::
27
+ Base directory containing the document and resources.
28
+ Defaults to the directory containing the source file, or the working directory if the source is read from a stream.
29
+ Can be used as a way to chroot the execution of the program.
35
30
 
36
- *-S, --safe-mode*='SAFE_MODE'::
37
- Set safe mode level: 'unsafe', 'safe', 'server' or 'secure'. Disables
38
- potentially dangerous macros in source files, such as include::[]. If not
39
- set, the safe mode level defaults to 'unsafe' when Asciidoctor is invoked
40
- using this script.
31
+ *-S, --safe-mode*=_SAFE_MODE_::
32
+ Set safe mode level: _unsafe_, _safe_, _server_ or _secure_.
33
+ Disables potentially dangerous macros in source files, such as `include::[]`.
34
+ If not set, the safe mode level defaults to _unsafe_ when Asciidoctor is invoked using this script.
41
35
 
42
36
  *--safe*::
43
- Set safe mode level to 'safe'. Enables include macros, but restricts access
44
- to ancestor paths of source file. Provided for compatibility with the
45
- asciidoc command. If not set, the safe mode level defaults to 'unsafe' when
46
- Asciidoctor is invoked using this script.
37
+ Set safe mode level to _safe_.
38
+ Enables include macros, but restricts access to ancestor paths of source file.
39
+ Provided for compatibility with the asciidoc command.
40
+ If not set, the safe mode level defaults to _unsafe_ when Asciidoctor is invoked using this script.
47
41
 
48
42
  === Document Settings
49
43
 
50
- *-a, --attribute*='ATTRIBUTE'::
51
- Define, override or delete a document attribute. Command-line attributes
52
- take precedence over attributes defined in the source file.
44
+ *-a, --attribute*=_ATTRIBUTE_::
45
+ Define, override or delete a document attribute.
46
+ Command-line attributes take precedence over attributes defined in the source file.
53
47
  +
54
- 'ATTRIBUTE' is normally formatted as a key-value pair, in the form 'NAME=VALUE'.
55
- Alternate acceptable forms are 'NAME' (where the 'VALUE' defaults to an empty
56
- string), 'NAME!' (unassigns the 'NAME' attribute) and 'NAME=VALUE@' (where
57
- 'VALUE' does not override value of 'NAME' attribute if it's already defined in
58
- the source document). Values containing spaces should be enclosed in quotes.
48
+ _ATTRIBUTE_ is normally formatted as a key-value pair, in the form _NAME=VALUE_.
49
+ Alternate acceptable forms are _NAME_ (where the _VALUE_ defaults to an empty string), _NAME!_ (unassigns the _NAME_ attribute) and _NAME=VALUE@_ (where _VALUE_ does not override value of _NAME_ attribute if it's already defined in the source document).
50
+ Values containing spaces should be enclosed in quotes.
59
51
  +
60
- This option may be specified more than once.
61
-
62
- *-b, --backend*='BACKEND'::
63
- Backend output file format: 'html5', 'docbook45' and 'docbook5' supported
64
- out of the box. You can also use the backend alias names 'html' (aliased to
65
- 'html5') or 'docbook' (aliased to 'docbook5'). Defaults to 'html5'. Other
66
- options can be passed, but if Asciidoctor cannot find the backend, it will
67
- fail during rendering.
68
-
69
- *-d, --doctype*='DOCTYPE'::
70
- Document type: 'article', 'book', 'manpage' or 'inline'. Sets the root
71
- element when using the 'docbook' backend and the style class on the HTML
72
- body element when using the 'html' backend. The 'book' document type allows
73
- multiple level-0 section titles in a single document. The 'manpage' document
74
- type enables parsing of metadata necessary to produce a manpage. The
75
- 'inline' document type allows the content of a single paragraph to be
76
- formatted and returned without wrapping it in a containing element. Defaults
77
- to 'article'.
52
+ This option may be specified more than once.
53
+
54
+ *-b, --backend*=_BACKEND_::
55
+ Backend output file format: _html5_, _docbook45_ and _docbook5_ supported out of the box.
56
+ You can also use the backend alias names _html_ (aliased to _html5_) or _docbook_ (aliased to _docbook5_).
57
+ Defaults to _html5_.
58
+ Other options can be passed, but if Asciidoctor cannot find the backend, it will fail during conversion.
59
+
60
+ *-d, --doctype*=_DOCTYPE_::
61
+ Document type: _article_, _book_, _manpage_ or _inline_.
62
+ Sets the root element when using the _docbook_ backend and the style class on the HTML body element when using the _html_ backend.
63
+ The _book_ document type allows multiple level-0 section titles in a single document.
64
+ The _manpage_ document type enables parsing of metadata necessary to produce a manpage.
65
+ The _inline_ document type allows the content of a single paragraph to be formatted and returned without wrapping it in a containing element.
66
+ Defaults to _article_.
78
67
 
79
68
  === Rendering Control
80
69
 
81
70
  *-C, --compact*::
82
- Compact the output by removing blank lines. (No longer in use).
71
+ Compact the output by removing blank lines.
72
+ (No longer in use).
83
73
 
84
- *-D, --destination-dir*='DIR'::
85
- Destination output directory. Defaults to the directory containing the
86
- source file, or the working directory if the source is read from a stream.
87
- If specified, the directory is resolved relative to the working directory.
74
+ *-D, --destination-dir*=_DIR_::
75
+ Destination output directory.
76
+ Defaults to the directory containing the source file, or the working directory if the source is read from a stream.
77
+ If specified, the directory is resolved relative to the working directory.
88
78
 
89
- *-E, --template-engine*='NAME'::
90
- Template engine to use for the custom render templates. The gem with the
91
- same name as the engine will be loaded automatically. This name is also
92
- used to build the full path to the custom templates. If a template engine
93
- is not specified, it will be auto-detected based on the file extension
94
- of the custom templates found.
79
+ *-E, --template-engine*=_NAME_::
80
+ Template engine to use for the custom converter templates.
81
+ The gem with the same name as the engine will be loaded automatically.
82
+ This name is also used to build the full path to the custom converter templates.
83
+ If a template engine is not specified, it will be auto-detected based on the file extension of the custom converter templates found.
95
84
 
96
85
  *-e, --eruby*::
97
- Specifies the eRuby implementation to use for rendering the custom ERB
98
- templates. Supported values are 'erb' and 'erubis'. Defaults to 'erb'.
86
+ Specifies the eRuby implementation to use for executing the custom converter templates written in ERB.
87
+ Supported values are _erb_ and _erubis_.
88
+ Defaults to _erb_.
99
89
 
100
90
  *-n, --section-numbers*::
101
- Auto-number section titles. Synonym for *--attribute numbered*.
91
+ Auto-number section titles.
92
+ Synonym for *--attribute numbered*.
102
93
 
103
- *-o, --out-file*='OUT_FILE'::
104
- Write output to file 'OUT_FILE'. Defaults to the base name of the input
105
- file suffixed with 'backend' extension. If the input is read from standard
106
- input, then the output file defaults to stdout. If 'OUT_FILE' is '-' then
107
- the standard output is also used. If specified, the file is resolved
108
- relative to the working directory.
94
+ *-o, --out-file*=_OUT_FILE_::
95
+ Write output to file _OUT_FILE_.
96
+ Defaults to the base name of the input file suffixed with _backend_ extension.
97
+ If the input is read from standard input, then the output file defaults to stdout.
98
+ If _OUT_FILE_ is _-_ then the standard output is also used.
99
+ If specified, the file is resolved relative to the working directory.
109
100
 
110
101
  *-s, --no-header-footer*::
111
- Suppress the document header and footer in the output.
102
+ Suppress the document header and footer in the output.
112
103
 
113
- *-T, --template-dir*='DIR'::
114
- A directory containing custom render templates that override one or more
115
- templates from the built-in set. (requires 'tilt' gem)
104
+ *-T, --template-dir*=_DIR_::
105
+ A directory containing custom converter templates that override one or more templates from the built-in set.
106
+ (requires _tilt_ gem)
116
107
  +
117
- If there is a subfolder that matches the engine name (if specified), that folder
118
- is appended to the template directory path. Similarly, if there is a subfolder
119
- in the resulting template directory that matches the name of the backend, that
120
- folder is appended to the template directory path.
108
+ If there is a subfolder that matches the engine name (if specified), that folder is appended to the template directory path.
109
+ Similarly, if there is a subfolder in the resulting template directory that matches the name of the backend, that folder is appended to the template directory path.
121
110
  +
122
- This option may be specified more than once. Matching templates found in
123
- subsequent directories override ones previously discovered.
111
+ This option may be specified more than once.
112
+ Matching templates found in subsequent directories override ones previously discovered.
124
113
 
125
114
  === Processing Information
126
115
 
127
116
  *-q, --quiet*::
128
- Silence warnings.
117
+ Silence warnings.
129
118
 
130
119
  *--trace*::
131
- Include backtrace information on errors. Not enabled by default.
120
+ Include backtrace information on errors.
121
+ Not enabled by default.
132
122
 
133
123
  *-v, --verbose*::
134
- Verbosely print processing information and configuration file checks to
135
- stderr.
124
+ Verbosely print processing information and configuration file checks to stderr.
136
125
 
137
126
  *-t, --timings*::
138
- Display timings information (time to read, parse and convert)
127
+ Display timings information (time to read, parse and convert).
139
128
 
140
129
  === Program Information
141
130
 
142
131
  *-h, --help*::
143
- Show the help message.
132
+ Show the help message.
144
133
 
145
134
  *-V, --version*::
146
- Print program version number.
147
-
135
+ Print program version number.
148
136
 
149
137
  == EXIT STATUS
150
138
 
151
139
  *0*::
152
- Success
140
+ Success.
153
141
 
154
142
  *1*::
155
- Failure (syntax or usage error; configuration error; document processing
156
- failure; unexpected error).
157
-
143
+ Failure (syntax or usage error; configuration error; document processing failure; unexpected error).
158
144
 
159
145
  == BUGS
160
146
 
161
147
  See the *Asciidoctor* issue tracker: <**https://github.com/asciidoctor/asciidoctor/issues?q=is%3Aopen**>
162
148
 
163
-
164
149
  == AUTHORS
165
150
 
166
- *Asciidoctor* was written by Dan Allen, Ryan Waldron, Jason Porter, Nick
167
- Hengeveld and other contributors.
168
-
169
- *AsciiDoc* was written by Stuart Rackham and has received contributions from
170
- many other individuals.
151
+ *Asciidoctor* was written by Dan Allen, Ryan Waldron, Jason Porter, Nick Hengeveld and other contributors.
171
152
 
153
+ *AsciiDoc* was written by Stuart Rackham and has received contributions from many other individuals.
172
154
 
173
155
  == RESOURCES
174
156
 
@@ -180,10 +162,9 @@ GitHub organization: <**https://github.com/asciidoctor**>
180
162
 
181
163
  Discussion list / forum: <**http://discuss.asciidoctor.org**>
182
164
 
183
-
184
165
  == COPYING
185
166
 
186
- Copyright \(C) 2012-2014 Dan Allen, Ryan Waldron and the Asciidoctor Project. Free use of this
187
- software is granted under the terms of the MIT License.
167
+ Copyright \(C) 2012-2014 Dan Allen, Ryan Waldron and the Asciidoctor Project.
168
+ Free use of this software is granted under the terms of the MIT License.
188
169
 
189
170
  // vim: tw=80