asciidoctor 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +7 -0
- data/README-de.adoc +2 -2
- data/README-fr.adoc +2 -2
- data/README-jp.adoc +2 -2
- data/README-zh_CN.adoc +2 -2
- data/README.adoc +2 -2
- data/data/reference/syntax.adoc +2 -2
- data/lib/asciidoctor.rb +1 -1
- data/lib/asciidoctor/abstract_block.rb +11 -13
- data/lib/asciidoctor/converter/template.rb +1 -1
- data/lib/asciidoctor/extensions.rb +1 -1
- data/lib/asciidoctor/helpers.rb +1 -1
- data/lib/asciidoctor/list.rb +4 -20
- data/lib/asciidoctor/parser.rb +34 -39
- data/lib/asciidoctor/table.rb +8 -0
- data/lib/asciidoctor/version.rb +1 -1
- data/man/asciidoctor.1 +4 -4
- data/man/asciidoctor.adoc +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2de6beb8308df8a84bde4b59be99d0d9d41474735279c6aaf6e6e76821d4bb6
|
4
|
+
data.tar.gz: 709d4f1eb62a388ef5e1e5c7991c024c126112894d842185f7ae2fdc8fbe924d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bac9d6c955c94dc8425ad7dc54706e3988e516cd156554d11ed1e1a85f4a8d77087bd2fbb407a630c547446dfbb6324c4a1babd226c144eee8df0c9ddd52e60
|
7
|
+
data.tar.gz: 7405db9ddcd871c6615862dc7bf0af440acca9b4120accdbd05493735b8de8c012a163dbaf731c074c8cfcc21c496d40e610e4aaaeb55aeba6613ef1941f06c6
|
data/CHANGELOG.adoc
CHANGED
@@ -13,6 +13,13 @@ endif::[]
|
|
13
13
|
This document provides a high-level view of the changes introduced in Asciidoctor by release.
|
14
14
|
For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
|
15
15
|
|
16
|
+
== 2.0.2 (2019-03-26) - @mojavelinux
|
17
|
+
|
18
|
+
Bug Fixes::
|
19
|
+
|
20
|
+
* apply verbatim substitutions to literal paragraphs attached to list item (#3205)
|
21
|
+
* implement #lines and #source methods on Table::Cell based on cell text (#3207)
|
22
|
+
|
16
23
|
== 2.0.1 (2019-03-25) - @mojavelinux
|
17
24
|
|
18
25
|
Bug Fixes::
|
data/README-de.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Asciidoctor
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
3
|
-
v2.0.
|
3
|
+
v2.0.2, 2019-03-26
|
4
4
|
// settings:
|
5
5
|
:idprefix:
|
6
6
|
:idseparator: -
|
@@ -17,7 +17,7 @@ ifdef::env-github[]
|
|
17
17
|
:warning-caption: :warning:
|
18
18
|
endif::[]
|
19
19
|
// Variables:
|
20
|
-
:release-version: 2.0.
|
20
|
+
:release-version: 2.0.2
|
21
21
|
// URIs:
|
22
22
|
:uri-org: https://github.com/asciidoctor
|
23
23
|
:uri-repo: {uri-org}/asciidoctor
|
data/README-fr.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Asciidoctor
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
3
|
-
v2.0.
|
3
|
+
v2.0.2, 2019-03-26
|
4
4
|
// settings:
|
5
5
|
:idprefix:
|
6
6
|
:idseparator: -
|
@@ -17,7 +17,7 @@ ifdef::env-github[]
|
|
17
17
|
:warning-caption: :warning:
|
18
18
|
endif::[]
|
19
19
|
// Variables:
|
20
|
-
:release-version: 2.0.
|
20
|
+
:release-version: 2.0.2
|
21
21
|
// URIs:
|
22
22
|
:uri-org: https://github.com/asciidoctor
|
23
23
|
:uri-repo: {uri-org}/asciidoctor
|
data/README-jp.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Asciidoctor
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
3
|
-
v2.0.
|
3
|
+
v2.0.2, 2019-03-26
|
4
4
|
// settings:
|
5
5
|
:page-layout: base
|
6
6
|
:idprefix:
|
@@ -18,7 +18,7 @@ ifdef::env-github[]
|
|
18
18
|
:warning-caption: :warning:
|
19
19
|
endif::[]
|
20
20
|
// Variables:
|
21
|
-
:release-version: 2.0.
|
21
|
+
:release-version: 2.0.2
|
22
22
|
// URIs:
|
23
23
|
:uri-org: https://github.com/asciidoctor
|
24
24
|
:uri-repo: {uri-org}/asciidoctor
|
data/README-zh_CN.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Asciidoctor
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
3
|
-
v2.0.
|
3
|
+
v2.0.2, 2019-03-26
|
4
4
|
// settings:
|
5
5
|
:page-layout: base
|
6
6
|
:idprefix:
|
@@ -18,7 +18,7 @@ ifdef::env-github[]
|
|
18
18
|
:warning-caption: :warning:
|
19
19
|
endif::[]
|
20
20
|
// Variables:
|
21
|
-
:release-version: 2.0.
|
21
|
+
:release-version: 2.0.2
|
22
22
|
// URIs:
|
23
23
|
:uri-org: https://github.com/asciidoctor
|
24
24
|
:uri-repo: {uri-org}/asciidoctor
|
data/README.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Asciidoctor
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
3
|
-
v2.0.
|
3
|
+
v2.0.2, 2019-03-26
|
4
4
|
// settings:
|
5
5
|
:idprefix:
|
6
6
|
:idseparator: -
|
@@ -17,7 +17,7 @@ ifdef::env-github[]
|
|
17
17
|
:warning-caption: :warning:
|
18
18
|
endif::[]
|
19
19
|
// Variables:
|
20
|
-
:release-version: 2.0.
|
20
|
+
:release-version: 2.0.2
|
21
21
|
// URIs:
|
22
22
|
:uri-org: https://github.com/asciidoctor
|
23
23
|
:uri-repo: {uri-org}/asciidoctor
|
data/data/reference/syntax.adoc
CHANGED
@@ -37,10 +37,10 @@ TIP: Convert this document using the `asciidoctor` command to see the output pro
|
|
37
37
|
.Constrained (applied at word boundaries)
|
38
38
|
*strong importance* (aka bold)
|
39
39
|
_stress emphasis_ (aka italic)
|
40
|
-
`
|
40
|
+
`monospaced` (aka typewriter text)
|
41
41
|
"`double`" and '`single`' typographic quotes
|
42
42
|
+passthrough text+ (substitutions disabled)
|
43
|
-
`+literal
|
43
|
+
`+literal text+` (monospaced with substitutions disabled)
|
44
44
|
|
45
45
|
.Unconstrained (applied anywhere)
|
46
46
|
**C**reate+**R**ead+**U**pdate+**D**elete
|
data/lib/asciidoctor.rb
CHANGED
@@ -293,7 +293,7 @@ module Asciidoctor
|
|
293
293
|
DELIMITED_BLOCK_HEADS = {}.tap {|accum| DELIMITED_BLOCKS.each_key {|k| accum[k.slice 0, 2] = true } }
|
294
294
|
DELIMITED_BLOCK_TAILS = {}.tap {|accum| DELIMITED_BLOCKS.each_key {|k| accum[k] = k[k.length - 1] if k.length == 4 } }
|
295
295
|
|
296
|
-
|
296
|
+
CAPTION_ATTR_NAMES = { example: 'example-caption', image: 'figure-caption', listing: 'listing-caption', table: 'table-caption' }
|
297
297
|
|
298
298
|
LAYOUT_BREAK_CHARS = {
|
299
299
|
'\'' => :thematic_break,
|
@@ -32,9 +32,6 @@ class AbstractBlock < AbstractNode
|
|
32
32
|
# Public: Substitutions to be applied to content in this block.
|
33
33
|
attr_reader :subs
|
34
34
|
|
35
|
-
# Internal: Set the default subs applied to this block; used during block creation
|
36
|
-
attr_writer :default_subs
|
37
|
-
|
38
35
|
def initialize parent, context, opts = {}
|
39
36
|
super
|
40
37
|
@content_model = :compound
|
@@ -126,7 +123,7 @@ class AbstractBlock < AbstractNode
|
|
126
123
|
#
|
127
124
|
# Returns A Boolean indicating whether this Block has block content
|
128
125
|
def blocks?
|
129
|
-
|
126
|
+
@blocks.empty? ? false : true
|
130
127
|
end
|
131
128
|
|
132
129
|
# Public: Check whether this block has any child Section objects.
|
@@ -342,13 +339,13 @@ class AbstractBlock < AbstractNode
|
|
342
339
|
case xrefstyle
|
343
340
|
when 'full'
|
344
341
|
quoted_title = sub_placeholder (sub_quotes @document.compat_mode ? %q(``%s'') : '"`%s`"'), title
|
345
|
-
if @numeral && (
|
342
|
+
if @numeral && (caption_attr_name = CAPTION_ATTR_NAMES[@context]) && (prefix = @document.attributes[caption_attr_name])
|
346
343
|
%(#{prefix} #{@numeral}, #{quoted_title})
|
347
344
|
else
|
348
345
|
%(#{@caption.chomp '. '}, #{quoted_title})
|
349
346
|
end
|
350
347
|
when 'short'
|
351
|
-
if @numeral && (
|
348
|
+
if @numeral && (caption_attr_name = CAPTION_ATTR_NAMES[@context]) && (prefix = @document.attributes[caption_attr_name])
|
352
349
|
%(#{prefix} #{@numeral})
|
353
350
|
else
|
354
351
|
@caption.chomp '. '
|
@@ -372,16 +369,17 @@ class AbstractBlock < AbstractNode
|
|
372
369
|
# The parts of a complete caption are: <prefix> <number>. <title>
|
373
370
|
# This partial caption represents the part the precedes the title.
|
374
371
|
#
|
375
|
-
# value
|
376
|
-
#
|
377
|
-
#
|
378
|
-
#
|
372
|
+
# value - The explicit String caption to assign to this block (default: nil).
|
373
|
+
# caption_context - The Symbol context to use when resolving caption-related attributes.
|
374
|
+
# If not provided, the name of the context for this block is used.
|
375
|
+
# (default: @context)
|
379
376
|
#
|
380
377
|
# Returns nothing.
|
381
|
-
def assign_caption value = nil,
|
378
|
+
def assign_caption value = nil, caption_context = @context
|
382
379
|
unless @caption || !@title || (@caption = value || @document.attributes['caption'])
|
383
|
-
if (prefix = @document.attributes[
|
384
|
-
|
380
|
+
if (attr_name = CAPTION_ATTR_NAMES[caption_context]) && (prefix = @document.attributes[attr_name])
|
381
|
+
counter_name = caption_context == :image ? 'figure-number' : %(#{caption_context}-number)
|
382
|
+
@caption = %(#{prefix} #{@numeral = @document.increment_and_store_counter counter_name, self}. )
|
385
383
|
nil
|
386
384
|
end
|
387
385
|
end
|
@@ -71,7 +71,7 @@ class Converter::TemplateConverter < Converter::Base
|
|
71
71
|
end
|
72
72
|
case opts[:template_cache]
|
73
73
|
when true
|
74
|
-
logger.warn 'gem \'concurrent-ruby\' is not
|
74
|
+
logger.warn 'optional gem \'concurrent-ruby\' is not available. This gem is recommended when using the default template cache.' unless defined? ::Concurrent::Hash
|
75
75
|
@caches = self.class.caches
|
76
76
|
when ::Hash
|
77
77
|
@caches = opts[:template_cache]
|
@@ -197,7 +197,7 @@ module Extensions
|
|
197
197
|
block = create_block parent, :image, nil, attrs, opts
|
198
198
|
if title
|
199
199
|
block.title = title
|
200
|
-
block.assign_caption (attrs.delete 'caption'), (opts[:caption_context] ||
|
200
|
+
block.assign_caption (attrs.delete 'caption'), (opts[:caption_context] || :image)
|
201
201
|
end
|
202
202
|
block
|
203
203
|
end
|
data/lib/asciidoctor/helpers.rb
CHANGED
@@ -9,7 +9,7 @@ module Helpers
|
|
9
9
|
# passes a message to Kernel#raise if on_failure is :abort or Kernel#warn if
|
10
10
|
# on_failure is :warn to communicate to the user that processing is being
|
11
11
|
# aborted or functionality is disabled, respectively. If a gem_name is
|
12
|
-
# specified, the message communicates that a required gem is not
|
12
|
+
# specified, the message communicates that a required gem is not available.
|
13
13
|
#
|
14
14
|
# name - the String name of the library to require.
|
15
15
|
# gem_name - a Boolean that indicates whether this library is provided by a RubyGem,
|
data/lib/asciidoctor/list.rb
CHANGED
@@ -66,7 +66,7 @@ class ListItem < AbstractBlock
|
|
66
66
|
# Public: A convenience method that checks whether the text of this list item
|
67
67
|
# is not blank (i.e., not nil or empty string).
|
68
68
|
def text?
|
69
|
-
|
69
|
+
@text.nil_or_empty? ? false : true
|
70
70
|
end
|
71
71
|
|
72
72
|
# Public: Get the String text of this ListItem with substitutions applied.
|
@@ -103,27 +103,11 @@ class ListItem < AbstractBlock
|
|
103
103
|
!simple?
|
104
104
|
end
|
105
105
|
|
106
|
-
# Internal: Fold the
|
107
|
-
#
|
108
|
-
# Here are the rules for when a folding occurs:
|
109
|
-
#
|
110
|
-
# Given: this list item has at least one block
|
111
|
-
# When: the first block is a paragraph that's not connected by a list continuation
|
112
|
-
# Or: the first block is an indented paragraph that's adjacent (wrapped line)
|
113
|
-
# Or: the first block is an indented paragraph that's not connected by a list continuation
|
114
|
-
# Then: then drop the first block and fold it's content (buffer) into the list text
|
106
|
+
# Internal: Fold the adjacent paragraph block into the list item text
|
115
107
|
#
|
116
108
|
# Returns nothing
|
117
|
-
def fold_first
|
118
|
-
|
119
|
-
if first_block.context == :literal
|
120
|
-
if (content_adjacent || !continuation_connects_first_block) # && first_block.attributes['listparagraph-option']
|
121
|
-
@text = @text.nil_or_empty? ? @blocks.shift.source : %(#{@text}#{LF}#{@blocks.shift.source})
|
122
|
-
end
|
123
|
-
elsif first_block.context == :paragraph && !continuation_connects_first_block
|
124
|
-
@text = @text.nil_or_empty? ? @blocks.shift.source : %(#{@text}#{LF}#{@blocks.shift.source})
|
125
|
-
end
|
126
|
-
end
|
109
|
+
def fold_first
|
110
|
+
@text = @text.nil_or_empty? ? @blocks.shift.source : %(#{@text}#{LF}#{@blocks.shift.source})
|
127
111
|
nil
|
128
112
|
end
|
129
113
|
|
data/lib/asciidoctor/parser.rb
CHANGED
@@ -469,7 +469,8 @@ class Parser
|
|
469
469
|
# attributes - A Hash of attributes that will become the attributes
|
470
470
|
# associated with the parsed Block (default: {}).
|
471
471
|
# options - An options Hash to control parsing (default: {}):
|
472
|
-
# * :
|
472
|
+
# * :text_only indicates that the parser is only looking for text content
|
473
|
+
# * :list_type indicates this block will be attached to a list item in a list of the specified type
|
473
474
|
#
|
474
475
|
# Returns a Block object built from the parsed content of the processed
|
475
476
|
# lines, or nothing if no block is found.
|
@@ -480,15 +481,15 @@ class Parser
|
|
480
481
|
# check for option to find list item text only
|
481
482
|
# if skipped a line, assume a list continuation was
|
482
483
|
# used and block content is acceptable
|
483
|
-
if (text_only = options[:
|
484
|
-
options.delete :
|
484
|
+
if (text_only = options[:text_only]) && skipped > 0
|
485
|
+
options.delete :text_only
|
485
486
|
text_only = nil
|
486
487
|
end
|
487
488
|
|
488
489
|
document = parent.document
|
489
490
|
|
490
491
|
if options.fetch :parse_metadata, true
|
491
|
-
# read lines until there are no more metadata lines to read
|
492
|
+
# read lines until there are no more metadata lines to read; note that :text_only option impacts parsing rules
|
492
493
|
while parse_block_metadata_line reader, document, attributes, options
|
493
494
|
# discard the line just processed
|
494
495
|
reader.shift
|
@@ -604,7 +605,7 @@ class Parser
|
|
604
605
|
end
|
605
606
|
if attributes['title']
|
606
607
|
block.title = block_title = attributes.delete 'title'
|
607
|
-
block.assign_caption (attributes.delete 'caption')
|
608
|
+
block.assign_caption (attributes.delete 'caption')
|
608
609
|
end
|
609
610
|
end
|
610
611
|
attributes['target'] = target
|
@@ -722,17 +723,17 @@ class Parser
|
|
722
723
|
# a literal paragraph: contiguous lines starting with at least one whitespace character
|
723
724
|
# NOTE style can only be nil or "normal" at this point
|
724
725
|
if indented && !style
|
725
|
-
lines = read_paragraph_lines reader, (
|
726
|
+
lines = read_paragraph_lines reader, (content_adjacent = skipped == 0 ? options[:list_type] : nil), skip_line_comments: text_only
|
726
727
|
adjust_indentation! lines
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
block
|
728
|
+
if text_only || content_adjacent == :dlist
|
729
|
+
# this block gets folded into the list item text
|
730
|
+
block = Block.new(parent, :paragraph, content_model: :simple, source: lines, attributes: attributes)
|
731
|
+
else
|
732
|
+
block = Block.new(parent, :literal, content_model: :verbatim, source: lines, attributes: attributes)
|
732
733
|
end
|
733
734
|
# a normal paragraph: contiguous non-blank/non-continuation lines (left-indented or normal style)
|
734
735
|
else
|
735
|
-
lines = read_paragraph_lines reader, skipped == 0 && options[:
|
736
|
+
lines = read_paragraph_lines reader, skipped == 0 && options[:list_type], skip_line_comments: true
|
736
737
|
# NOTE don't check indented here since it's extremely rare
|
737
738
|
#if text_only || indented
|
738
739
|
if text_only
|
@@ -897,8 +898,8 @@ class Parser
|
|
897
898
|
# FIXME title and caption should be assigned when block is constructed (though we need to handle all cases)
|
898
899
|
if attributes['title']
|
899
900
|
block.title = block_title = attributes.delete 'title'
|
900
|
-
if
|
901
|
-
block.assign_caption (attributes.delete 'caption')
|
901
|
+
if (caption_attr_name = CAPTION_ATTR_NAMES[block.context]) && document.attributes[caption_attr_name]
|
902
|
+
block.assign_caption (attributes.delete 'caption')
|
902
903
|
end
|
903
904
|
end
|
904
905
|
# TODO eventually remove the style attribute from the attributes hash
|
@@ -1333,31 +1334,25 @@ class Parser
|
|
1333
1334
|
comment_lines = list_item_reader.skip_line_comments
|
1334
1335
|
if (subsequent_line = list_item_reader.peek_line)
|
1335
1336
|
list_item_reader.unshift_lines comment_lines unless comment_lines.empty?
|
1336
|
-
|
1337
|
-
content_adjacent = false
|
1338
|
-
else
|
1337
|
+
unless subsequent_line.empty?
|
1339
1338
|
content_adjacent = true
|
1340
1339
|
# treat lines as paragraph text if continuation does not connect first block (i.e., has_text = nil)
|
1341
1340
|
has_text = nil unless dlist
|
1342
1341
|
end
|
1343
|
-
else
|
1344
|
-
# NOTE we have no use for any trailing comment lines we might have found
|
1345
|
-
continuation_connects_first_block = false
|
1346
|
-
content_adjacent = false
|
1347
1342
|
end
|
1348
1343
|
|
1349
1344
|
# reader is confined to boundaries of list, which means only blocks will be found (no sections)
|
1350
|
-
if (block = next_block(list_item_reader, list_item, {},
|
1345
|
+
if (block = next_block(list_item_reader, list_item, {}, text_only: has_text ? nil : true, list_type: list_type))
|
1351
1346
|
list_item.blocks << block
|
1352
1347
|
end
|
1353
1348
|
|
1354
1349
|
while list_item_reader.has_more_lines?
|
1355
|
-
if (block = next_block(list_item_reader, list_item, {},
|
1350
|
+
if (block = next_block(list_item_reader, list_item, {}, list_type: list_type))
|
1356
1351
|
list_item.blocks << block
|
1357
1352
|
end
|
1358
1353
|
end
|
1359
1354
|
|
1360
|
-
list_item.fold_first(
|
1355
|
+
list_item.fold_first if content_adjacent && (first_block = list_item.blocks[0]) && first_block.context == :paragraph
|
1361
1356
|
end
|
1362
1357
|
|
1363
1358
|
dlist ? [[list_term], (list_item.text? || list_item.blocks? ? list_item : nil)] : list_item
|
@@ -1537,19 +1532,19 @@ class Parser
|
|
1537
1532
|
|
1538
1533
|
reader.unshift_line this_line if this_line
|
1539
1534
|
|
1540
|
-
if detached_continuation
|
1541
|
-
buffer.delete_at detached_continuation
|
1542
|
-
end
|
1543
|
-
|
1544
|
-
# strip trailing blank lines to prevent empty blocks
|
1545
|
-
buffer.pop while !buffer.empty? && buffer[-1].empty?
|
1535
|
+
buffer.delete_at detached_continuation if detached_continuation
|
1546
1536
|
|
1547
|
-
|
1548
|
-
|
1549
|
-
|
1550
|
-
|
1551
|
-
|
1552
|
-
|
1537
|
+
until buffer.empty?
|
1538
|
+
# strip trailing blank lines to prevent empty blocks
|
1539
|
+
if (last_line = buffer[-1]).empty?
|
1540
|
+
buffer.pop
|
1541
|
+
else
|
1542
|
+
# drop optional trailing continuation
|
1543
|
+
# (a blank line would have served the same purpose in the document)
|
1544
|
+
buffer.pop if last_line == LIST_CONTINUATION
|
1545
|
+
break
|
1546
|
+
end
|
1547
|
+
end
|
1553
1548
|
|
1554
1549
|
buffer
|
1555
1550
|
end
|
@@ -1987,7 +1982,7 @@ class Parser
|
|
1987
1982
|
# document - the current Document
|
1988
1983
|
# attributes - a Hash of attributes in which any metadata found will be stored (default: {})
|
1989
1984
|
# options - a Hash of options to control processing: (default: {})
|
1990
|
-
# * :
|
1985
|
+
# * :text_only indicates that parser is only looking for text content
|
1991
1986
|
# and thus the block title should not be captured
|
1992
1987
|
#
|
1993
1988
|
# returns the Hash of attributes including any metadata found
|
@@ -2016,13 +2011,13 @@ class Parser
|
|
2016
2011
|
# document - the current Document
|
2017
2012
|
# attributes - a Hash of attributes in which any metadata found will be stored
|
2018
2013
|
# options - a Hash of options to control processing: (default: {})
|
2019
|
-
# * :
|
2014
|
+
# * :text_only indicates the parser is only looking for text content,
|
2020
2015
|
# thus neither a block title or attribute entry should be captured
|
2021
2016
|
#
|
2022
2017
|
# returns true if the line contains metadata, otherwise falsy
|
2023
2018
|
def self.parse_block_metadata_line reader, document, attributes, options = {}
|
2024
2019
|
if (next_line = reader.peek_line) &&
|
2025
|
-
(options[:
|
2020
|
+
(options[:text_only] ? (next_line.start_with? '[', '/') : (normal = next_line.start_with? '[', '.', '/', ':'))
|
2026
2021
|
if next_line.start_with? '['
|
2027
2022
|
if next_line.start_with? '[['
|
2028
2023
|
if (next_line.end_with? ']]') && BlockAnchorRx =~ next_line
|
data/lib/asciidoctor/table.rb
CHANGED
@@ -358,6 +358,14 @@ class Table::Cell < AbstractBlock
|
|
358
358
|
end
|
359
359
|
end
|
360
360
|
|
361
|
+
def lines
|
362
|
+
@text.split LF
|
363
|
+
end
|
364
|
+
|
365
|
+
def source
|
366
|
+
@text
|
367
|
+
end
|
368
|
+
|
361
369
|
# Public: Get the source file where this block started
|
362
370
|
def file
|
363
371
|
@source_location && @source_location.file
|
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: 2019-03-
|
4
|
+
.\" Generator: Asciidoctor 2.0.2
|
5
|
+
.\" Date: 2019-03-26
|
6
6
|
.\" Manual: Asciidoctor Manual
|
7
|
-
.\" Source: Asciidoctor 2.0.
|
7
|
+
.\" Source: Asciidoctor 2.0.2
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "ASCIIDOCTOR" "1" "2019-03-
|
10
|
+
.TH "ASCIIDOCTOR" "1" "2019-03-26" "Asciidoctor 2.0.2" "Asciidoctor Manual"
|
11
11
|
.ie \n(.g .ds Aq \(aq
|
12
12
|
.el .ds Aq '
|
13
13
|
.ss \n[.ss] 0
|
data/man/asciidoctor.adoc
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Allen
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2019-03-
|
16
|
+
date: 2019-03-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: asciimath
|