asciidoctor 2.0.15 → 2.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +86 -11
  3. data/LICENSE +1 -1
  4. data/README-de.adoc +9 -12
  5. data/README-fr.adoc +9 -12
  6. data/README-jp.adoc +10 -13
  7. data/README-zh_CN.adoc +9 -12
  8. data/README.adoc +33 -18
  9. data/asciidoctor.gemspec +2 -9
  10. data/data/locale/attributes-fr.adoc +2 -2
  11. data/data/locale/attributes-th.adoc +23 -0
  12. data/data/locale/attributes-vi.adoc +23 -0
  13. data/data/stylesheets/asciidoctor-default.css +54 -53
  14. data/data/stylesheets/coderay-asciidoctor.css +9 -9
  15. data/lib/asciidoctor/abstract_block.rb +11 -9
  16. data/lib/asciidoctor/abstract_node.rb +9 -8
  17. data/lib/asciidoctor/block.rb +6 -6
  18. data/lib/asciidoctor/cli/invoker.rb +1 -2
  19. data/lib/asciidoctor/cli/options.rb +25 -25
  20. data/lib/asciidoctor/convert.rb +1 -0
  21. data/lib/asciidoctor/converter/docbook5.rb +20 -22
  22. data/lib/asciidoctor/converter/html5.rb +112 -94
  23. data/lib/asciidoctor/converter/manpage.rb +61 -52
  24. data/lib/asciidoctor/converter/template.rb +12 -13
  25. data/lib/asciidoctor/converter.rb +6 -4
  26. data/lib/asciidoctor/core_ext/hash/merge.rb +1 -1
  27. data/lib/asciidoctor/document.rb +39 -41
  28. data/lib/asciidoctor/extensions.rb +20 -12
  29. data/lib/asciidoctor/list.rb +2 -6
  30. data/lib/asciidoctor/load.rb +10 -9
  31. data/lib/asciidoctor/logging.rb +10 -8
  32. data/lib/asciidoctor/parser.rb +172 -189
  33. data/lib/asciidoctor/path_resolver.rb +3 -3
  34. data/lib/asciidoctor/reader.rb +71 -72
  35. data/lib/asciidoctor/rx.rb +3 -2
  36. data/lib/asciidoctor/section.rb +7 -0
  37. data/lib/asciidoctor/substitutors.rb +101 -103
  38. data/lib/asciidoctor/syntax_highlighter/coderay.rb +2 -1
  39. data/lib/asciidoctor/syntax_highlighter/highlightjs.rb +1 -1
  40. data/lib/asciidoctor/syntax_highlighter/pygments.rb +14 -5
  41. data/lib/asciidoctor/syntax_highlighter/rouge.rb +2 -1
  42. data/lib/asciidoctor/syntax_highlighter.rb +8 -11
  43. data/lib/asciidoctor/table.rb +18 -20
  44. data/lib/asciidoctor/timings.rb +3 -3
  45. data/lib/asciidoctor/version.rb +1 -1
  46. data/lib/asciidoctor.rb +7 -7
  47. data/man/asciidoctor.1 +26 -28
  48. data/man/asciidoctor.adoc +33 -27
  49. metadata +8 -62
@@ -259,7 +259,8 @@ class Table::Cell < AbstractBlock
259
259
  cell_style = attributes['style'] || cell_style unless in_header_row
260
260
  update_attributes attributes
261
261
  end
262
- if cell_style == :asciidoc
262
+ case cell_style
263
+ when :asciidoc
263
264
  asciidoc = true
264
265
  inner_document_cursor = opts[:cursor]
265
266
  if (cell_text = cell_text.rstrip).start_with? LF
@@ -270,7 +271,7 @@ class Table::Cell < AbstractBlock
270
271
  else
271
272
  cell_text = cell_text.lstrip
272
273
  end
273
- elsif cell_style == :literal
274
+ when :literal
274
275
  literal = true
275
276
  cell_text = cell_text.rstrip
276
277
  # QUESTION should we use same logic as :asciidoc cell? strip leading space if text doesn't start with newline?
@@ -357,14 +358,10 @@ class Table::Cell < AbstractBlock
357
358
  apply_subs @text, @subs
