asciidoctor-pdf 1.5.0.beta.5 → 1.5.0.beta.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +33 -2
  3. data/README.adoc +22 -19
  4. data/asciidoctor-pdf.gemspec +5 -6
  5. data/data/fonts/mplus1mn-bold-ascii.ttf +0 -0
  6. data/data/fonts/mplus1mn-bold-subset.ttf +0 -0
  7. data/data/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
  8. data/data/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
  9. data/data/fonts/mplus1mn-italic-ascii.ttf +0 -0
  10. data/data/fonts/mplus1mn-italic-subset.ttf +0 -0
  11. data/data/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
  12. data/data/fonts/mplus1mn-regular-subset.ttf +0 -0
  13. data/data/fonts/mplus1p-regular-fallback.ttf +0 -0
  14. data/data/fonts/notoserif-bold-subset.ttf +0 -0
  15. data/data/fonts/notoserif-bold_italic-subset.ttf +0 -0
  16. data/data/fonts/notoserif-italic-subset.ttf +0 -0
  17. data/data/fonts/notoserif-regular-subset.ttf +0 -0
  18. data/data/themes/base-theme.yml +3 -0
  19. data/data/themes/default-theme.yml +7 -1
  20. data/docs/theming-guide.adoc +254 -24
  21. data/lib/asciidoctor-pdf.rb +1 -4
  22. data/lib/asciidoctor-pdf/converter.rb +1 -4085
  23. data/lib/asciidoctor-pdf/version.rb +1 -6
  24. data/lib/asciidoctor/pdf.rb +4 -1
  25. data/lib/asciidoctor/pdf/converter.rb +4222 -0
  26. data/lib/asciidoctor/pdf/ext/asciidoctor.rb +9 -0
  27. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/abstract_block.rb +0 -0
  28. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/document.rb +0 -0
  29. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/image.rb +0 -0
  30. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/list.rb +0 -0
  31. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/list_item.rb +0 -0
  32. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/logging_shim.rb +0 -0
  33. data/lib/{asciidoctor-pdf/asciidoctor_ext → asciidoctor/pdf/ext/asciidoctor}/section.rb +0 -0
  34. data/lib/asciidoctor/pdf/ext/core.rb +7 -0
  35. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/array.rb +0 -0
  36. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/hash.rb +0 -0
  37. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/numeric.rb +0 -0
  38. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/object.rb +0 -0
  39. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/quantifiable_stdout.rb +0 -0
  40. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/regexp.rb +0 -0
  41. data/lib/{asciidoctor-pdf/core_ext → asciidoctor/pdf/ext/core}/string.rb +0 -0
  42. data/lib/asciidoctor/pdf/ext/pdf-core.rb +3 -0
  43. data/lib/{asciidoctor-pdf/pdf-core_ext → asciidoctor/pdf/ext/pdf-core}/page.rb +0 -0
  44. data/lib/{asciidoctor-pdf/pdf-core_ext → asciidoctor/pdf/ext/pdf-core}/pdf_object.rb +0 -0
  45. data/lib/{asciidoctor-pdf/prawn-svg_ext.rb → asciidoctor/pdf/ext/prawn-svg.rb} +1 -1
  46. data/lib/{asciidoctor-pdf/prawn-svg_ext → asciidoctor/pdf/ext/prawn-svg}/interface.rb +0 -0
  47. data/lib/asciidoctor/pdf/ext/prawn-table.rb +5 -0
  48. data/lib/{asciidoctor-pdf/prawn-table_ext → asciidoctor/pdf/ext/prawn-table}/cell.rb +0 -0
  49. data/lib/{asciidoctor-pdf/prawn-table_ext → asciidoctor/pdf/ext/prawn-table}/cell/asciidoc.rb +0 -0
  50. data/lib/{asciidoctor-pdf/prawn-table_ext → asciidoctor/pdf/ext/prawn-table}/cell/text.rb +0 -0
  51. data/lib/{asciidoctor-pdf/prawn-templates_ext.rb → asciidoctor/pdf/ext/prawn-templates.rb} +0 -0
  52. data/lib/asciidoctor/pdf/ext/prawn.rb +6 -0
  53. data/lib/{asciidoctor-pdf/prawn_ext → asciidoctor/pdf/ext/prawn}/coderay_encoder.rb +0 -0
  54. data/lib/{asciidoctor-pdf/prawn_ext → asciidoctor/pdf/ext/prawn}/extensions.rb +17 -5
  55. data/lib/{asciidoctor-pdf/prawn_ext → asciidoctor/pdf/ext/prawn}/font/afm.rb +0 -0
  56. data/lib/{asciidoctor-pdf/prawn_ext → asciidoctor/pdf/ext/prawn}/formatted_text/fragment.rb +2 -10
  57. data/lib/{asciidoctor-pdf/prawn_ext → asciidoctor/pdf/ext/prawn}/images.rb +0 -0
  58. data/lib/asciidoctor/pdf/ext/rouge.rb +5 -0
  59. data/lib/{asciidoctor-pdf/rouge_ext → asciidoctor/pdf/ext/rouge}/formatters/prawn.rb +0 -0
  60. data/lib/{asciidoctor-pdf/rouge_ext → asciidoctor/pdf/ext/rouge}/themes/asciidoctor_pdf_default.rb +0 -0
  61. data/lib/{asciidoctor-pdf/rouge_ext → asciidoctor/pdf/ext/rouge}/themes/bw.rb +0 -0
  62. data/lib/{asciidoctor-pdf/ttfunk_ext.rb → asciidoctor/pdf/ext/ttfunk.rb} +0 -0
  63. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text.rb +1 -0
  64. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/formatter.rb +8 -6
  65. data/lib/asciidoctor/pdf/formatted_text/fragment_position_renderer.rb +12 -0
  66. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/inline_destination_marker.rb +0 -0
  67. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/inline_image_arranger.rb +1 -4
  68. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/inline_image_renderer.rb +0 -0
  69. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/inline_text_aligner.rb +0 -0
  70. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/parser.rb +0 -0
  71. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/parser.treetop +0 -0
  72. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/text_background_and_border_renderer.rb +0 -0
  73. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/formatted_text/transform.rb +3 -4
  74. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/index_catalog.rb +0 -0
  75. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/measurements.rb +0 -0
  76. data/lib/asciidoctor/pdf/optimizer.rb +23 -0
  77. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/pdfmark.rb +8 -2
  78. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/roman_numeral.rb +0 -0
  79. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/sanitizer.rb +3 -4
  80. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/temporary_path.rb +0 -0
  81. data/lib/{asciidoctor-pdf → asciidoctor/pdf}/theme_loader.rb +1 -1
  82. data/lib/asciidoctor/pdf/version.rb +6 -1
  83. metadata +68 -65
  84. data/lib/asciidoctor-pdf/asciidoctor_ext.rb +0 -9
  85. data/lib/asciidoctor-pdf/core_ext.rb +0 -7
  86. data/lib/asciidoctor-pdf/pdf-core_ext.rb +0 -3
  87. data/lib/asciidoctor-pdf/prawn-table_ext.rb +0 -5
  88. data/lib/asciidoctor-pdf/prawn_ext.rb +0 -6
  89. data/lib/asciidoctor-pdf/rouge_ext.rb +0 -5
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+ # NOTE these are either candidates for inclusion in Asciidoctor core or backports
3
+ require_relative 'asciidoctor/abstract_block'
4
+ require_relative 'asciidoctor/document'
5
+ require_relative 'asciidoctor/section'
6
+ require_relative 'asciidoctor/list'
7
+ require_relative 'asciidoctor/list_item'
8
+ require_relative 'asciidoctor/logging_shim' unless defined? Asciidoctor::Logging
9
+ require_relative 'asciidoctor/image'
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'core/object'
3
+ require_relative 'core/array'
4
+ require_relative 'core/hash'
5
+ require_relative 'core/numeric'
6
+ require_relative 'core/string'
7
+ require_relative 'core/regexp'
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'pdf-core/pdf_object'
3
+ require_relative 'pdf-core/page'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  require 'prawn-svg' unless defined? Prawn::SVG::Interface
3
- require_relative 'prawn-svg_ext/interface'
3
+ require_relative 'prawn-svg/interface'
4
4
  # NOTE disable system fonts since they're non-portable
