asciidoctor 2.0.9 → 2.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +193 -16
- data/LICENSE +1 -1
- data/README-de.adoc +12 -13
- data/README-fr.adoc +11 -15
- data/README-jp.adoc +242 -185
- data/README-zh_CN.adoc +17 -18
- data/README.adoc +133 -131
- data/asciidoctor.gemspec +6 -6
- data/data/locale/attributes-ar.adoc +4 -3
- data/data/locale/attributes-be.adoc +23 -0
- data/data/locale/attributes-bg.adoc +4 -3
- data/data/locale/attributes-ca.adoc +6 -5
- data/data/locale/attributes-cs.adoc +4 -3
- data/data/locale/attributes-da.adoc +6 -5
- data/data/locale/attributes-de.adoc +4 -4
- data/data/locale/attributes-en.adoc +4 -4
- data/data/locale/attributes-es.adoc +6 -5
- data/data/locale/attributes-fa.adoc +4 -3
- data/data/locale/attributes-fi.adoc +4 -3
- data/data/locale/attributes-fr.adoc +6 -5
- data/data/locale/attributes-hu.adoc +4 -3
- data/data/locale/attributes-id.adoc +4 -3
- data/data/locale/attributes-it.adoc +6 -5
- data/data/locale/attributes-ja.adoc +4 -3
- data/data/locale/{attributes-kr.adoc → attributes-ko.adoc} +4 -3
- data/data/locale/attributes-nb.adoc +4 -3
- data/data/locale/attributes-nl.adoc +6 -5
- data/data/locale/attributes-nn.adoc +4 -3
- data/data/locale/attributes-pl.adoc +8 -7
- data/data/locale/attributes-pt.adoc +6 -5
- data/data/locale/attributes-pt_BR.adoc +6 -5
- data/data/locale/attributes-ro.adoc +4 -3
- data/data/locale/attributes-ru.adoc +6 -5
- data/data/locale/attributes-sr.adoc +4 -4
- data/data/locale/attributes-sr_Latn.adoc +4 -4
- data/data/locale/attributes-sv.adoc +4 -4
- data/data/locale/attributes-tr.adoc +4 -3
- data/data/locale/attributes-uk.adoc +6 -5
- data/data/locale/attributes-zh_CN.adoc +4 -3
- data/data/locale/attributes-zh_TW.adoc +4 -3
- data/data/reference/syntax.adoc +14 -7
- data/data/stylesheets/asciidoctor-default.css +30 -30
- data/lib/asciidoctor.rb +40 -14
- data/lib/asciidoctor/abstract_block.rb +9 -4
- data/lib/asciidoctor/abstract_node.rb +16 -6
- data/lib/asciidoctor/attribute_list.rb +63 -71
- data/lib/asciidoctor/cli/invoker.rb +2 -0
- data/lib/asciidoctor/cli/options.rb +10 -9
- data/lib/asciidoctor/convert.rb +167 -162
- data/lib/asciidoctor/converter.rb +13 -12
- data/lib/asciidoctor/converter/docbook5.rb +5 -9
- data/lib/asciidoctor/converter/html5.rb +58 -45
- data/lib/asciidoctor/converter/manpage.rb +61 -38
- data/lib/asciidoctor/converter/template.rb +3 -0
- data/lib/asciidoctor/document.rb +44 -51
- data/lib/asciidoctor/extensions.rb +2 -4
- data/lib/asciidoctor/helpers.rb +20 -15
- data/lib/asciidoctor/load.rb +102 -101
- data/lib/asciidoctor/parser.rb +40 -32
- data/lib/asciidoctor/path_resolver.rb +14 -12
- data/lib/asciidoctor/reader.rb +20 -13
- data/lib/asciidoctor/rx.rb +7 -6
- data/lib/asciidoctor/substitutors.rb +69 -50
- data/lib/asciidoctor/syntax_highlighter.rb +15 -7
- data/lib/asciidoctor/syntax_highlighter/coderay.rb +1 -1
- data/lib/asciidoctor/syntax_highlighter/highlightjs.rb +12 -4
- data/lib/asciidoctor/syntax_highlighter/prettify.rb +7 -4
- data/lib/asciidoctor/syntax_highlighter/pygments.rb +6 -7
- data/lib/asciidoctor/syntax_highlighter/rouge.rb +33 -19
- data/lib/asciidoctor/table.rb +52 -23
- data/lib/asciidoctor/version.rb +1 -1
- data/man/asciidoctor.1 +8 -8
- data/man/asciidoctor.adoc +4 -4
- metadata +16 -15
@@ -20,19 +20,25 @@ module SyntaxHighlighter
|
|
20
20
|
end
|
21
21
|
|
22
22
|
# Public: Indicates whether this syntax highlighter has docinfo (i.e., markup) to insert into the output document at
|
23
|
-
# the specified location.
|
23
|
+
# the specified location. Should be called by converter after main content has been converted.
|
24
24
|
#
|
25
25
|
# location - The Symbol representing the location slot (:head or :footer).
|
26
26
|
#
|
27
27
|
# Returns a [Boolean] indicating whether the docinfo method should be called for this location.
|
28
28
|
def docinfo? location; end
|
29
29
|
|
30
|
-
# Public: Generates docinfo markup to insert
|
30
|
+
# Public: Generates docinfo markup for this syntax highlighter to insert at the specified location in the output document.
|
31
|
+
# Should be called by converter after main content has been converted.
|
31
32
|
#
|
32
33
|
# location - The Symbol representing the location slot (:head or :footer).
|
34
|
+
# doc - The Document in which this syntax highlighter is being used.
|
35
|
+
# opts - A Hash of options that configure the syntax highlighting:
|
36
|
+
# :linkcss - A Boolean indicating whether the stylesheet should be linked instead of embedded (optional).
|
37
|
+
# :cdn_base_url - The String base URL for assets loaded from the CDN.
|
38
|
+
# :self_closing_tag_slash - The String '/' if the converter calling this method emits self-closing tags.
|
33
39
|
#
|
34
40
|
# Return the [String] markup to insert.
|
35
|
-
def docinfo location
|
41
|
+
def docinfo location, doc, opts
|
36
42
|
raise ::NotImplementedError, %(#{SyntaxHighlighter} subclass #{self.class} must implement the ##{__method__} method since #docinfo? returns true)
|
37
43
|
end
|
38
44
|
|
@@ -134,7 +140,7 @@ module SyntaxHighlighter
|
|
134
140
|
# name - The String name of the syntax highlighter to create.
|
135
141
|
# backend - The String name of the backend for which this syntax highlighter is being used (default: 'html5').
|
136
142
|
# opts - A Hash of options providing information about the context in which this syntax highlighter is used:
|
137
|
-
# :
|
143
|
+
# :document - The Document for which this syntax highlighter was created.
|
138
144
|
#
|
139
145
|
# Returns a [SyntaxHighlighter] instance for the specified name.
|
140
146
|
def create name, backend = 'html5', opts = {}
|
@@ -230,9 +236,11 @@ module SyntaxHighlighter
|
|
230
236
|
def format node, lang, opts
|
231
237
|
class_attr_val = opts[:nowrap] ? %(#{@pre_class} highlight nowrap) : %(#{@pre_class} highlight)
|
232
238
|
if (transform = opts[:transform])
|
233
|
-
pre = { 'class' => class_attr_val }
|
234
|
-
|
235
|
-
|
239
|
+
transform[(pre = { 'class' => class_attr_val }), (code = lang ? { 'data-lang' => lang } : {})]
|
240
|
+
# NOTE: make sure data-lang is the last attribute on the code tag to remain consistent with 1.5.x
|
241
|
+
if (lang = code.delete 'data-lang')
|
242
|
+
code['data-lang'] = lang
|
243
|
+
end
|
236
244
|
%(<pre#{pre.map {|k, v| %[ #{k}="#{v}"] }.join}><code#{code.map {|k, v| %[ #{k}="#{v}"] }.join}>#{node.content}</code></pre>)
|
237
245
|
else
|
238
246
|
%(<pre class="#{class_attr_val}"><code#{lang ? %[ data-lang="#{lang}"] : ''}>#{node.content}</code></pre>)
|
@@ -13,14 +13,22 @@ class SyntaxHighlighter::HighlightJsAdapter < SyntaxHighlighter::Base
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def docinfo? location
|
16
|
-
|
16
|
+
true
|
17
17
|
end
|
18
18
|
|
19
19
|
def docinfo location, doc, opts
|
20
20
|
base_url = doc.attr 'highlightjsdir', %(#{opts[:cdn_base_url]}/highlight.js/#{HIGHLIGHT_JS_VERSION})
|
21
|
-
|
22
|
-
<
|
23
|
-
|
21
|
+
if location == :head
|
22
|
+
%(<link rel="stylesheet" href="#{base_url}/styles/#{doc.attr 'highlightjs-theme', 'github'}.min.css"#{opts[:self_closing_tag_slash]}>)
|
23
|
+
else # :footer
|
24
|
+
%(<script src="#{base_url}/highlight.min.js"></script>
|
25
|
+
#{(doc.attr? 'highlightjs-languages') ? ((doc.attr 'highlightjs-languages').split ',').map {|lang| %[<script src="#{base_url}/languages/#{lang.lstrip}.min.js"></script>\n] }.join : ''}<script>
|
26
|
+
if (!hljs.initHighlighting.called) {
|
27
|
+
hljs.initHighlighting.called = true
|
28
|
+
;[].slice.call(document.querySelectorAll('pre.highlight > code')).forEach(function (el) { hljs.highlightBlock(el) })
|
29
|
+
}
|
30
|
+
</script>)
|
31
|
+
end
|
24
32
|
end
|
25
33
|
end
|
26
34
|
end
|
@@ -14,14 +14,17 @@ class SyntaxHighlighter::PrettifyAdapter < SyntaxHighlighter::Base
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def docinfo? location
|
17
|
-
|
17
|
+
true
|
18
18
|
end
|
19
19
|
|
20
20
|
def docinfo location, doc, opts
|
21
21
|
base_url = doc.attr 'prettifydir', %(#{opts[:cdn_base_url]}/prettify/r298)
|
22
|
-
|
23
|
-
|
24
|
-
<
|
22
|
+
if location == :head
|
23
|
+
prettify_theme_url = ((prettify_theme = doc.attr 'prettify-theme', 'prettify').start_with? 'http://', 'https://') ? prettify_theme : %(#{base_url}/#{prettify_theme}.min.css)
|
24
|
+
%(<link rel="stylesheet" href="#{prettify_theme_url}"#{opts[:self_closing_tag_slash]}>)
|
25
|
+
else # :footer
|
26
|
+
%(<script src="#{base_url}/run_prettify.min.js"></script>)
|
27
|
+
end
|
25
28
|
end
|
26
29
|
end
|
27
30
|
end
|
@@ -5,8 +5,7 @@ class SyntaxHighlighter::PygmentsAdapter < SyntaxHighlighter::Base
|
|
5
5
|
|
6
6
|
def initialize *args
|
7
7
|
super
|
8
|
-
@requires_stylesheet = nil
|
9
|
-
@style = nil
|
8
|
+
@requires_stylesheet = @style = nil
|
10
9
|
end
|
11
10
|
|
12
11
|
def highlight?
|
@@ -34,13 +33,13 @@ class SyntaxHighlighter::PygmentsAdapter < SyntaxHighlighter::Base
|
|
34
33
|
highlighted = highlighted.sub WrapperTagRx, PreTagCs
|
35
34
|
opts[:callouts] ? [highlighted, (idx = highlighted.index CodeCellStartTagCs) ? idx + CodeCellStartTagCs.length : nil] : highlighted
|
36
35
|
else
|
37
|
-
node.
|
36
|
+
node.sub_source source, false # handles nil response from ::Pygments::Lexer#highlight
|
38
37
|
end
|
39
38
|
elsif (highlighted = lexer.highlight source, options: highlight_opts)
|
40
39
|
highlighted = highlighted.gsub StyledLinenoSpanTagRx, LinenoSpanTagCs if linenos && noclasses
|
41
40
|
highlighted.sub WrapperTagRx, '\1'
|
42
41
|
else
|
43
|
-
node.
|
42
|
+
node.sub_source source, false # handles nil response from ::Pygments::Lexer#highlight
|
44
43
|
end
|
45
44
|
end
|
46
45
|
|
@@ -53,7 +52,7 @@ class SyntaxHighlighter::PygmentsAdapter < SyntaxHighlighter::Base
|
|
53
52
|
end
|
54
53
|
|
55
54
|
def docinfo? location
|
56
|
-
@requires_stylesheet && location == :
|
55
|
+
@requires_stylesheet && location == :head
|
57
56
|
end
|
58
57
|
|
59
58
|
def docinfo location, doc, opts
|
@@ -134,10 +133,10 @@ class SyntaxHighlighter::PygmentsAdapter < SyntaxHighlighter::Base
|
|
134
133
|
|
135
134
|
CodeCellStartTagCs = '<td class="code">'
|
136
135
|
LinenoColumnStartTagsCs = '<td class="linenos"><div class="linenodiv"><pre>'
|
137
|
-
LinenoSpanTagCs = '<span class="lineno">\1</span>'
|
136
|
+
LinenoSpanTagCs = '<span class="lineno">\1 </span>'
|
138
137
|
PreTagCs = '<pre>\1</pre>'
|
139
138
|
StyledLinenoColumnStartTagsRx = /<td><div class="linenodiv" style="[^"]+?"><pre style="[^"]+?">/
|
140
|
-
StyledLinenoSpanTagRx = %r(<span style="
|
139
|
+
StyledLinenoSpanTagRx = %r((?<=^|<span></span>)<span style="[^"]+">( *\d+) ?</span>)
|
141
140
|
WRAPPER_CLASS = 'lineno' # doesn't appear in output; Pygments appends "table" to this value to make nested table class
|
142
141
|
# NOTE <pre> has style attribute when pygments-css=style
|
143
142
|
# NOTE <div> has trailing newline when pygments-linenums-mode=table
|
@@ -13,40 +13,30 @@ class SyntaxHighlighter::RougeAdapter < SyntaxHighlighter::Base
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def highlight node, source, lang, opts
|
16
|
-
lexer = (::Rouge::Lexer.find_fancy lang) || ::Rouge::Lexers::PlainText
|
17
|
-
lexer_opts = lexer.tag == 'php' && !(node.option? 'mixed') ? { start_inline: true } : {}
|
18
16
|
@style ||= (style = opts[:style]) && (style_available? style) || DEFAULT_STYLE
|
19
|
-
if opts[:css_mode] == :class
|
20
|
-
|
21
|
-
|
17
|
+
@requires_stylesheet = true if opts[:css_mode] == :class
|
18
|
+
lexer = create_lexer node, source, lang, opts
|
19
|
+
formatter = create_formatter node, source, lang, opts
|
20
|
+
highlighted = formatter.format lexer.lex source
|
21
|
+
if opts[:number_lines] && opts[:callouts]
|
22
|
+
[highlighted, (idx = highlighted.index CodeCellStartTagCs) ? idx + CodeCellStartTagCs.length : nil]
|
22
23
|
else
|
23
|
-
|
24
|
+
highlighted
|
24
25
|
end
|
25
|
-
if (highlight_lines = opts[:highlight_lines])
|
26
|
-
formatter = RougeExt::Formatters::HTMLLineHighlighter.new formatter, lines: highlight_lines
|
27
|
-
end
|
28
|
-
if opts[:number_lines]
|
29
|
-
formatter = RougeExt::Formatters::HTMLTable.new formatter, start_line: opts[:start_line_number]
|
30
|
-
if opts[:callouts]
|
31
|
-
return [(highlighted = formatter.format lexer.lex source, lexer_opts), (idx = highlighted.index CodeCellStartTagCs) ? idx + CodeCellStartTagCs.length : nil]
|
32
|
-
end
|
33
|
-
end
|
34
|
-
formatter.format lexer.lex source, lexer_opts
|
35
26
|
end
|
36
27
|
|
37
28
|
def format node, lang, opts
|
38
29
|
if (query_idx = lang && (lang.index '?'))
|
39
30
|
lang = lang.slice 0, query_idx
|
40
31
|
end
|
41
|
-
if opts[:css_mode] != :class && (@style = (style = opts[:style]) && (style_available? style) || DEFAULT_STYLE) &&
|
42
|
-
(pre_style_attr_val = base_style @style)
|
32
|
+
if opts[:css_mode] != :class && (@style = (style = opts[:style]) && (style_available? style) || DEFAULT_STYLE) && (pre_style_attr_val = base_style @style)
|
43
33
|
opts[:transform] = proc {|pre| pre['style'] = pre_style_attr_val }
|
44
34
|
end
|
45
35
|
super
|
46
36
|
end
|
47
37
|
|
48
38
|
def docinfo? location
|
49
|
-
@requires_stylesheet && location == :
|
39
|
+
@requires_stylesheet && location == :head
|
50
40
|
end
|
51
41
|
|
52
42
|
def docinfo location, doc, opts
|
@@ -67,6 +57,30 @@ class SyntaxHighlighter::RougeAdapter < SyntaxHighlighter::Base
|
|
67
57
|
::File.write (::File.join to_dir, (stylesheet_basename @style)), (read_stylesheet @style), mode: FILE_WRITE_MODE
|
68
58
|
end
|
69
59
|
|
60
|
+
def create_lexer node, source, lang, opts
|
61
|
+
if lang.include? '?'
|
62
|
+
# NOTE cgi-style options only properly supported in Rouge >= 2.1
|
63
|
+
if (lexer = ::Rouge::Lexer.find_fancy lang)
|
64
|
+
unless lexer.tag != 'php' || (node.option? 'mixed') || ((lexer_opts = lexer.options).key? 'start_inline')
|
65
|
+
lexer = lexer.class.new lexer_opts.merge 'start_inline' => true
|
66
|
+
end
|
67
|
+
end
|
68
|
+
elsif (lexer = ::Rouge::Lexer.find lang)
|
69
|
+
lexer = lexer.tag == 'php' && !(node.option? 'mixed') ? (lexer.new start_inline: true) : lexer.new
|
70
|
+
end if lang
|
71
|
+
lexer || ::Rouge::Lexers::PlainText.new
|
72
|
+
end
|
73
|
+
|
74
|
+
def create_formatter node, source, lang, opts
|
75
|
+
formatter = opts[:css_mode] == :class ?
|
76
|
+
(::Rouge::Formatters::HTML.new inline_theme: @style) :
|
77
|
+
(::Rouge::Formatters::HTMLInline.new (::Rouge::Theme.find @style).new)
|
78
|
+
if (highlight_lines = opts[:highlight_lines])
|
79
|
+
formatter = RougeExt::Formatters::HTMLLineHighlighter.new formatter, lines: highlight_lines
|
80
|
+
end
|
81
|
+
opts[:number_lines] ? (RougeExt::Formatters::HTMLTable.new formatter, start_line: opts[:start_line_number]) : formatter
|
82
|
+
end
|
83
|
+
|
70
84
|
module Loader
|
71
85
|
private
|
72
86
|
|
data/lib/asciidoctor/table.rb
CHANGED
@@ -58,7 +58,7 @@ class Table < AbstractBlock
|
|
58
58
|
@rows = Rows.new
|
59
59
|
@columns = []
|
60
60
|
|
61
|
-
@has_header_option =
|
61
|
+
@has_header_option = false
|
62
62
|
|
63
63
|
# smells like we need a utility method here
|
64
64
|
# to resolve an integer width from potential bogus input
|
@@ -78,10 +78,10 @@ class Table < AbstractBlock
|
|
78
78
|
@attributes['orientation'] = 'landscape' if attributes['rotate-option']
|
79
79
|
end
|
80
80
|
|
81
|
-
# Internal: Returns
|
82
|
-
# the header row
|
81
|
+
# Internal: Returns the current state of the header option (true or :implicit) if
|
82
|
+
# the row being processed is (or is assumed to be) the header row, otherwise nil
|
83
83
|
def header_row?
|
84
|
-
@has_header_option && @rows.body.empty?
|
84
|
+
(val = @has_header_option) && @rows.body.empty? ? val : nil
|
85
85
|
end
|
86
86
|
|
87
87
|
# Internal: Creates the Column objects from the column spec
|
@@ -154,22 +154,19 @@ class Table < AbstractBlock
|
|
154
154
|
# returns nothing
|
155
155
|
def partition_header_footer(attrs)
|
156
156
|
# set rowcount before splitting up body rows
|
157
|
-
@attributes['rowcount'] = @rows.body.size
|
158
|
-
|
159
|
-
num_body_rows
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
@rows.head = [head]
|
157
|
+
num_body_rows = @attributes['rowcount'] = (body = @rows.body).size
|
158
|
+
|
159
|
+
if num_body_rows > 0
|
160
|
+
if @has_header_option
|
161
|
+
@rows.head = [body.shift.map {|cell| cell.reinitialize true }]
|
162
|
+
num_body_rows -= 1
|
163
|
+
elsif @has_header_option.nil?
|
164
|
+
@has_header_option = false
|
165
|
+
body.unshift(body.shift.map {|cell| cell.reinitialize false })
|
166
|
+
end
|
168
167
|
end
|
169
168
|
|
170
|
-
if num_body_rows > 0 && attrs['footer-option']
|
171
|
-
@rows.foot = [@rows.body.pop]
|
172
|
-
end
|
169
|
+
@rows.foot = [body.pop] if num_body_rows > 0 && attrs['footer-option']
|
173
170
|
|
174
171
|
nil
|
175
172
|
end
|
@@ -232,14 +229,23 @@ class Table::Cell < AbstractBlock
|
|
232
229
|
# Public: An alias to the parent block (which is always a Column)
|
233
230
|
alias column parent
|
234
231
|
|
235
|
-
#
|
232
|
+
# Public: Returns the nested Document in an AsciiDoc table cell (only set when style is :asciidoc)
|
236
233
|
attr_reader :inner_document
|
237
234
|
|
238
235
|
def initialize column, cell_text, attributes = {}, opts = {}
|
239
236
|
super column, :table_cell
|
237
|
+
@cursor = @reinitialize_args = nil
|
240
238
|
@source_location = opts[:cursor].dup if @document.sourcemap
|
239
|
+
# NOTE: column is always set when parsing; may not be set when building table from the API
|
241
240
|
if column
|
242
|
-
|
241
|
+
if (in_header_row = column.table.header_row?)
|
242
|
+
if in_header_row == :implicit && (cell_style = column.style || (attributes && attributes['style']))
|
243
|
+
@reinitialize_args = [column, cell_text, attributes && attributes.merge, opts] if cell_style == :asciidoc || cell_style == :literal
|
244
|
+
cell_style = nil
|
245
|
+
end
|
246
|
+
else
|
247
|
+
cell_style = column.style
|
248
|
+
end
|
243
249
|
# REVIEW feels hacky to inherit all attributes from column
|
244
250
|
update_attributes column.attributes
|
245
251
|
end
|
@@ -306,8 +312,12 @@ class Table::Cell < AbstractBlock
|
|
306
312
|
@content_model = :verbatim
|
307
313
|
@subs = BASIC_SUBS
|
308
314
|
else
|
309
|
-
if normal_psv
|
310
|
-
|
315
|
+
if normal_psv
|
316
|
+
if in_header_row
|
317
|
+
@cursor = opts[:cursor] # used in deferred catalog_inline_anchor call
|
318
|
+
else
|
319
|
+
catalog_inline_anchor cell_text, opts[:cursor]
|
320
|
+
end
|
311
321
|
end
|
312
322
|
@content_model = :simple
|
313
323
|
@subs = NORMAL_SUBS
|
@@ -316,6 +326,25 @@ class Table::Cell < AbstractBlock
|
|
316
326
|
@style = cell_style
|
317
327
|
end
|
318
328
|
|
329
|
+
def reinitialize has_header
|
330
|
+
if has_header
|
331
|
+
@reinitialize_args = nil
|
332
|
+
elsif @reinitialize_args
|
333
|
+
return Table::Cell.new(*@reinitialize_args)
|
334
|
+
else
|
335
|
+
@style = @attributes['style']
|
336
|
+
end
|
337
|
+
catalog_inline_anchor if @cursor
|
338
|
+
self
|
339
|
+
end
|
340
|
+
|
341
|
+
def catalog_inline_anchor cell_text = @text, cursor = nil
|
342
|
+
cursor, @cursor = @cursor, nil unless cursor
|
343
|
+
if (cell_text.start_with? '[[') && LeadingInlineAnchorRx =~ cell_text
|
344
|
+
Parser.catalog_inline_anchor $1, $2, self, cursor, @document
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
319
348
|
# Public: Get the String text of this cell with substitutions applied.
|
320
349
|
#
|
321
350
|
# Used for cells in the head row as well as text-only (non-AsciiDoc) cells in
|
@@ -339,7 +368,7 @@ class Table::Cell < AbstractBlock
|
|
339
368
|
|
340
369
|
# Public: Handles the body data (tbody, tfoot), applying styles and partitioning into paragraphs
|
341
370
|
#
|
342
|
-
# This method should not be used for cells in the head row or that have the literal
|
371
|
+
# This method should not be used for cells in the head row or that have the literal style.
|
343
372
|
#
|
344
373
|
# Returns the converted String for this Cell
|
345
374
|
def content
|
data/lib/asciidoctor/version.rb
CHANGED
data/man/asciidoctor.1
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
'\" t
|
2
2
|
.\" Title: asciidoctor
|
3
3
|
.\" Author: Dan Allen, Sarah White, Ryan Waldron
|
4
|
-
.\" Generator: Asciidoctor 2.0.
|
5
|
-
.\" Date:
|
4
|
+
.\" Generator: Asciidoctor 2.0.14
|
5
|
+
.\" Date: 2021-04-19
|
6
6
|
.\" Manual: Asciidoctor Manual
|
7
|
-
.\" Source: Asciidoctor 2.0.
|
7
|
+
.\" Source: Asciidoctor 2.0.14
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "ASCIIDOCTOR" "1" "
|
10
|
+
.TH "ASCIIDOCTOR" "1" "2021-04-19" "Asciidoctor 2.0.14" "Asciidoctor Manual"
|
11
11
|
.ie \n(.g .ds Aq \(aq
|
12
12
|
.el .ds Aq '
|
13
13
|
.ss \n[.ss] 0
|
@@ -77,7 +77,7 @@ This option may be specified more than once.
|
|
77
77
|
.sp
|
78
78
|
\fB\-b, \-\-backend\fP=\fIBACKEND\fP
|
79
79
|
.RS 4
|
80
|
-
Backend output file format: \fIhtml5\fP, \fIdocbook5\fP,
|
80
|
+
Backend output file format: \fIhtml5\fP, \fIdocbook5\fP, and \fImanpage\fP are supported out of the box.
|
81
81
|
You can also use the backend alias names \fIhtml\fP (aliased to \fIhtml5\fP) or \fIdocbook\fP (aliased to \fIdocbook5\fP).
|
82
82
|
Other values can be passed, but if Asciidoctor cannot resolve the backend to a converter, it will fail.
|
83
83
|
Defaults to \fIhtml5\fP.
|
@@ -188,7 +188,7 @@ Include backtrace information when reporting errors.
|
|
188
188
|
.sp
|
189
189
|
\fB\-v, \-\-verbose\fP
|
190
190
|
.RS 4
|
191
|
-
|
191
|
+
Sets log level to DEBUG so application messages logged at INFO or DEBUG level are printed to stderr.
|
192
192
|
.RE
|
193
193
|
.sp
|
194
194
|
\fB\-w, \-\-warnings\fP
|
@@ -220,7 +220,7 @@ Print program version number.
|
|
220
220
|
\fBAsciidoctor\fP honors the \fBSOURCE_DATE_EPOCH\fP environment variable.
|
221
221
|
If this variable is assigned an integer value, that value is used as the epoch of all input documents and as the local date and time.
|
222
222
|
See \c
|
223
|
-
.URL "https://reproducible\-builds.org/specs/source\-date\-epoch/" "" "
|
223
|
+
.URL "https://reproducible\-builds.org/specs/source\-date\-epoch/" "" ""
|
224
224
|
for more information about this environment variable.
|
225
225
|
.SH "EXIT STATUS"
|
226
226
|
.sp
|
@@ -257,7 +257,7 @@ Refer to the \fBAsciidoctor\fP issue tracker at \c
|
|
257
257
|
.URL "http://discuss.asciidoctor.org" "" ""
|
258
258
|
.SH "COPYING"
|
259
259
|
.sp
|
260
|
-
Copyright (C) 2012\-
|
260
|
+
Copyright (C) 2012\-2021 Dan Allen, Ryan Waldron, and the Asciidoctor Project.
|
261
261
|
Free use of this software is granted under the terms of the MIT License.
|
262
262
|
.SH "AUTHORS"
|
263
263
|
.sp
|
data/man/asciidoctor.adoc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
= asciidoctor(1)
|
2
2
|
Dan Allen; Sarah White; Ryan Waldron
|
3
3
|
:doctype: manpage
|
4
|
-
:release-version: 2.0.
|
4
|
+
:release-version: 2.0.14
|
5
5
|
:man manual: Asciidoctor Manual
|
6
6
|
:man source: Asciidoctor {release-version}
|
7
7
|
:page-layout: base
|
@@ -53,7 +53,7 @@ Values containing spaces should be enclosed in quotes.
|
|
53
53
|
This option may be specified more than once.
|
54
54
|
|
55
55
|
*-b, --backend*=_BACKEND_::
|
56
|
-
Backend output file format: _html5_, _docbook5_,
|
56
|
+
Backend output file format: _html5_, _docbook5_, and _manpage_ are supported out of the box.
|
57
57
|
You can also use the backend alias names _html_ (aliased to _html5_) or _docbook_ (aliased to _docbook5_).
|
58
58
|
Other values can be passed, but if Asciidoctor cannot resolve the backend to a converter, it will fail.
|
59
59
|
Defaults to _html5_.
|
@@ -136,7 +136,7 @@ Matching templates found in subsequent directories override ones previously disc
|
|
136
136
|
Include backtrace information when reporting errors.
|
137
137
|
|
138
138
|
*-v, --verbose*::
|
139
|
-
|
139
|
+
Sets log level to DEBUG so application messages logged at INFO or DEBUG level are printed to stderr.
|
140
140
|
|
141
141
|
*-w, --warnings*::
|
142
142
|
Turn on script warnings (applies to executed code).
|
@@ -192,5 +192,5 @@ Refer to the *Asciidoctor* issue tracker at https://github.com/asciidoctor/ascii
|
|
192
192
|
|
193
193
|
== COPYING
|
194
194
|
|
195
|
-
Copyright \(C) 2012-
|
195
|
+
Copyright \(C) 2012-2021 Dan Allen, Ryan Waldron, and the Asciidoctor Project.
|
196
196
|
Free use of this software is granted under the terms of the MIT License.
|