358
359
  end
359
360
 
360
- # Public: Set the String text.
361
+ # Public: Set the String text for this cell.
361
362
  #
362
363
  # This method shouldn't be used for cells that have the AsciiDoc style.
363
- #
364
- # Returns the new String text assigned to this Cell
365
- def text= val
366
- @text = val
367
- end
364
+ attr_writer :text
368
365
 
369
366
  # Public: Handles the body data (tbody, tfoot), applying styles and partitioning into paragraphs
370
367
  #
@@ -406,7 +403,7 @@ class Table::Cell < AbstractBlock
406
403
  end
407
404
 
408
405
  def to_s
409
- "#{super.to_s} - [text: #@text, colspan: #{@colspan || 1}, rowspan: #{@rowspan || 1}, attributes: #@attributes]"
406
+ %(#{super} - [text: #{@text}, colspan: #{@colspan || 1}, rowspan: #{@rowspan || 1}, attributes: #{@attributes}])
410
407
  end
411
408
  end
412
409
 
@@ -414,7 +411,7 @@ end
414
411
  # class are primarily responsible for tracking the buffer of a cell as the parser
415
412
  # moves through the lines of the table using tail recursion. When a cell boundary
416
413
  # is located, the previous cell is closed, an instance of Table::Cell is
417
- # instantiated, the row is closed if the cell satisifies the column count and,
414
+ # instantiated, the row is closed if the cell satisfies the column count and,
418
415
  # finally, a new buffer is allocated to track the next cell.
419
416
  class Table::ParserContext
420
417
  include Logging
@@ -534,12 +531,13 @@ class Table::ParserContext
534
531
  #
535
532
  # returns true if the buffer has unclosed quotes, false if it doesn't or it
536
533
  # isn't quoted data
537
- def buffer_has_unclosed_quotes? append = nil
538
- if (record = append ? (@buffer + append).strip : @buffer.strip) == '"'
534
+ def buffer_has_unclosed_quotes? append = nil, q = '"'
535
+ if (record = append ? (@buffer + append).strip : @buffer.strip) == q
539
536
  true
540
- elsif record.start_with? '"'
541
- if ((trailing_quote = record.end_with? '"') && (record.end_with? '""')) || (record.start_with? '""')
542
- ((record = record.gsub '""', '').start_with? '"') && !(record.end_with? '"')
537
+ elsif record.start_with? q
538
+ qq = q + q
539
+ if ((trailing_quote = record.end_with? q) && (record.end_with? qq)) || (record.start_with? qq)
540
+ ((record = record.gsub qq, '').start_with? q) && !(record.end_with? q)
543
541
  else
544
542
  !trailing_quote
545
543
  end
@@ -632,20 +630,20 @@ class Table::ParserContext
632
630
  @buffer = ''
633
631
  cellspec = nil
634
632
  repeat = 1
635
- if @format == 'csv' && !cell_text.empty? && cell_text.include?('"')
633
+ if @format == 'csv' && !cell_text.empty? && (cell_text.include? (q = '"'))
636
634
  # this may not be perfect logic, but it hits the 99%
637
- if cell_text.start_with?('"') && cell_text.end_with?('"')
635
+ if (cell_text.start_with? q) && (cell_text.end_with? q)
638
636
  # unquote
639
637
  if (cell_text = cell_text.slice(1, cell_text.length - 2))
640
638
  # trim whitespace and collapse escaped quotes
641
- cell_text = cell_text.strip.squeeze('"')
639
+ cell_text = cell_text.strip.squeeze q
642
640
  else
643
641
  logger.error message_with_context 'unclosed quote in CSV data; setting cell to empty', source_location: @reader.cursor_at_prev_line
644
642
  cell_text = ''
645
643
  end
646
644
  else
647
645
  # collapse escaped quotes
648
- cell_text = cell_text.squeeze('"')
646
+ cell_text = cell_text.squeeze q
649
647
  end
650
648
  end
651
649
  end
@@ -664,7 +662,7 @@ class Table::ParserContext
664
662
  # QUESTION is this right for cells that span columns?
665
663
  unless (column = @table.columns[@current_row.size])
666
664
  logger.error message_with_context 'dropping cell because it exceeds specified number of columns', source_location: @reader.cursor_before_mark
667
- return
665
+ return nil
668
666
  end
669
667
  end
670
668
 
@@ -49,9 +49,9 @@ module Asciidoctor
49
49
 
50
50
  def print_report to = $stdout, subject = nil
51
51
  to.puts %(Input file: #{subject}) if subject
52
- to.puts %( Time to read and parse source: #{'%05.5f' % read_parse.to_f})
53
- to.puts %( Time to convert document: #{'%05.5f' % convert.to_f})
54
- to.puts %( Total time (read, parse and convert): #{'%05.5f' % read_parse_convert.to_f})
52
+ to.puts %( Time to read and parse source: #{sprintf '%05.5f', read_parse.to_f})
53
+ to.puts %( Time to convert document: #{sprintf '%05.5f', convert.to_f})
54
+ to.puts %( Total time (read, parse and convert): #{sprintf '%05.5f', read_parse_convert.to_f})
55
55
  end
56
56
 
57
57
  private
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Asciidoctor
3
- VERSION = '2.0.15'
3
+ VERSION = '2.0.17'
4
4
  end
data/lib/asciidoctor.rb CHANGED
@@ -53,12 +53,12 @@ module Asciidoctor
53
53
  module SafeMode
54
54
  # A safe mode level that disables any of the security features enforced
55
55
  # by Asciidoctor (Ruby is still subject to its own restrictions).
56
- UNSAFE = 0;
56
+ UNSAFE = 0
57
57
 
58
58
  # A safe mode level that closely parallels safe mode in AsciiDoc. This value
59
59
  # prevents access to files which reside outside of the parent directory of
60
60
  # the source file and disables any macro other than the include::[] directive.
61
- SAFE = 1;
61
+ SAFE = 1
62
62
 
63
63
  # A safe mode level that disallows the document from setting attributes
64
64
  # that would affect the conversion of the document, in addition to all the
@@ -66,19 +66,19 @@ module Asciidoctor
66
66
  # changing the backend or source-highlighter using an attribute defined
67
67
  # in the source document header. This is the most fundamental level of
68
68
  # security for server deployments (hence the name).
69
- SERVER = 10;
69
+ SERVER = 10
70
70
 
71
71
  # A safe mode level that disallows the document from attempting to read
72
72
  # files from the file system and including the contents of them into the
73
73
  # document, in additional to all the security features of SafeMode::SERVER.
74
74
  # For instance, this level disallows use of the include::[] directive and the
75
75
  # embedding of binary content (data uri), stylesheets and JavaScripts
76
- # referenced by the document.(Asciidoctor and trusted extensions may still
76
+ # referenced by the document. (Asciidoctor and trusted extensions may still
77
77
  # be allowed to embed trusted content into the document).
78
78
  #
79
79
  # Since Asciidoctor is aiming for wide adoption, this level is the default
80
80
  # and is recommended for server deployments.
81
- SECURE = 20;
81
+ SECURE = 20
82
82
 
83
83
  # A planned safe mode level that disallows the use of passthrough macros and
84
84
  # prevents the document from setting any known attributes, in addition to all
@@ -86,9 +86,9 @@ module Asciidoctor
86
86
  #
87
87
  # Please note that this level is not currently implemented (and therefore not
88
88
  # enforced)!
89
- #PARANOID = 100;
89
+ #PARANOID = 100
90
90
 
91
- @names_by_value = {}.tap {|accum| (constants false).each {|sym| accum[const_get sym, false] = sym.to_s.downcase } }
91
+ @names_by_value = (constants false).map {|sym| [(const_get sym), sym.to_s.downcase] }.sort {|(a), (b)| a <=> b }.to_h
92
92
 
93
93
  def self.value_for_name name
94
94
  const_get name.upcase, false
data/man/asciidoctor.1 CHANGED
@@ -1,13 +1,13 @@
1
1
  '\" t
2
2
  .\" Title: asciidoctor
3
- .\" Author: Dan Allen, Sarah White, Ryan Waldron
4
- .\" Generator: Asciidoctor 2.0.15
5
- .\" Date: 2021-04-27
3
+ .\" Author: Dan Allen, Sarah White
4
+ .\" Generator: Asciidoctor 2.0.17
5
+ .\" Date: 2022-01-05
6
6
  .\" Manual: Asciidoctor Manual
7
- .\" Source: Asciidoctor 2.0.15
7
+ .\" Source: Asciidoctor 2.0.17
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "ASCIIDOCTOR" "1" "2021-04-27" "Asciidoctor 2.0.15" "Asciidoctor Manual"
10
+ .TH "ASCIIDOCTOR" "1" "2022-01-05" "Asciidoctor 2.0.17" "Asciidoctor Manual"
11
11
  .ie \n(.g .ds Aq \(aq
12
12
  .el .ds Aq '
13
13
  .ss \n[.ss] 0
@@ -109,11 +109,10 @@ This name is also used to build the full path to the custom converter templates.
109
109
  If a template engine is not specified, it will be auto\-detected based on the file extension of the custom converter templates found.
110
110
  .RE
111
111
  .sp
112
- \fB\-e, \-\-eruby\fP
112
+ \fB\-e, \-\-embedded\fP
113
113
  .RS 4
114
- Specifies the eRuby implementation to use for executing the custom converter templates written in ERB.
115
- Supported values are \fIerb\fP and \fIerubis\fP.
116
- Defaults to \fIerb\fP.
114
+ Output an embeddable document, which excludes the header, the footer, and everything outside the body of the document.
115
+ This option is useful for producing documents that can be inserted into an external template.
117
116
  .RE
118
117
  .sp
119
118
  \fB\-I, \-\-load\-path\fP=\fIDIRECTORY\fP
@@ -172,8 +171,8 @@ Matching templates found in subsequent directories override ones previously disc
172
171
  .sp
173
172
  \fB\-\-failure\-level\fP=\fILEVEL\fP
174
173
  .RS 4
175
- The minimum logging level that triggers a non\-zero exit code (failure).
176
- If this option is not set (default: FATAL), the program exits with exit code zero even if warnings or errors have been logged.
174
+ Set the minimum logging level (default: FATAL) that yields a non\-zero exit code (i.e., failure).
175
+ If this option is not set, the program exits with a zero exit code even if warnings or errors have been logged.
177
176
  .RE
178
177
  .sp
179
178
  \fB\-q, \-\-quiet\fP
@@ -207,6 +206,7 @@ Print timings report to stderr (time to read, parse, and convert).
207
206
  Print a help message.
208
207
  Show the command usage if \fITOPIC\fP is not specified or recognized.
209
208
  Dump the Asciidoctor man page (in troff/groff format) if \fITOPIC\fP is \fImanpage\fP.
209
+ Print an AsciiDoc syntax crib sheet (in AsciiDoc) if \fITOPIC\fP is \fIsyntax\fP.
210
210
  .RE
211
211
  .sp
212
212
  \fB\-V, \-\-version\fP
@@ -239,30 +239,28 @@ Refer to the \fBAsciidoctor\fP issue tracker at \c
239
239
  .URL "https://github.com/asciidoctor/asciidoctor/issues?q=is%3Aopen" "" "."
240
240
  .SH "AUTHORS"
241
241
  .sp
242
- \fBAsciidoctor\fP was written by Dan Allen, Ryan Waldron, Jason Porter, Nick Hengeveld, and other contributors.
242
+ \fBAsciidoctor\fP is led and maintained by Dan Allen and Sarah White and has received contributions from many individuals in the Asciidoctor community.
243
+ The project was started in 2012 by Ryan Waldron based on a prototype written by Nick Hengeveld for the Git website.
244
+ Jason Porter wrote the first implementation of the CLI interface provided by this command.
243
245
  .sp
244
- \fBAsciiDoc\fP was written by Stuart Rackham and has received contributions from many other individuals.
246
+ \fBAsciiDoc.py\fP was created by Stuart Rackham and has received contributions from many individuals in the AsciiDoc.py community.
245
247
  .SH "RESOURCES"
246
248
  .sp
247
- \fBProject web site:\fP \c
249
+ \fBProject website:\fP \c
248
250
  .URL "https://asciidoctor.org" "" ""
249
251
  .sp
250
- \fBGit source repository on GitHub:\fP \c
252
+ \fBProject documentation:\fP \c
253
+ .URL "https://docs.asciidoctor.org" "" ""
254
+ .sp
255
+ \fBSource repository:\fP \c
251
256
  .URL "https://github.com/asciidoctor/asciidoctor" "" ""
252
257
  .sp
253
- \fBGitHub organization:\fP \c
254
- .URL "https://github.com/asciidoctor" "" ""
258
+ \fBCommunity chat:\fP \c
259
+ .URL "https://asciidoctor.zulipchat.com" "" ""
255
260
  .sp
256
- \fBDiscussion list / forum:\fP \c
257
- .URL "http://discuss.asciidoctor.org" "" ""
261
+ \fBDiscussion list:\fP \c
262
+ .URL "https://discuss.asciidoctor.org" "" ""
258
263
  .SH "COPYING"
259
264
  .sp
260
- Copyright (C) 2012\-2021 Dan Allen, Ryan Waldron, and the Asciidoctor Project.
261
- Free use of this software is granted under the terms of the MIT License.
262
- .SH "AUTHORS"
263
- .sp
264
- Dan Allen
265
- .sp
266
- Sarah White
267
- .sp
268
- Ryan Waldron
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.
data/man/asciidoctor.adoc CHANGED
@@ -1,27 +1,28 @@
1
1
  = asciidoctor(1)
2
- Dan Allen; Sarah White; Ryan Waldron
2
+ Dan Allen; Sarah White
3
3
  :doctype: manpage
4
- :release-version: 2.0.15
4
+ :release-version: 2.0.17
5
5
  :man manual: Asciidoctor Manual
6
6
  :man source: Asciidoctor {release-version}
7
- :page-layout: base
7
+ ifdef::backend-manpage[:!author:]
8
8
 
9
- == NAME
9
+ == Name
10
10
 
11
11
  asciidoctor - converts AsciiDoc source files to HTML, DocBook, and other formats
12
12
 
13
- == SYNOPSIS
13
+ == Synopsis
14
14
 
15
15
  *asciidoctor* [_OPTION_]... _FILE_...
16
16
 
17
- == DESCRIPTION
17
+ == Description
18
18
 
19
19
  The asciidoctor(1) command converts the AsciiDoc source file(s) _FILE_ to HTML5, DocBook 5, man(ual) page, and other custom output formats.
20
20
 
21
21
  If _FILE_ is _-_ then the AsciiDoc source is read from standard input.
22
22
 
23
- == OPTIONS
23
+ == Options
24
24
 
25
+ // tag::options[]
25
26
  === Security Settings
26
27
 
27
28
  *-B, --base-dir*=_DIR_::
@@ -79,10 +80,9 @@ This option may be specified more than once.
79
80
  This name is also used to build the full path to the custom converter templates.
80
81
  If a template engine is not specified, it will be auto-detected based on the file extension of the custom converter templates found.
81
82
 
82
- *-e, --eruby*::
83
- Specifies the eRuby implementation to use for executing the custom converter templates written in ERB.
84
- Supported values are _erb_ and _erubis_.
85
- Defaults to _erb_.
83
+ *-e, --embedded*::
84
+ Output an embeddable document, which excludes the header, the footer, and everything outside the body of the document.
85
+ This option is useful for producing documents that can be inserted into an external template.
86
86
 
87
87
  *-I, --load-path*=_DIRECTORY_::
88
88
  Add the specified directory to the load path, so that _-r_ can load extensions from outside the default Ruby load path.
@@ -126,8 +126,8 @@ Matching templates found in subsequent directories override ones previously disc
126
126
  === Processing Information
127
127
 
128
128
  *--failure-level*=_LEVEL_::
129
- The minimum logging level that triggers a non-zero exit code (failure).
130
- If this option is not set (default: FATAL), the program exits with exit code zero even if warnings or errors have been logged.
129
+ Set the minimum logging level (default: FATAL) that yields a non-zero exit code (i.e., failure).
130
+ If this option is not set, the program exits with a zero exit code even if warnings or errors have been logged.
131
131
 
132
132
  *-q, --quiet*::
133
133
  Silence application log messages and script warnings.
@@ -150,19 +150,21 @@ Matching templates found in subsequent directories override ones previously disc
150
150
  Print a help message.
151
151
  Show the command usage if _TOPIC_ is not specified or recognized.
152
152
  Dump the Asciidoctor man page (in troff/groff format) if _TOPIC_ is _manpage_.
153
+ Print an AsciiDoc syntax crib sheet (in AsciiDoc) if _TOPIC_ is _syntax_.
153
154
 
154
155
  *-V, --version*::
155
156
  Print program version number.
156
157
  +
157
158
  *-v* can also be used if no source files are specified.
159
+ // end::options[]
158
160
 
159
- == ENVIRONMENT
161
+ == Environment
160
162
 
161
163
  *Asciidoctor* honors the *SOURCE_DATE_EPOCH* environment variable.
162
164
  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.
163
165
  See https://reproducible-builds.org/specs/source-date-epoch/ for more information about this environment variable.
164
166
 
165
- == EXIT STATUS
167
+ == Exit Status
166
168
 
167
169
  *0*::
168
170
  Success.
@@ -170,27 +172,31 @@ See https://reproducible-builds.org/specs/source-date-epoch/ for more informatio
170
172
  *1*::
171
173
  Failure (syntax or usage error; configuration error; document processing failure; unexpected error).
172
174
 
173
- == BUGS
175
+ == Bugs
174
176
 
175
177
  Refer to the *Asciidoctor* issue tracker at https://github.com/asciidoctor/asciidoctor/issues?q=is%3Aopen.
176
178
 
177
- == AUTHORS
179
+ == Authors
180
+
181
+ *Asciidoctor* is led and maintained by Dan Allen and Sarah White and has received contributions from many individuals in the Asciidoctor community.
182
+ The project was started in 2012 by Ryan Waldron based on a prototype written by Nick Hengeveld for the Git website.
183
+ Jason Porter wrote the first implementation of the CLI interface provided by this command.
178
184
 
179
- *Asciidoctor* was written by Dan Allen, Ryan Waldron, Jason Porter, Nick Hengeveld, and other contributors.
185
+ *AsciiDoc.py* was created by Stuart Rackham and has received contributions from many individuals in the AsciiDoc.py community.
180
186
 
181
- *AsciiDoc* was written by Stuart Rackham and has received contributions from many other individuals.
187
+ == Resources
182
188
 
183
- == RESOURCES
189
+ *Project website:* https://asciidoctor.org
184
190
 
185
- *Project web site:* https://asciidoctor.org
191
+ *Project documentation:* https://docs.asciidoctor.org
186
192
 
187
- *Git source repository on GitHub:* https://github.com/asciidoctor/asciidoctor
193
+ *Source repository:* https://github.com/asciidoctor/asciidoctor
188
194
 
189
- *GitHub organization:* https://github.com/asciidoctor
195
+ *Community chat:* https://asciidoctor.zulipchat.com
190
196
 
191
- *Discussion list / forum:* http://discuss.asciidoctor.org
197
+ *Discussion list:* https://discuss.asciidoctor.org
192
198
 
193
- == COPYING
199
+ == Copying
194
200
 
195
- Copyright \(C) 2012-2021 Dan Allen, Ryan Waldron, and the Asciidoctor Project.
196
- Free use of this software is granted under the terms of the MIT License.
201
+ Copyright \(C) 2012-present Dan Allen, Sarah White, Ryan Waldron, and the individual contributors to Asciidoctor.
202
+ Use of this software is granted under the terms of the MIT License.
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.15
4
+ version: 2.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Allen
@@ -13,36 +13,8 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2021-04-27 00:00:00.000000000 Z
16
+ date: 2022-01-06 00:00:00.000000000 Z
17
17
  dependencies:
18
- - !ruby/object:Gem::Dependency
19
- name: asciimath
20
- requirement: !ruby/object:Gem::Requirement
21
- requirements:
22
- - - "~>"
23
- - !ruby/object:Gem::Version
24
- version: 2.0.0
25
- type: :development
26
- prerelease: false
27
- version_requirements: !ruby/object:Gem::Requirement
28
- requirements:
29
- - - "~>"
30
- - !ruby/object:Gem::Version
31
- version: 2.0.0
32
- - !ruby/object:Gem::Dependency
33
- name: coderay
34
- requirement: !ruby/object:Gem::Requirement
35
- requirements:
36
- - - "~>"
37
- - !ruby/object:Gem::Version
38
- version: 1.1.0
39
- type: :development
40
- prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- requirements:
43
- - - "~>"
44
- - !ruby/object:Gem::Version
45
- version: 1.1.0
46
18
  - !ruby/object:Gem::Dependency
47
19
  name: concurrent-ruby
48
20
  requirement: !ruby/object:Gem::Requirement
@@ -105,14 +77,14 @@ dependencies:
105
77
  requirements:
106
78
  - - "~>"
107
79
  - !ruby/object:Gem::Version
108
- version: 5.11.0
80
+ version: 5.14.0
109
81
  type: :development
110
82
  prerelease: false
111
83
  version_requirements: !ruby/object:Gem::Requirement
112
84
  requirements:
113
85
  - - "~>"
114
86
  - !ruby/object:Gem::Version
115
- version: 5.11.0
87
+ version: 5.14.0
116
88
  - !ruby/object:Gem::Dependency
117
89
  name: nokogiri
118
90
  requirement: !ruby/object:Gem::Requirement
@@ -141,34 +113,6 @@ dependencies:
141
113
  - - "~>"
142
114
  - !ruby/object:Gem::Version
143
115
  version: 12.3.0
144
- - !ruby/object:Gem::Dependency
145
- name: rouge
146
- requirement: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - "~>"
149
- - !ruby/object:Gem::Version
150
- version: 3.26.0
151
- type: :development
152
- prerelease: false
153
- version_requirements: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: 3.26.0
158
- - !ruby/object:Gem::Dependency
159
- name: rspec-expectations
160
- requirement: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - "~>"
163
- - !ruby/object:Gem::Version
164
- version: 3.8.0
165
- type: :development
166
- prerelease: false
167
- version_requirements: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: 3.8.0
172
116
  - !ruby/object:Gem::Dependency
173
117
  name: slim
174
118
  requirement: !ruby/object:Gem::Requirement
@@ -244,8 +188,10 @@ files:
244
188
  - data/locale/attributes-sr.adoc
245
189
  - data/locale/attributes-sr_Latn.adoc
246
190
  - data/locale/attributes-sv.adoc
191
+ - data/locale/attributes-th.adoc
247
192
  - data/locale/attributes-tr.adoc
248
193
  - data/locale/attributes-uk.adoc
194
+ - data/locale/attributes-vi.adoc
249
195
  - data/locale/attributes-zh_CN.adoc
250
196
  - data/locale/attributes-zh_TW.adoc
251
197
  - data/locale/attributes.adoc
@@ -307,7 +253,7 @@ licenses:
307
253
  - MIT
308
254
  metadata:
309
255
  bug_tracker_uri: https://github.com/asciidoctor/asciidoctor/issues
310
- changelog_uri: https://github.com/asciidoctor/asciidoctor/blob/master/CHANGELOG.adoc
256
+ changelog_uri: https://github.com/asciidoctor/asciidoctor/blob/HEAD/CHANGELOG.adoc
311
257
  mailing_list_uri: http://discuss.asciidoctor.org
312
258
  source_code_uri: https://github.com/asciidoctor/asciidoctor
313
259
  post_install_message:
@@ -325,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
325
271
  - !ruby/object:Gem::Version
326
272
  version: '0'
327
273
  requirements: []
328
- rubygems_version: 3.2.15
274
+ rubygems_version: 3.2.32
329
275
  signing_key:
330
276
  specification_version: 4
331
277
  summary: An implementation of the AsciiDoc text processor and publishing toolchain