asciidoctor 2.0.17 → 2.0.18

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c33baadb7f5d28211bbb55b0b2b002159d57d483d35d17fe1b11d72dd4389e53
4
- data.tar.gz: db81a673d28035c721612ab1c4f9d23e005a824384ac0ba1b1983e9e817d44e6
3
+ metadata.gz: c415cde38b385b114b0de056cfc4235c6fbfdc0a0b189a7479c477ec4265e72a
4
+ data.tar.gz: cf171969c86a19aa9e846751564baf362e1d9fd2ab927c63f8f017c0f8de039e
5
5
  SHA512:
6
- metadata.gz: a1fae45fddd3696607f9337f35222ecfad106aa295d2f328b54af5c21404ddb0c59baf6424b180bf46e4fed36fa28a6042f2d90310bb8acea01da4790a80ba3f
7
- data.tar.gz: 0d65fb85055130df297d9ed12a63d68d03d5876c5b09f84d052396e793dada3a9406217969ac6574a3404b62113fb3afa7da235f6692ef2c1651904ecba00c71
6
+ metadata.gz: 4a1e07e2a597d176326d8547cebaf2424e43ba861912502f7e544a2ce74fab3567c9b1f9e87061c6586d7bfa1c1dbde764b7c50b7a3746f7b8548426f165c9f5
7
+ data.tar.gz: fb5b41022b045dd1ad09f09b5ffd98a512958186388ea1182d96c32367723925718ba49abe7dbaea84bf0c051a3121302a33bf0e302f5d1f25ca3068ba210be4
data/CHANGELOG.adoc CHANGED
@@ -16,6 +16,31 @@ For an even more detailed look at what has changed, refer to the {uri-repo}/comm
16
16
  This project utilizes semantic versioning.
17
17
 
18
18
  // tag::compact[]