5
5
  Prawn::SVG::Interface.font_path.clear
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ require 'prawn/table' unless defined? Prawn::Table::VERSION
3
+ require_relative 'prawn-table/cell'
4
+ require_relative 'prawn-table/cell/asciidoc'
5
+ require_relative 'prawn-table/cell/text'
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ # the following are organized under the Asciidoctor::Prawn namespace
3
+ require_relative 'prawn/font/afm'
4
+ require_relative 'prawn/images'
5
+ require_relative 'prawn/formatted_text/fragment'
6
+ require_relative 'prawn/extensions'
@@ -13,7 +13,13 @@ module Extensions
13
13
 
14
14
  FontAwesomeIconSets = %w(fab far fas)
15
15
  IconSets = %w(fab far fas fi pf).to_set
16
+ IconSetPrefixes = IconSets.map {|it| it + '-' }
16
17
  InitialPageContent = %(q\n)
18
+ (FontStyleToSet = {
19
+ bold: [:bold].to_set,
20
+ italic: [:italic].to_set,
21
+ bold_italic: [:bold, :italic].to_set,
22
+ }).default = ::Set.new
17
23
 
18
24
  # - :height is the height of a line
19
25
  # - :leading is spacing between adjacent lines
@@ -30,6 +36,12 @@ module Extensions
30
36
  state.store.root