19
+ == 2.0.18 (2022-10-15) - @mojavelinux
20
+
21
+ Improvements::
22
+
23
+ * Propagate `:to_dir` option to document of AsciiDoc table cell (#4297)
24
+ * Force encoding of attribute data passed via CLI to UTF-8 if transcoding fails (#4351) (*@zkaip*)
25
+ * Add include role to link macro that replaces include directive when include is not enabled
26
+
27
+ Bug Fixes::
28
+
29
+ * Change internal `uriish?` helper to only detect a URI pattern at start of a string; avoids misleading messages (#4357)
30
+ * Prevent highlight.js warning when no language is set on source block; don't call `highlightBlock` if `data-lang` attribute is absent (#4263)
31
+ * Don't raise error if `Asciidoctor::Extensions.unregister` is called before groups are initialized (#4270)
32
+ * If path is included both partially and fully, store it with true value (included fully) in includes table of document catalog
33
+ * Reset registry if activate is called on it again (#4256)
34
+ * Format source location in exception message when extension code is malformed
35
+ * Fix lineno on reader when `skip-front-matter` attribute is set but end of front matter is not found
36
+ * Fix `Asciidoctor::Cli::Invoker` constructor when first argument is a hash
37
+ * Update default stylesheet to honor marker on unordered list when marker is defined on ancestor unordered list (#4361)
38
+
39
+ === Details
40
+
41
+ {url-repo}/releases/tag/v2.0.18[git tag] | {url-repo}/compare/v2.0.17\...v2.0.18[source diff]
42
+ // end::compact[]
43
+
19
44
  == 2.0.17 (2022-01-05) - @mojavelinux
20
45
 
21
46
  Bug Fixes::
@@ -27,12 +52,12 @@ Bug Fixes::
27
52
  * Change `AbstractBlock#sections?` to return false when called on block that isn't a Section or Document (PR #3591) *@mogztter*
28
53
  * Hide built-in marker on HTML summary element in Safari when using default stylesheet (#4162)
29
54
  * Hide outline around HTML summary when activated in Safari (#4162)
30
- * Include primary video in value of `playlist` attribute when embeddding YouTube video (#4156)
31
- * Honor stripes=none on nested table (#4165)
55
+ * Include primary video in value of `playlist` attribute when embedding YouTube video (#4156)
56
+ * Honor `stripes=none` on nested table (#4165)
32
57
  * Update default stylesheet to fix spacing around empty list item (#4184)
33
58
  * Honor `:header_only` option when parsing document with manpage doctype (#4192)
34
59
  * Use numeric character reference for closing square bracket around alt text of icon
35
- * Process author or authors document attribute in document header when implicit doctitle is absent (#4206)
60
+ * Process `author` or `authors` document attribute in document header when implicit doctitle is absent (#4206)
36
61
  * Patch open-uri-cached gem to work with Ruby 3.1 (update: drop patch now that open-uri-cached has been fixed) (#4227)
37
62
 
38
63
  Improvements::
@@ -43,7 +68,7 @@ Improvements::
43
68
  * Remove obsolete gist embed styles from default stylesheet
44
69
  * Allow `--failure-level` to be set to default value, `FATAL`
45
70
  * Sort levels in help for `--failure-level` option in ascending order
46
- * Invert FR translations for caution & warning admonition labels (#4212) (*cyChop*)
71
+ * Invert FR translations for caution & warning admonition labels (#4212) (*@cyChop*)
47
72
  * Add tests for open-uri-cached integration that is activated by the `cache-uri` attribute
48
73
  * Don't warn if negated tag is not found in include file (#4230)
49
74
 
@@ -55,7 +80,6 @@ Documentation::
55
80
  * Document how to enable and use the sourcemap (the `:sourcemap` option)
56
81
  * Document how to catalog additional assets (the `:catalog_assets` option)
57
82
 
58
- // end::compact[]
59
83
  == 2.0.16 (2021-08-03) - @mojavelinux
60
84
 
61
85
  Bug Fixes::
data/README-de.adoc CHANGED
@@ -1,6 +1,5 @@
1
1
  = Asciidoctor
2
2
  Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
3
- v2.0.17, 2022-01-05
4
3
  // settings:
5
4
  :idprefix:
6
5
  :idseparator: -
data/README-fr.adoc CHANGED
@@ -1,6 +1,5 @@
1
1
  = Asciidoctor
2
2
  Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
3
- v2.0.17, 2022-01-05
4
3
  // settings:
5
4
  :idprefix:
6
5
  :idseparator: -
data/README-jp.adoc CHANGED
@@ -1,6 +1,5 @@
1
1
  = Asciidoctor
2
2
  Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
3
- v2.0.17, 2022-01-05
4
3
  // settings:
5
4
  :idprefix:
6
5
  :idseparator: -
data/README-zh_CN.adoc CHANGED
@@ -1,6 +1,5 @@
1
1
  = Asciidoctor
2
2
  Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
3
- v2.0.17, 2022-01-05
4
3
  // settings:
5
4
  :page-layout: base
6
5
  :idprefix:
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]>
3
- v2.0.17, 2022-01-05
3
+ v2.0.18, 2022-10-15
4
4
  // settings:
5
5
  :idprefix:
6
6
  :idseparator: -
data/asciidoctor.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.metadata = {
19
19
  'bug_tracker_uri' => 'https://github.com/asciidoctor/asciidoctor/issues',
20
20
  'changelog_uri' => 'https://github.com/asciidoctor/asciidoctor/blob/HEAD/CHANGELOG.adoc',
21
- 'mailing_list_uri' => 'http://discuss.asciidoctor.org',
21
+ 'mailing_list_uri' => 'https://chat.asciidoctor.org',
22
22
  'source_code_uri' => 'https://github.com/asciidoctor/asciidoctor'
23
23
  }
24
24
 
@@ -74,10 +74,10 @@ code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;
74
74
  ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
75
75
  ul,ol{margin-left:1.5em}
76
76
  ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
77
- ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
78
- ul.square{list-style-type:square}
79
77
  ul.circle{list-style-type:circle}
80
78
  ul.disc{list-style-type:disc}
79
+ ul.square{list-style-type:square}
80
+ ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
81
81
  ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
82
82
  dl dt{margin-bottom:.3125em;font-weight:bold}
83
83
  dl dd{margin-bottom:1.25em}
@@ -123,7 +123,7 @@ class Block < AbstractBlock
123
123
  result.join LF
124
124
  end
125
125
  else
126
- logger.warn %(Unknown content model '#{@content_model}' for block: #{self}) unless @content_model == :empty
126
+ logger.warn %(unknown content model '#{@content_model}' for block: #{self}) unless @content_model == :empty
127
127
  nil
128
128
  end
129
129
  end
@@ -19,7 +19,7 @@ module Asciidoctor
19
19
  when Options
20
20
  @options = first_option
21
21
  when ::Hash
22
- @options = Options.new options
22
+ @options = Options.new first_option
23
23
  else
24
24
  if ::Integer === (result = Options.parse! options)
25
25
  @code = result
@@ -85,7 +85,11 @@ module Asciidoctor
85
85
  'this attribute takes precedence over the same attribute defined in the source document',
86
86
  'unless either the name or value ends in @ (i.e., name@=value or name=value@)') do |attr|
87
87
  next if (attr = attr.rstrip).empty? || attr == '='
88
- attr = attr.encode UTF_8 unless attr.encoding == UTF_8
88
+ begin
89
+ attr = attr.encode UTF_8
90
+ rescue ::EncodingError
91
+ attr = attr.force_encoding UTF_8
92
+ end unless attr.encoding == UTF_8
89
93
  name, _, val = attr.partition '='
90
94
  self[:attributes][name] = val
91
95
  end
@@ -257,6 +257,7 @@ class Document < AbstractBlock
257
257
  @parent_document = parent_doc
258
258
  options[:base_dir] ||= parent_doc.base_dir
259
259
  options[:catalog_assets] = true if parent_doc.options[:catalog_assets]
260
+ options[:to_dir] = parent_doc.options[:to_dir] if parent_doc.options[:to_dir]
260
261
  @catalog = parent_doc.catalog.merge footnotes: []
261
262
  # QUESTION should we support setting attribute in parent document from nested document?
262
263
  @attribute_overrides = attr_overrides = (parent_doc.instance_variable_get :@attribute_overrides).merge parent_doc.attributes
@@ -513,7 +513,12 @@ module Extensions
513
513
  #
514
514
  # If the process method returns an instance of Block, the content model of that
515
515
  # Block is :compound, and the Block contains at least one line, the parser will
516
- # parse those lines into blocks an assigned them to the returned block.
516
+ # parse those lines into blocks and append them to the returned block.
517
+ #
518
+ # If your custom block can be applied to a paragraph or delimited block, and you
519
+ # want to preserve the content model of the input, check whether the value of
520
+ # the cloaked-context attribute is :paragraph. If it is, set the content model of
521
+ # the returned block to :simple. Otherwise, set the content model to :compound.
517
522
  #
518
523
  # AsciiDoc example:
519
524
  #
@@ -716,6 +721,7 @@ module Extensions
716
721
 
717
722
  def initialize groups = {}
718
723
  @groups = groups
724
+ reset
719
725
  @preprocessor_extensions = @tree_processor_extensions = @postprocessor_extensions = @include_processor_extensions = @docinfo_processor_extensions = @block_extensions = @block_macro_extensions = @inline_macro_extensions = nil
720
726
  @document = nil
721
727
  end
@@ -727,6 +733,7 @@ module Extensions
727
733
  #
728
734
  # Returns the instance of this [Registry].
729
735
  def activate document
736
+ reset if @document
730
737
  @document = document
731
738
  unless (ext_groups = Extensions.groups.values + @groups.values).empty?
732
739
  ext_groups.each do |group|
@@ -1345,7 +1352,7 @@ module Extensions
1345
1352
  yield processor
1346
1353
  end
1347
1354
  unless processor.process_block_given?
1348
- raise ::ArgumentError, %(No block specified to process #{kind_name} extension at #{block.source_location})
1355
+ raise ::NoMethodError, %(No block specified to process #{kind_name} extension at #{block.source_location.join ':'})
1349
1356
  end
1350
1357
  processor.freeze
1351
1358
  extension = ProcessorExtension.new kind, processor
@@ -1389,10 +1396,10 @@ module Extensions
1389
1396
  yield processor
1390
1397
  end
1391
1398
  unless (name = as_symbol processor.name)
1392
- raise ::ArgumentError, %(No name specified for #{kind_name} extension at #{block.source_location})
1399
+ raise ::ArgumentError, %(No name specified for #{kind_name} extension at #{block.source_location.join ':'})
1393
1400
  end
1394
1401
  unless processor.process_block_given?
1395
- raise ::NoMethodError, %(No block specified to process #{kind_name} extension at #{block.source_location})
1402
+ raise ::NoMethodError, %(No block specified to process #{kind_name} extension at #{block.source_location.join ':'})
1396
1403
  end
1397
1404
  processor.freeze
1398
1405
  kind_store[name] = ProcessorExtension.new kind, processor
@@ -1424,6 +1431,11 @@ module Extensions
1424
1431
  end
1425
1432
  end
1426
1433
 
1434
+ def reset
1435
+ @preprocessor_extensions = @tree_processor_extensions = @postprocessor_extensions = @include_processor_extensions = @docinfo_processor_extensions = @block_extensions = @block_macro_extensions = @inline_macro_extensions = nil
1436
+ @document = nil
1437
+ end
1438
+
1427
1439
  def resolve_args args, expect
1428
1440
  opts = ::Hash === args[-1] ? args.pop : {}
1429
1441
  return opts if expect == 1
@@ -1528,7 +1540,7 @@ module Extensions
1528
1540
  #
1529
1541
  # Returns nothing
1530
1542
  def unregister *names
1531
- names.each {|group| @groups.delete group.to_sym }
1543
+ names.each_with_object(groups) {|group, catalog| catalog.delete group.to_sym }
1532
1544
  nil
1533
1545
  end
1534
1546
  end
@@ -1052,9 +1052,9 @@ class Parser
1052
1052
  attributes.delete('style')
1053
1053
  if (block = extension.process_method[parent, block_reader || (Reader.new lines), attributes.merge]) && block != parent
1054
1054
  attributes.replace block.attributes
1055
- # FIXME if the content model is set to compound, but we only have simple in this context, then
1056
- # forcefully set the content_model to simple to prevent parsing blocks from children
1057
- # TODO document this behavior!!
1055
+ # NOTE an extension can change the content model from :simple to :compound. It's up to the extension
1056
+ # to decide which one to use. The extension can consult the cloaked-context attribute to determine
1057
+ # if the input is a paragraph or delimited block.
1058
1058
  if block.content_model == :compound && Block === block && !(lines = block.lines).empty?
1059
1059
  content_model = :compound
1060
1060
  block_reader = Reader.new lines
@@ -690,7 +690,7 @@ class PreprocessorReader < Reader
690
690
  # only process lines in AsciiDoc files
691
691
  if (@process_lines = file.end_with?(*ASCIIDOC_EXTENSIONS.keys))
692
692
  # NOTE registering the include with a nil value tracks it while not making it visible to interdocument xrefs
693
- @includes[path.slice 0, (path.rindex '.')] = attributes['partial-option'] ? nil : true
693
+ @includes[path.slice 0, (path.rindex '.')] ||= attributes['partial-option'] ? nil : true
694
694
  end
695
695
  else
696
696
  @dir = '.'
@@ -698,7 +698,7 @@ class PreprocessorReader < Reader
698
698
  @process_lines = true
699
699
  if (@path = path)
700
700
  # NOTE registering the include with a nil value tracks it while not making it visible to interdocument xrefs
701
- @includes[Helpers.rootname path] = attributes['partial-option'] ? nil : true
701
+ @includes[Helpers.rootname path] ||= attributes['partial-option'] ? nil : true
702
702
  else
703
703
  @path = '<stdin>'
704
704
  end
@@ -1035,7 +1035,7 @@ class PreprocessorReader < Reader
1035
1035
  # however, be friendly and at least make it a link to the source document
1036
1036
  elsif doc.safe >= SafeMode::SECURE
1037
1037
  # FIXME we don't want to use a link macro if we are in a verbatim context
1038
- replace_next_line %(link:#{expanded_target}[])
1038
+ replace_next_line %(link:#{expanded_target}[role=include])
1039
1039
  elsif @maxdepth
1040
1040
  if @include_stack.size >= @maxdepth[:curr]
1041
1041
  logger.error message_with_context %(maximum include depth of #{@maxdepth[:rel]} exceeded), source_location: cursor
@@ -1232,7 +1232,7 @@ class PreprocessorReader < Reader
1232
1232
  def resolve_include_path target, attrlist, attributes
1233
1233
  doc = @document
1234
1234
  if (Helpers.uriish? target) || (::String === @dir ? nil : (target = %(#{@dir}/#{target})))
1235
- return replace_next_line %(link:#{target}[#{attrlist}]) unless doc.attr? 'allow-uri-read'
1235
+ return replace_next_line %(link:#{target}[role=include]) unless doc.attr? 'allow-uri-read'
1236
1236
  if doc.attr? 'cache-uri'
1237
1237
  # caching requires the open-uri-cached gem to be installed
1238
1238
  # processing will be automatically aborted if these libraries can't be opened
@@ -1280,27 +1280,22 @@ class PreprocessorReader < Reader
1280
1280
 
1281
1281
  # Private: Ignore front-matter, commonly used in static site generators
1282
1282
  def skip_front_matter! data, increment_linenos = true
1283
- front_matter = nil
1284
- if data[0] == '---'
1285
- original_data = data.drop 0
1286
- data.shift
1287
- front_matter = []
1283
+ return unless (delim = data[0]) == '---'
1284
+ original_data = data.drop 0
1285
+ data.shift
1286
+ front_matter = []
1287
+ @lineno += 1 if increment_linenos
1288
+ until (eof = data.empty?) || data[0] == delim
1289
+ front_matter << data.shift
1288
1290
  @lineno += 1 if increment_linenos
1289
- while !data.empty? && data[0] != '---'
1290
- front_matter << data.shift
1291
- @lineno += 1 if increment_linenos
1292
- end
1293
-
1294
- if data.empty?
1295
- data.unshift(*original_data)
1296
- @lineno = 0 if increment_linenos
1297
- front_matter = nil
1298
- else
1299
- data.shift
1300
- @lineno += 1 if increment_linenos
1301
- end
1302
1291
  end
1303
-
1292
+ if eof
1293
+ data.unshift(*original_data)
1294
+ @lineno -= original_data.size if increment_linenos
1295
+ return
1296
+ end
1297
+ data.shift
1298
+ @lineno += 1 if increment_linenos
1304
1299
  front_matter
1305
1300
  end
1306
1301
 
@@ -716,7 +716,11 @@ module Asciidoctor
716
716
  #
717
717
  # not c:/sample.adoc or c:\sample.adoc
718
718
  #
719
- UriSniffRx = %r(^#{CG_ALPHA}[#{CC_ALNUM}.+-]+:/{0,2})
719
+ if RUBY_ENGINE == 'opal'
720
+ UriSniffRx = %r(^#{CG_ALPHA}[#{CC_ALNUM}.+-]+:/{0,2})
721
+ else
722
+ UriSniffRx = %r(\A#{CG_ALPHA}[#{CC_ALNUM}.+-]+:/{0,2})
723
+ end
720
724
 
721
725
  # Detects XML tags
722
726
  XmlSanitizeRx = /<[^>]+>/
@@ -25,7 +25,7 @@ class SyntaxHighlighter::HighlightJsAdapter < SyntaxHighlighter::Base
25
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
26
  if (!hljs.initHighlighting.called) {
27
27
  hljs.initHighlighting.called = true
28
- ;[].slice.call(document.querySelectorAll('pre.highlight > code')).forEach(function (el) { hljs.highlightBlock(el) })
28
+ ;[].slice.call(document.querySelectorAll('pre.highlight > code[data-lang]')).forEach(function (el) { hljs.highlightBlock(el) })
29
29
  }
30
30
  </script>)
31
31
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Asciidoctor
3
- VERSION = '2.0.17'
3
+ VERSION = '2.0.18'
4
4
  end
data/man/asciidoctor.1 CHANGED
@@ -252,15 +252,15 @@ Jason Porter wrote the first implementation of the CLI interface provided by thi
252
252
  \fBProject documentation:\fP \c
253
253
  .URL "https://docs.asciidoctor.org" "" ""
254
254
  .sp
255
+ \fBCommunity chat:\fP \c
256
+ .URL "https://chat.asciidoctor.org" "" ""
257
+ .sp
255
258
  \fBSource repository:\fP \c
256
259
  .URL "https://github.com/asciidoctor/asciidoctor" "" ""
257
260
  .sp
258
- \fBCommunity chat:\fP \c
259
- .URL "https://asciidoctor.zulipchat.com" "" ""
260
- .sp
261
- \fBDiscussion list:\fP \c
261
+ \fBMailing list archive:\fP \c
262
262
  .URL "https://discuss.asciidoctor.org" "" ""
263
263
  .SH "COPYING"
264
264
  .sp
265
265
  Copyright (C) 2012\-present Dan Allen, Sarah White, Ryan Waldron, and the individual contributors to Asciidoctor.
266
- Use of this software is granted under the terms of the MIT License.
266
+ Use of this software is granted under the terms of the MIT License.
data/man/asciidoctor.adoc CHANGED
@@ -46,10 +46,11 @@ If _FILE_ is _-_ then the AsciiDoc source is read from standard input.
46
46
  *-a, --attribute*=_ATTRIBUTE_::
47
47
  Define, override, or unset a document attribute.
48
48
  Command-line attributes take precedence over attributes defined in the source file unless either the name or value ends in _@_.
49
+ No substitutions are applied to the value.
49
50
  +
50
51
  _ATTRIBUTE_ is normally formatted as a key-value pair, in the form _NAME=VALUE_.
51
52
  Alternate forms are _NAME_ (where the _VALUE_ defaults to an empty string), _NAME!_ (unsets the _NAME_ attribute), and _NAME=VALUE@_ (or _NAME@=VALUE_) (where _VALUE_ does not override the _NAME_ attribute if it's already defined in the source document).
52
- Values containing spaces should be enclosed in quotes.
53
+ A value containing spaces must be enclosed in quotes, in the form _NAME="VALUE WITH SPACES"_.
53
54
  +
54
55
  This option may be specified more than once.
55
56
 
@@ -190,11 +191,11 @@ Jason Porter wrote the first implementation of the CLI interface provided by thi
190
191
 
191
192
  *Project documentation:* https://docs.asciidoctor.org
192
193
 
193
- *Source repository:* https://github.com/asciidoctor/asciidoctor
194
+ *Community chat:* https://chat.asciidoctor.org
194
195
 
195
- *Community chat:* https://asciidoctor.zulipchat.com
196
+ *Source repository:* https://github.com/asciidoctor/asciidoctor
196
197
 
197
- *Discussion list:* https://discuss.asciidoctor.org
198
+ *Mailing list archive:* https://discuss.asciidoctor.org
198
199
 
199
200
  == Copying
200
201
 
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.17
4
+ version: 2.0.18
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: 2022-01-06 00:00:00.000000000 Z
16
+ date: 2018-03-20 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: concurrent-ruby
@@ -254,7 +254,7 @@ licenses:
254
254
  metadata:
255
255
  bug_tracker_uri: https://github.com/asciidoctor/asciidoctor/issues
256
256
  changelog_uri: https://github.com/asciidoctor/asciidoctor/blob/HEAD/CHANGELOG.adoc
257
- mailing_list_uri: http://discuss.asciidoctor.org
257
+ mailing_list_uri: https://chat.asciidoctor.org
258
258
  source_code_uri: https://github.com/asciidoctor/asciidoctor
259
259
  post_install_message:
260
260
  rdoc_options: []
@@ -271,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
271
  - !ruby/object:Gem::Version
272
272
  version: '0'
273
273
  requirements: []
274
- rubygems_version: 3.2.32
274
+ rubygems_version: 3.3.7
275
275
  signing_key:
276
276
  specification_version: 4
277
277
  summary: An implementation of the AsciiDoc text processor and publishing toolchain