31
37
  end
32
38
 
39
+ # Retrieves the compatiblity version of the PDF.
40
+ #
41
+ def min_version
42
+ state.version
43
+ end
44
+
33
45
  # Measurements
34
46
 
35
47
  # Returns the width of the current page from edge-to-edge
@@ -264,11 +276,7 @@ module Extensions
264
276
  # which defaults to the current font style.
265
277
  #
266
278
  def font_styles style = font_style
267
- if style
268
- style == :bold_italic ? [:bold, :italic].to_set : [style].to_set
269
- else
270
- ::Set.new
271
- end
279
+ FontStyleToSet[style].dup
272
280
  end
273
281
 
274
282
  # Apply the font settings (family, size, styles and character spacing) from
@@ -516,6 +524,10 @@ module Extensions
516
524
  #end
517
525
  end
518
526
 
527
+ def inflate_indent value
528
+ (::Array === value ? (value.slice 0, 2) : (::Array.new 2, value)).map(&:to_f)
529
+ end
530
+
519
531
  # TODO memoize the result
520
532
  def inflate_padding padding
521
533
  padding = [*(padding || 0)].slice 0, 4
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
- module Asciidoctor
3
- module Prawn
4
- module FormattedText
5
- module Fragment
2
+ Prawn::Text::Formatted::Fragment.prepend (Module.new do
6
3
  attr_reader :document
7
4
 
8
5
  # Prevent fragment from being written by discarding the text.
@@ -29,9 +26,4 @@ module Fragment
29
26
  super
30
27
  end
31
28
  end
32
- end
33
-
34
- ::Prawn::Text::Formatted::Fragment.prepend Fragment
35
- end
36
- end
37
- end
29
+ end)
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ require 'rouge'
3
+ require_relative 'rouge/formatters/prawn'
4
+ require_relative 'rouge/themes/asciidoctor_pdf_default'
5
+ require_relative 'rouge/themes/bw' unless Rouge::Theme.find 'bw'
@@ -4,6 +4,7 @@ require 'set' unless defined? Set
4
4
  require_relative 'formatted_text/parser'
5
5
  require_relative 'formatted_text/transform'
6
6
  require_relative 'formatted_text/formatter'
7
+ require_relative 'formatted_text/fragment_position_renderer'
7
8
  require_relative 'formatted_text/inline_destination_marker'
8
9
  require_relative 'formatted_text/inline_image_arranger'
9
10
  require_relative 'formatted_text/inline_image_renderer'
@@ -20,13 +20,15 @@ class Formatter
20
20
  def format string, *args
21
21
  options = args[0] || {}
22
22
  string = string.tr_s(WHITESPACE, ' ') if options[:normalize]
23
- return [text: string] unless FormattingSnifferPattern.match? string
24
- if (parsed = @parser.parse(string))
25
- @transform.apply(parsed.content)
26
- else
27
- logger.error %(failed to parse formatted text: #{string})
28
- [text: string]
23
+ inherited = options[:inherited]
24
+ if FormattingSnifferPattern.match? string
25
+ if (parsed = @parser.parse(string))
26
+ return @transform.apply(parsed.content, [], inherited)
27
+ else
28
+ logger.error %(failed to parse formatted text: #{string})
29
+ end
29
30
  end
31
+ [inherited ? (inherited.merge text: string) : { text: string }]
30
32
  end
31
33
 
32
34
  # The original purpose of this method is to split paragraphs, but our formatter only works on paragraphs that have
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ module Asciidoctor::PDF::FormattedText
3
+ class FragmentPositionRenderer
4
+ attr_reader :top, :right, :bottom, :left
5
+
6
+ def render_behind fragment
7
+ @top = fragment.top
8
+ @right = (@left = fragment.left) + fragment.width
9
+ @bottom = fragment.bottom
10
+ end
11
+ end
12
+ end
@@ -48,10 +48,7 @@ module InlineImageArranger
48
48
  return if (raw_image_fragments = fragments.select {|f| (f.key? :image_path) && !(f.key? :image_obj) }).empty?
49
49
  scratch = doc.scratch?
50
50
  available_w = doc.bounds.width
51
- #available_h = doc.bounds.height
52
- # NOTE try to fit image within bounds if cursor is within 1% of top of page
53
- # QUESTION are we considering the right boundaries here?
54
- available_h ||= (doc.cursor / (available_h = doc.bounds.height) >= 0.99 ? doc.cursor : available_h)
51
+ available_h = doc.page.empty? ? doc.cursor : doc.bounds.height
55
52
  raw_image_fragments.each do |fragment|
56
53
  drop = scratch
57
54
  begin
@@ -120,7 +120,6 @@ class Transform
120
120
  end
121
121
  end
122
122
 
123
- # FIXME pass styles downwards to child elements rather than decorating on way out of hierarchy
124
123
  def apply(parsed, fragments = [], inherited = nil)
125
124
  previous_fragment_is_text = false
126
125
  # NOTE we use each since using inject is slower than a manual loop
@@ -210,7 +209,7 @@ class Transform
210
209
  when :em
211
210
  styles << :italic
212
211
  when :button, :code, :key, :mark
213
- fragment.update(@theme_settings[tag_name]) {|k, oval, nval| k == :styles ? oval.merge(nval) : (k == :callback ? oval.union(nval) : nval) }
212
+ fragment.update(@theme_settings[tag_name]) {|k, oval, nval| k == :styles ? (nval ? oval.merge(nval) : oval.clear) : (k == :callback ? oval.union(nval) : nval) }
214
213
  when :color
215
214
  if (rgb = attrs[:rgb])
216
215
  case rgb.chr
@@ -278,7 +277,7 @@ class Transform
278
277
  visible = false
279
278
  end
280
279
  end
281
- fragment.update(@theme_settings[:link]) {|k, oval, nval| k == :styles ? oval.merge(nval) : nval } if visible
280
+ fragment.update(@theme_settings[:link]) {|k, oval, nval| k == :styles ? (nval ? oval.merge(nval) : oval.clear) : nval } if visible
282
281
  when :sub
283
282
  styles << :subscript
284
283
  when :sup
@@ -325,7 +324,7 @@ class Transform
325
324
  when 'line-through'
326
325
  styles << :strikethrough
327
326
  else
328
- fragment.update(@theme_settings[class_name]) {|k, oval, nval| k == :styles ? oval.merge(nval) : nval } if @theme_settings.key? class_name
327
+ fragment.update(@theme_settings[class_name]) {|k, oval, nval| k == :styles ? (nval ? oval.merge(nval) : oval.clear) : nval } if @theme_settings.key? class_name
329
328
  if fragment[:background_color] || (fragment[:border_color] && fragment[:border_width])
330
329
  fragment[:callback] = ((fragment[:callback] || []) << TextBackgroundAndBorderRenderer).uniq
331
330
  end
@@ -0,0 +1,23 @@
1
+ require 'rghost'
2
+
3
+ module Asciidoctor
4
+ module PDF
5
+ class Optimizer
6
+ def initialize quality = 'default', compatibility_level = '1.4'
7
+ @quality = quality.empty? ? :default : quality.to_sym
8
+ @compatibility_level = compatibility_level
9
+ end
10
+
11
+ def generate_file target
12
+ filename_o = (filename = Pathname.new target).sub_ext '-o.pdf'
13
+ pdfmark = filename.sub_ext '.pdfmark'
14
+ (::RGhost::Convert.new target).to :pdf,
15
+ filename: filename_o.to_s,
16
+ quality: @quality,
17
+ d: { Printed: false, CannotEmbedFontPolicy: '/Warning', CompatibilityLevel: @compatibility_level },
18
+ raw: pdfmark.file? ? pdfmark.to_s : nil
19
+ filename_o.rename target
20
+ end
21
+ end
22
+ end
23
+ end
@@ -10,14 +10,20 @@ class Pdfmark
10
10
 
11
11
  def generate
12
12
  doc = @doc
13
+ if doc.attr? 'reproducible'
14
+ mod_date = creation_date = ::Time.at 0
15
+ else
16
+ mod_date = ::Time.parse doc.attr 'docdatetime' rescue (now ||= ::Time.now)
17
+ creation_date = ::Time.parse doc.attr 'localdatetime' rescue (now ||= ::Time.now)
18
+ end
13
19
  # FIXME use sanitize: :plain_text once available
14
20
  content = <<~EOS
15
21
  [ /Title #{sanitize(doc.doctitle use_fallback: true).to_pdf}
16
22
  /Author #{(doc.attr 'authors').to_pdf}
17
23
  /Subject #{(doc.attr 'subject').to_pdf}
18
24
  /Keywords #{(doc.attr 'keywords').to_pdf}
19
- /ModDate #{date = ::Time.now.to_pdf}
20
- /CreationDate #{date}
25
+ /ModDate #{mod_date.to_pdf}
26
+ /CreationDate #{creation_date.to_pdf}
21
27
  /Creator (Asciidoctor PDF #{::Asciidoctor::PDF::VERSION}, based on Prawn #{::Prawn::VERSION})
22
28
  /Producer #{(doc.attr 'publisher').to_pdf}
23
29
  /DOCINFO pdfmark
@@ -39,10 +39,9 @@ module Sanitizer
39
39
  # FIXME move to a module so we can mix it in elsewhere
40
40
  # FIXME add option to control escaping entities, or a filter mechanism in general
41
41
  def sanitize string
42
- string.strip
43
- .gsub(SanitizeXMLRx, '')
44
- .tr_s(' ', ' ')
45
- .gsub(CharRefRx) { $1 ? BuiltInNamedEntities[$1] : [$2 ? $2.to_i : ($3.to_i 16)].pack('U1') }
42
+ string = string.gsub(SanitizeXMLRx, '') if string.include? '<'
43
+ string = string.gsub(CharRefRx) { $1 ? BuiltInNamedEntities[$1] : ([$2 ? $2.to_i : ($3.to_i 16)].pack 'U1') } if string.include? '&'
44
+ string.strip.tr_s ' ', ' '
46
45
  end
47
46
 
48
47
  def escape_xml string
@@ -13,7 +13,7 @@ class ThemeLoader
13
13
  include ::Asciidoctor::LoggingShim
14
14
  end
15
15
 
16
- DataDir = ::File.absolute_path %(#{__dir__}/../../data)
16
+ DataDir = ::File.absolute_path %(#{__dir__}/../../../data)
17
17
  ThemesDir = ::File.join DataDir, 'themes'
18
18
  FontsDir = ::File.join DataDir, 'fonts'
19
19
  BaseThemePath = ::File.join ThemesDir, 'base-theme.yml'
@@ -1,2 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative '../../asciidoctor-pdf/version'
2
+ module Asciidoctor
3
+ module PDF
4
+ VERSION = '1.5.0.beta.6'
5
+ end
6
+ Pdf = PDF unless const_defined? :Pdf, false
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0.beta.5
4
+ version: 1.5.0.beta.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Allen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-09-13 00:00:00.000000000 Z
12
+ date: 2019-10-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: asciidoctor
@@ -93,14 +93,14 @@ dependencies:
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.4.0
96
+ version: 2.5.0
97
97
  type: :runtime
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.4.0
103
+ version: 2.5.0
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: safe_yaml
106
106
  requirement: !ruby/object:Gem::Requirement
@@ -163,14 +163,14 @@ dependencies:
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 12.3.0
166
+ version: 13.0.0
167
167
  type: :development
168
168
  prerelease: false
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 12.3.0
173
+ version: 13.0.0
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: deep-cover-core
176
176
  requirement: !ruby/object:Gem::Requirement
@@ -205,14 +205,14 @@ dependencies:
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: 3.8.0
208
+ version: 3.9.0
209
209
  type: :development
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: 3.8.0
215
+ version: 3.9.0
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: pdf-inspector
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -233,14 +233,14 @@ dependencies:
233
233
  requirements:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: 3.6.0
236
+ version: 3.11.0
237
237
  type: :development
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: 3.6.0
243
+ version: 3.11.0
244
244
  - !ruby/object:Gem::Dependency
245
245
  name: coderay
246
246
  requirement: !ruby/object:Gem::Requirement
@@ -307,63 +307,66 @@ files:
307
307
  - data/themes/default-with-fallback-font-theme.yml
308
308
  - docs/theming-guide.adoc
309
309
  - lib/asciidoctor-pdf.rb
310
- - lib/asciidoctor-pdf/asciidoctor_ext.rb
311
- - lib/asciidoctor-pdf/asciidoctor_ext/abstract_block.rb
312
- - lib/asciidoctor-pdf/asciidoctor_ext/document.rb
313
- - lib/asciidoctor-pdf/asciidoctor_ext/image.rb
314
- - lib/asciidoctor-pdf/asciidoctor_ext/list.rb
315
- - lib/asciidoctor-pdf/asciidoctor_ext/list_item.rb
316
- - lib/asciidoctor-pdf/asciidoctor_ext/logging_shim.rb
317
- - lib/asciidoctor-pdf/asciidoctor_ext/section.rb
318
310
  - lib/asciidoctor-pdf/converter.rb
319
- - lib/asciidoctor-pdf/core_ext.rb
320
- - lib/asciidoctor-pdf/core_ext/array.rb
321
- - lib/asciidoctor-pdf/core_ext/hash.rb
322
- - lib/asciidoctor-pdf/core_ext/numeric.rb
323
- - lib/asciidoctor-pdf/core_ext/object.rb
324
- - lib/asciidoctor-pdf/core_ext/quantifiable_stdout.rb
325
- - lib/asciidoctor-pdf/core_ext/regexp.rb
326
- - lib/asciidoctor-pdf/core_ext/string.rb
327
- - lib/asciidoctor-pdf/formatted_text.rb
328
- - lib/asciidoctor-pdf/formatted_text/formatter.rb
329
- - lib/asciidoctor-pdf/formatted_text/inline_destination_marker.rb
330
- - lib/asciidoctor-pdf/formatted_text/inline_image_arranger.rb
331
- - lib/asciidoctor-pdf/formatted_text/inline_image_renderer.rb
332
- - lib/asciidoctor-pdf/formatted_text/inline_text_aligner.rb
333
- - lib/asciidoctor-pdf/formatted_text/parser.rb
334
- - lib/asciidoctor-pdf/formatted_text/parser.treetop
335
- - lib/asciidoctor-pdf/formatted_text/text_background_and_border_renderer.rb
336
- - lib/asciidoctor-pdf/formatted_text/transform.rb
337
- - lib/asciidoctor-pdf/index_catalog.rb
338
- - lib/asciidoctor-pdf/measurements.rb
339
- - lib/asciidoctor-pdf/pdf-core_ext.rb
340
- - lib/asciidoctor-pdf/pdf-core_ext/page.rb
341
- - lib/asciidoctor-pdf/pdf-core_ext/pdf_object.rb
342
- - lib/asciidoctor-pdf/pdfmark.rb
343
- - lib/asciidoctor-pdf/prawn-svg_ext.rb
344
- - lib/asciidoctor-pdf/prawn-svg_ext/interface.rb
345
- - lib/asciidoctor-pdf/prawn-table_ext.rb
346
- - lib/asciidoctor-pdf/prawn-table_ext/cell.rb
347
- - lib/asciidoctor-pdf/prawn-table_ext/cell/asciidoc.rb
348
- - lib/asciidoctor-pdf/prawn-table_ext/cell/text.rb
349
- - lib/asciidoctor-pdf/prawn-templates_ext.rb
350
- - lib/asciidoctor-pdf/prawn_ext.rb
351
- - lib/asciidoctor-pdf/prawn_ext/coderay_encoder.rb
352
- - lib/asciidoctor-pdf/prawn_ext/extensions.rb
353
- - lib/asciidoctor-pdf/prawn_ext/font/afm.rb
354
- - lib/asciidoctor-pdf/prawn_ext/formatted_text/fragment.rb
355
- - lib/asciidoctor-pdf/prawn_ext/images.rb
356
- - lib/asciidoctor-pdf/roman_numeral.rb
357
- - lib/asciidoctor-pdf/rouge_ext.rb
358
- - lib/asciidoctor-pdf/rouge_ext/formatters/prawn.rb
359
- - lib/asciidoctor-pdf/rouge_ext/themes/asciidoctor_pdf_default.rb
360
- - lib/asciidoctor-pdf/rouge_ext/themes/bw.rb
361
- - lib/asciidoctor-pdf/sanitizer.rb
362
- - lib/asciidoctor-pdf/temporary_path.rb
363
- - lib/asciidoctor-pdf/theme_loader.rb
364
- - lib/asciidoctor-pdf/ttfunk_ext.rb
365
311
  - lib/asciidoctor-pdf/version.rb
366
312
  - lib/asciidoctor/pdf.rb
313
+ - lib/asciidoctor/pdf/converter.rb
314
+ - lib/asciidoctor/pdf/ext/asciidoctor.rb
315
+ - lib/asciidoctor/pdf/ext/asciidoctor/abstract_block.rb
316
+ - lib/asciidoctor/pdf/ext/asciidoctor/document.rb
317
+ - lib/asciidoctor/pdf/ext/asciidoctor/image.rb
318
+ - lib/asciidoctor/pdf/ext/asciidoctor/list.rb
319
+ - lib/asciidoctor/pdf/ext/asciidoctor/list_item.rb
320
+ - lib/asciidoctor/pdf/ext/asciidoctor/logging_shim.rb
321
+ - lib/asciidoctor/pdf/ext/asciidoctor/section.rb
322
+ - lib/asciidoctor/pdf/ext/core.rb
323
+ - lib/asciidoctor/pdf/ext/core/array.rb
324
+ - lib/asciidoctor/pdf/ext/core/hash.rb
325
+ - lib/asciidoctor/pdf/ext/core/numeric.rb
326
+ - lib/asciidoctor/pdf/ext/core/object.rb
327
+ - lib/asciidoctor/pdf/ext/core/quantifiable_stdout.rb
328
+ - lib/asciidoctor/pdf/ext/core/regexp.rb
329
+ - lib/asciidoctor/pdf/ext/core/string.rb
330
+ - lib/asciidoctor/pdf/ext/pdf-core.rb
331
+ - lib/asciidoctor/pdf/ext/pdf-core/page.rb
332
+ - lib/asciidoctor/pdf/ext/pdf-core/pdf_object.rb
333
+ - lib/asciidoctor/pdf/ext/prawn-svg.rb
334
+ - lib/asciidoctor/pdf/ext/prawn-svg/interface.rb
335
+ - lib/asciidoctor/pdf/ext/prawn-table.rb
336
+ - lib/asciidoctor/pdf/ext/prawn-table/cell.rb
337
+ - lib/asciidoctor/pdf/ext/prawn-table/cell/asciidoc.rb
338
+ - lib/asciidoctor/pdf/ext/prawn-table/cell/text.rb
339
+ - lib/asciidoctor/pdf/ext/prawn-templates.rb
340
+ - lib/asciidoctor/pdf/ext/prawn.rb
341
+ - lib/asciidoctor/pdf/ext/prawn/coderay_encoder.rb
342
+ - lib/asciidoctor/pdf/ext/prawn/extensions.rb
343
+ - lib/asciidoctor/pdf/ext/prawn/font/afm.rb
344
+ - lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
345
+ - lib/asciidoctor/pdf/ext/prawn/images.rb
346
+ - lib/asciidoctor/pdf/ext/rouge.rb
347
+ - lib/asciidoctor/pdf/ext/rouge/formatters/prawn.rb
348
+ - lib/asciidoctor/pdf/ext/rouge/themes/asciidoctor_pdf_default.rb
349
+ - lib/asciidoctor/pdf/ext/rouge/themes/bw.rb
350
+ - lib/asciidoctor/pdf/ext/ttfunk.rb
351
+ - lib/asciidoctor/pdf/formatted_text.rb
352
+ - lib/asciidoctor/pdf/formatted_text/formatter.rb
353
+ - lib/asciidoctor/pdf/formatted_text/fragment_position_renderer.rb
354
+ - lib/asciidoctor/pdf/formatted_text/inline_destination_marker.rb
355
+ - lib/asciidoctor/pdf/formatted_text/inline_image_arranger.rb
356
+ - lib/asciidoctor/pdf/formatted_text/inline_image_renderer.rb
357
+ - lib/asciidoctor/pdf/formatted_text/inline_text_aligner.rb
358
+ - lib/asciidoctor/pdf/formatted_text/parser.rb
359
+ - lib/asciidoctor/pdf/formatted_text/parser.treetop
360
+ - lib/asciidoctor/pdf/formatted_text/text_background_and_border_renderer.rb
361
+ - lib/asciidoctor/pdf/formatted_text/transform.rb
362
+ - lib/asciidoctor/pdf/index_catalog.rb
363
+ - lib/asciidoctor/pdf/measurements.rb
364
+ - lib/asciidoctor/pdf/optimizer.rb
365
+ - lib/asciidoctor/pdf/pdfmark.rb
366
+ - lib/asciidoctor/pdf/roman_numeral.rb
367
+ - lib/asciidoctor/pdf/sanitizer.rb
368
+ - lib/asciidoctor/pdf/temporary_path.rb
369
+ - lib/asciidoctor/pdf/theme_loader.rb
367
370
  - lib/asciidoctor/pdf/version.rb
368
371
  homepage: https://asciidoctor.org/docs/asciidoctor-pdf
369
372
  licenses:
@@ -388,7 +391,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
388
391
  - !ruby/object:Gem::Version
389
392
  version: 1.3.1
390
393
  requirements: []
391
- rubygems_version: 3.0.4
394
+ rubygems_version: 3.0.6
392
395
  signing_key:
393
396
  specification_version: 4
394
397
  summary: Converts AsciiDoc documents to PDF using Asciidoctor and Prawn