asciidoctor-diagram 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +21 -0
  3. data/lib/asciidoctor-diagram/diagram_processor.rb +21 -4
  4. data/lib/asciidoctor-diagram/diagram_source.rb +1 -9
  5. data/lib/asciidoctor-diagram/ditaa/ditaa-2.2.0.jar +0 -0
  6. data/lib/asciidoctor-diagram/gnuplot/converter.rb +1 -0
  7. data/lib/asciidoctor-diagram/http/converter.rb +16 -6
  8. data/lib/asciidoctor-diagram/http/server.rb +2 -2
  9. data/lib/asciidoctor-diagram/pintora/converter.rb +60 -0
  10. data/lib/asciidoctor-diagram/pintora/extension.rb +18 -0
  11. data/lib/asciidoctor-diagram/pintora.rb +8 -0
  12. data/lib/asciidoctor-diagram/plantuml/converter.rb +40 -6
  13. data/lib/asciidoctor-diagram/plantuml/plantuml-2.2.4.jar +0 -0
  14. data/lib/asciidoctor-diagram/structurizr/structurizr-2.2.2.jar +0 -0
  15. data/lib/asciidoctor-diagram/syntrax/converter.rb +6 -1
  16. data/lib/asciidoctor-diagram/syntrax/syntrax-2.2.0.jar +0 -0
  17. data/lib/asciidoctor-diagram/tikz/converter.rb +1 -1
  18. data/lib/asciidoctor-diagram/util/base64.rb +25 -0
  19. data/lib/asciidoctor-diagram/util/java.rb +15 -7
  20. data/lib/asciidoctor-diagram/util/{server-2.1.0.jar → server-2.2.3.jar} +0 -0
  21. data/lib/asciidoctor-diagram/version.rb +1 -1
  22. data/lib/asciidoctor-diagram/wavedrom/converter.rb +1 -1
  23. data/lib/asciidoctor-diagram.rb +1 -0
  24. metadata +11 -7
  25. data/lib/asciidoctor-diagram/ditaa/ditaa-2.1.0.jar +0 -0
  26. data/lib/asciidoctor-diagram/plantuml/plantuml-2.1.1.jar +0 -0
  27. data/lib/asciidoctor-diagram/structurizr/structurizr-2.1.1.jar +0 -0
  28. data/lib/asciidoctor-diagram/syntrax/syntrax-2.1.0.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b7d586b723b3485288bc8127bbae0ce102fb2d6b07269a98790c01952aa2434
4
- data.tar.gz: 97316ae03795b92cd09fd0baf9ecd86b5a68618a5a653e20d905fe3e66dd4c6f
3
+ metadata.gz: e68570e8ec8e10bd6815b05ef8a6884716fe9bdeb6da30c30d813fe15eef3514
4
+ data.tar.gz: 426bebf1b41d3f4f3d262a41d90db635f1dffe711de6bde0ac112ffd03b6e496
5
5
  SHA512:
6
- metadata.gz: 498776729f7aa965ad47f6ff9fe11bd16a09e389eab45a060b80675fd638bd05c4917a686e1effa787afaa67002c549817cdb36c8453453cb9010b9c33effa68
7
- data.tar.gz: 6d6dc3314c9163832907cf7a5a45a2802976de6c9c04ef737463cdb2ec7ecb0c87db5f79dcf6bc5001705a10ea959635d66a88af7aa2f8b72bdde40af658d26b
6
+ metadata.gz: f97b8cad30f43d309e2607c8cbcec8e8f64998de86255ea80e717e5886165632b8e5f0ab97674375cf59edb1249807d2a23c475a9b58de64a611a9182b574ccc
7
+ data.tar.gz: 5d0ff9dd8bed877c2e5db712320779486735b5cc24ea87c0c3623f94a27be949d84849ed6e504e8428535cdf394ffbccaecebdeb4d7e9d98525a8ddf12f66849
data/CHANGELOG.adoc CHANGED
@@ -1,5 +1,26 @@
1
1
  = Asciidoctor-diagram Changelog
2
2
 
3
+ == 2.3.2
4
+
5
+ Enhancements::
6
+
7
+ * Issue #465: Add support for https://pintorajs.vercel.app/[Pintora]
8
+ * Issue #476: Use PlantUML's Smetana layout engine by default if Graphviz cannot be located
9
+ * Issue #477: Improve support for using plantuml.com as PlantUML rendering server
10
+ * Add support for Structurizr JSON workspaces
11
+ * Prefer non-PDF formats when rendering with HTML backend
12
+
13
+ == 2.3.1
14
+
15
+ Enhancements::
16
+
17
+ * Issue #423: Add support for loading JSyntrax via the `asciidoctor-diagram-jsyntrax` gem (@inponomarev)
18
+ * Issue #464: Remove usage of 'base64' gem to resolve Ruby 3.3+ compatibility issues
19
+
20
+ Bugfixes::
21
+
22
+ * Issue #459: Fix lookup of `wavedrom-cli` location on Windows
23
+
3
24
  == 2.3.0
4
25
 
5
26
  Enhancements::
@@ -81,6 +81,13 @@ module Asciidoctor
81
81
  begin
82
82
  source = converter.wrap_source(source)
83
83
 
84
+ if /html/i =~ parent.document.attributes['backend']
85
+ # Move PDF to the back of the list for the HTML backend
86
+ if supported_formats.delete(:pdf)
87
+ supported_formats << :pdf
88
+ end
89
+ end
90
+
84
91
  format = source.attributes.delete('format') || source.global_attr('format', supported_formats[0])
85
92
  format = format.to_sym if format.respond_to?(:to_sym)
86
93
 
@@ -187,17 +194,27 @@ module Asciidoctor
187
194
 
188
195
  options = converter.collect_options(source)
189
196
  result = converter.convert(source, format, options)
190
-
191
- result.force_encoding(params[:encoding])
197
+ if result.is_a? Hash
198
+ image = result[:result]
199
+ extra = result[:extra]
200
+ else
201
+ image = result
202
+ extra = {}
203
+ end
204
+ image.force_encoding(params[:encoding])
192
205
 
193
206
  metadata = source.create_image_metadata
194
207
  metadata[:options] = options
195
208
 
196
209
  allow_image_optimisation = !source.global_opt('nooptimise')
197
- result, metadata[:width], metadata[:height] = params[:decoder].post_process_image(result, allow_image_optimisation)
210
+ image, metadata[:width], metadata[:height] = params[:decoder].post_process_image(image, allow_image_optimisation)
198
211
 
199
212
  FileUtils.mkdir_p(File.dirname(image_file)) unless Dir.exist?(File.dirname(image_file))
200
- File.open(image_file, 'wb') {|f| f.write result}
213
+ File.open(image_file, 'wb') {|f| f.write image}
214
+
215
+ extra.each do |name, data|
216
+ File.open(image_file + ".#{name}", 'wb') {|f| f.write data}
217
+ end
201
218
 
202
219
  if use_cache
203
220
  FileUtils.mkdir_p(File.dirname(metadata_file)) unless Dir.exist?(File.dirname(metadata_file))
@@ -202,14 +202,6 @@ module Asciidoctor
202
202
  name = [name] unless name.is_a?(Enumerable)
203
203
 
204
204
  value = name.lazy.map { |n| @attributes[n] }.reject { |v| v.nil? }.first
205
- if value.nil?
206
- attr_position = config[:positional_attrs] || 1
207
- while value.nil? && !@attributes[attr_position].nil?
208
- if @attributes[attr_position] == name
209
- value = true
210
- end
211
- end
212
- end
213
205
 
214
206
  if value.nil? && inherit
215
207
  inherited_values = name.lazy.map do |n|
@@ -345,4 +337,4 @@ module Asciidoctor
345
337
  end
346
338
  end
347
339
  end
348
- end
340
+ end
@@ -55,6 +55,7 @@ module Asciidoctor
55
55
 
56
56
  code << "\n"
57
57
  code << source.to_s
58
+ code << "\n"
58
59
 
59
60
  generate_stdin_stdout(source.find_command('gnuplot'), code) do |tool|
60
61
  {
@@ -1,7 +1,7 @@
1
1
  require_relative '../diagram_converter'
2
+ require_relative '../util/base64'
2
3
  require_relative '../util/platform'
3
4
 
4
- require 'base64'
5
5
  require 'net/http'
6
6
  require 'uri'
7
7
  require 'zlib'
@@ -47,15 +47,20 @@ module Asciidoctor
47
47
  compressed = deflate.deflate(code, Zlib::FINISH)
48
48
  deflate.close
49
49
 
50
- encoded = Base64.urlsafe_encode64(compressed)
51
- data = '0A' + encoded
50
+ data = Base64.urlsafe_encode(compressed)
51
+ # See https://plantuml.com/text-encoding
52
+ # PlantUML uses a different alphabet than the one from RFC 4648
53
+ data.tr!(
54
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
55
+ '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
56
+ )
52
57
 
53
58
  path = uri.path.dup
54
59
  path << '/' unless path.end_with? '/'
55
60
  path << format.to_s
56
61
  when :kroki_io
57
62
  compressed = Zlib.deflate(code, Zlib::BEST_COMPRESSION)
58
- data = Base64.urlsafe_encode64(compressed)
63
+ data = Base64.urlsafe_encode(compressed)
59
64
 
60
65
  path = uri.path.dup
61
66
  path << '/' unless path.end_with? '/'
@@ -67,7 +72,8 @@ module Asciidoctor
67
72
 
68
73
  get_path = path.dup << '/' << data
69
74
 
70
- if get_path.length > options[:max_get_size]
75
+ host = uri.host
76
+ if (host.nil? || !host.downcase.end_with?('plantuml.com')) && get_path.length > options[:max_get_size]
71
77
  uri.path = path
72
78
  get_uri(uri, code, 'text/plain; charset=utf-8')
73
79
  else
@@ -105,7 +111,11 @@ module Asciidoctor
105
111
  resolved_uri = new_uri
106
112
  end
107
113
 
108
- get_uri(resolved_uri, post_data, post_content_type, attempt + 1)
114
+ if response.code == '307'
115
+ get_uri(resolved_uri, post_data, post_content_type, attempt + 1)
116
+ else
117
+ get_uri(resolved_uri, nil, nil, attempt + 1)
118
+ end
109
119
  else
110
120
  response.value
111
121
  end
@@ -1,10 +1,10 @@
1
- require 'base64'
2
1
  require 'json'
3
2
  require 'sinatra/base'
4
3
  require 'zlib'
5
4
 
6
5
  require_relative '../diagram_source'
7
6
  require_relative '../graphviz/converter'
7
+ require_relative '../util/base64'
8
8
  require_relative '../util/which'
9
9
 
10
10
  module Asciidoctor
@@ -14,7 +14,7 @@ module Asciidoctor
14
14
  type = params['type']
15
15
  accepts = lambda { |t| params['format'].downcase.to_sym == t }
16
16
  raw_source = params['source']
17
- decoded_source = Base64.urlsafe_decode64(raw_source)
17
+ decoded_source = Base64.urlsafe_decode(raw_source)
18
18
  decompressed_source = Zlib::Inflate.inflate(decoded_source)
19
19
  source = decompressed_source
20
20
  render_diagram(type, accepts, source, {})
@@ -0,0 +1,60 @@
1
+ require_relative '../diagram_converter'
2
+ require_relative '../util/cli'
3
+ require_relative '../util/cli_generator'
4
+ require_relative '../util/platform'
5
+
6
+ module Asciidoctor
7
+ module Diagram
8
+ # @private
9
+ class PintoraConverter
10
+ include DiagramConverter
11
+ include CliGenerator
12
+
13
+
14
+ def supported_formats
15
+ [:png, :svg]
16
+ end
17
+
18
+ def collect_options(source)
19
+ options = {}
20
+
21
+ options[:width] = source.attr('width')
22
+ options[:theme] = source.attr('theme')
23
+ options[:background_color] = source.attr('background-color')
24
+ options[:pixel_ratio] = source.attr('pixel-ratio')
25
+
26
+ options
27
+ end
28
+
29
+ def convert(source, format, options)
30
+ pintora = source.find_command('pintora')
31
+
32
+ generate_file(pintora, 'pintora', format.to_s, source.to_s) do |tool_path, input_path, output_path|
33
+ args = [tool_path, 'render', '-i', Platform.native_path(input_path), '-o', Platform.native_path(output_path)]
34
+
35
+
36
+ if options[:width]
37
+ args << '-w' << options[:width]
38
+ end
39
+
40
+ if options[:theme]
41
+ args << '-t' << options[:theme]
42
+ end
43
+
44
+ if options[:pixel_ratio]
45
+ args << '-p' << options[:pixel_ratio]
46
+ end
47
+
48
+ if options[:background_color]
49
+ args << '-b' << options[:background_color]
50
+ end
51
+
52
+ {
53
+ :args => args,
54
+ :chdir => source.base_dir
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,18 @@
1
+ require_relative 'converter'
2
+ require_relative '../diagram_processor'
3
+
4
+ module Asciidoctor
5
+ module Diagram
6
+ class PintoraBlockProcessor < DiagramBlockProcessor
7
+ use_converter PintoraConverter
8
+ end
9
+
10
+ class PintoraBlockMacroProcessor < DiagramBlockMacroProcessor
11
+ use_converter PintoraConverter
12
+ end
13
+
14
+ class PintoraInlineMacroProcessor < DiagramInlineMacroProcessor
15
+ use_converter PintoraConverter
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,8 @@
1
+ require 'asciidoctor/extensions'
2
+ require_relative 'pintora/extension'
3
+
4
+ Asciidoctor::Extensions.register do
5
+ block Asciidoctor::Diagram::PintoraBlockProcessor, :pintora
6
+ block_macro Asciidoctor::Diagram::PintoraBlockMacroProcessor, :pintora
7
+ inline_macro Asciidoctor::Diagram::PintoraInlineMacroProcessor, :pintora
8
+ end
@@ -45,6 +45,8 @@ module Asciidoctor
45
45
  theme = source.attr('theme', nil)
46
46
  options[:theme] = theme if theme
47
47
 
48
+ options[:debug] = true if source.opt('debug')
49
+
48
50
  options
49
51
  end
50
52
 
@@ -108,13 +110,15 @@ module Asciidoctor
108
110
  add_theme_header(headers, options[:theme])
109
111
  add_size_limit_header(headers, options[:size_limit])
110
112
 
111
- if options[:smetana]
113
+ dot = source.find_command('dot', :alt_attrs => ['graphvizdot'], :raise_on_error => false)
114
+ if options[:smetana] || !dot
112
115
  headers['X-Graphviz'] = 'smetana'
113
116
  else
114
- dot = source.find_command('dot', :alt_attrs => ['graphvizdot'], :raise_on_error => false)
115
- if dot
116
- headers['X-Graphviz'] = ::Asciidoctor::Diagram::Platform.host_os_path(dot)
117
- end
117
+ headers['X-Graphviz'] = ::Asciidoctor::Diagram::Platform.host_os_path(dot)
118
+ end
119
+
120
+ if options[:debug]
121
+ headers['X-PlantUML-Debug'] = 'true'
118
122
  end
119
123
 
120
124
  response = Java.send_request(
@@ -127,7 +131,37 @@ module Asciidoctor
127
131
  raise Java.create_error("PlantUML image generation failed", response)
128
132
  end
129
133
 
130
- response[:body]
134
+ if response[:headers]['content-type'] =~ /multipart\/form-data;\s*boundary=(.*)/
135
+ boundary = $1
136
+ parts = {}
137
+
138
+ multipart_data = StringIO.new(response[:body])
139
+ while true
140
+ multipart_data.readline
141
+ marker = multipart_data.readline
142
+ if marker.start_with? "--#{boundary}--"
143
+ break
144
+ elsif marker.start_with? "--#{boundary}"
145
+ part = Java.parse_body(multipart_data)
146
+ if part[:headers]['content-disposition'] =~ /form-data;\s*name="([^"]*)"/
147
+ if $1 == 'image'
148
+ parts[:result] = part[:body]
149
+ else
150
+ parts[:extra] ||= {}
151
+ parts[:extra][$1] = part[:body]
152
+ end
153
+ else
154
+ raise "Unexpected multipart content disposition"
155
+ end
156
+ else
157
+ raise "Unexpected multipart boundary"
158
+ end
159
+ end
160
+
161
+ parts
162
+ else
163
+ response[:body]
164
+ end
131
165
  end
132
166
  end
133
167
 
@@ -17,7 +17,12 @@ module Asciidoctor
17
17
  lib_dir = File.expand_path('lib', CLI_HOME_ENV)
18
18
  Dir.children(lib_dir).select { |c| c.end_with? '.jar' }.map { |c| File.expand_path(c, lib_dir) }
19
19
  else
20
- nil
20
+ begin
21
+ require 'asciidoctor-diagram/jsyntrax/classpath'
22
+ ::Asciidoctor::Diagram::JsyntraxClasspath::JAR_FILES
23
+ rescue LoadError
24
+ nil
25
+ end
21
26
  end
22
27
 
23
28
  if JSYNTRAX_JARS
@@ -15,7 +15,7 @@ module Asciidoctor
15
15
 
16
16
  def collect_options(source)
17
17
  {
18
- :preamble => source.attr('preamble') == 'true'
18
+ :preamble => source.opt('preamble') || source.attr('preamble') == 'true'
19
19
  }
20
20
  end
21
21
 
@@ -0,0 +1,25 @@
1
+ module Asciidoctor
2
+ module Diagram
3
+ module Base64
4
+ def self.urlsafe_encode(bin, padding: true)
5
+ str = [bin].pack("m0")
6
+ str.chomp!("==") or str.chomp!("=") unless padding
7
+ str.tr!("+/", "-_")
8
+ str
9
+ end
10
+
11
+ def self.urlsafe_decode(str)
12
+ # NOTE: RFC 4648 does say nothing about unpadded input, but says that
13
+ # "the excess pad characters MAY also be ignored", so it is inferred that
14
+ # unpadded input is also acceptable.
15
+ if !str.end_with?("=") && str.length % 4 != 0
16
+ str = str.ljust((str.length + 3) & ~3, "=")
17
+ str.tr!("-_", "+/")
18
+ else
19
+ str = str.tr("-_", "+/")
20
+ end
21
+ str.unpack1("m0")
22
+ end
23
+ end
24
+ end
25
+ end
@@ -58,25 +58,34 @@ module Asciidoctor
58
58
  resp[:code] = status_line_parts[1].to_i
59
59
  resp[:reason] = status_line_parts[2]
60
60
 
61
+ resp.merge! parse_body(io)
62
+
63
+ resp
64
+ end
65
+
66
+ def self.parse_body(io)
67
+ body = {}
68
+
69
+ io.set_encoding Encoding::US_ASCII
61
70
  headers = {}
62
71
  until (header = io.readline(CRLF).strip).empty?
63
72
  key, value = header.split ':', 2
64
- headers[key] = value.strip
73
+ headers[key.downcase] = value.strip
65
74
  end
66
75
 
67
- resp[:headers] = headers
76
+ body[:headers] = headers
68
77
 
69
- content_length = headers['Content-Length']
78
+ content_length = headers['content-length']
70
79
  if content_length
71
80
  io.set_encoding Encoding::BINARY
72
- resp[:body] = io.read(content_length.to_i)
81
+ body[:body] = io.read(content_length.to_i)
73
82
  end
74
83
 
75
- resp
84
+ body
76
85
  end
77
86
 
78
87
  def self.create_error(prefix_msg, response)
79
- content_type = response[:headers]['Content-Type'] || 'text/plain'
88
+ content_type = response[:headers]['content-type'] || 'text/plain'
80
89
  if content_type.start_with? 'application/json'
81
90
  json = JSON.parse(response[:body].force_encoding(Encoding::UTF_8))
82
91
  ruby_bt = Kernel.caller(2)
@@ -97,7 +106,6 @@ module Asciidoctor
97
106
  @java_exe
98
107
  end
99
108
 
100
- private
101
109
  def self.find_java
102
110
  case ::Asciidoctor::Diagram::Platform.os
103
111
  when :windows
@@ -1,5 +1,5 @@
1
1
  module Asciidoctor
2
2
  module Diagram
3
- VERSION = "2.3.0"
3
+ VERSION = "2.3.2"
4
4
  end
5
5
  end
@@ -35,7 +35,7 @@ module Asciidoctor
35
35
  source.find_command('wavedrom-cli', :attrs => ['wavedrom'])
36
36
  end
37
37
 
38
- if wavedrom.end_with?('-cli')
38
+ if wavedrom.include?('-cli')
39
39
  generate_file(wavedrom, 'wvd', format.to_s, source.to_s) do |tool_path, input_path, output_path|
40
40
  {
41
41
  :args => [Platform.native_path(tool_path), '--input', Platform.native_path(input_path), "--#{format.to_s}", Platform.native_path(output_path)],
@@ -19,6 +19,7 @@ require_relative 'asciidoctor-diagram/msc'
19
19
  require_relative 'asciidoctor-diagram/nomnoml'
20
20
  require_relative 'asciidoctor-diagram/penrose'
21
21
  require_relative 'asciidoctor-diagram/pikchr'
22
+ require_relative 'asciidoctor-diagram/pintora'
22
23
  require_relative 'asciidoctor-diagram/plantuml'
23
24
  require_relative 'asciidoctor-diagram/salt'
24
25
  require_relative 'asciidoctor-diagram/shaape'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-diagram
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pepijn Van Eeckhoudt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-10 00:00:00.000000000 Z
11
+ date: 2025-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -156,7 +156,7 @@ files:
156
156
  - lib/asciidoctor-diagram/diagrams/extension.rb
157
157
  - lib/asciidoctor-diagram/ditaa.rb
158
158
  - lib/asciidoctor-diagram/ditaa/converter.rb
159
- - lib/asciidoctor-diagram/ditaa/ditaa-2.1.0.jar
159
+ - lib/asciidoctor-diagram/ditaa/ditaa-2.2.0.jar
160
160
  - lib/asciidoctor-diagram/ditaa/extension.rb
161
161
  - lib/asciidoctor-diagram/dpic.rb
162
162
  - lib/asciidoctor-diagram/dpic/converter.rb
@@ -196,10 +196,13 @@ files:
196
196
  - lib/asciidoctor-diagram/pikchr.rb
197
197
  - lib/asciidoctor-diagram/pikchr/converter.rb
198
198
  - lib/asciidoctor-diagram/pikchr/extension.rb
199
+ - lib/asciidoctor-diagram/pintora.rb
200
+ - lib/asciidoctor-diagram/pintora/converter.rb
201
+ - lib/asciidoctor-diagram/pintora/extension.rb
199
202
  - lib/asciidoctor-diagram/plantuml.rb
200
203
  - lib/asciidoctor-diagram/plantuml/converter.rb
201
204
  - lib/asciidoctor-diagram/plantuml/extension.rb
202
- - lib/asciidoctor-diagram/plantuml/plantuml-2.1.1.jar
205
+ - lib/asciidoctor-diagram/plantuml/plantuml-2.2.4.jar
203
206
  - lib/asciidoctor-diagram/salt.rb
204
207
  - lib/asciidoctor-diagram/shaape.rb
205
208
  - lib/asciidoctor-diagram/shaape/converter.rb
@@ -211,7 +214,7 @@ files:
211
214
  - lib/asciidoctor-diagram/structurizr/converter.rb
212
215
  - lib/asciidoctor-diagram/structurizr/extension.rb
213
216
  - lib/asciidoctor-diagram/structurizr/renderers.rb
214
- - lib/asciidoctor-diagram/structurizr/structurizr-2.1.1.jar
217
+ - lib/asciidoctor-diagram/structurizr/structurizr-2.2.2.jar
215
218
  - lib/asciidoctor-diagram/svgbob.rb
216
219
  - lib/asciidoctor-diagram/svgbob/converter.rb
217
220
  - lib/asciidoctor-diagram/svgbob/extension.rb
@@ -221,13 +224,14 @@ files:
221
224
  - lib/asciidoctor-diagram/syntrax.rb
222
225
  - lib/asciidoctor-diagram/syntrax/converter.rb
223
226
  - lib/asciidoctor-diagram/syntrax/extension.rb
224
- - lib/asciidoctor-diagram/syntrax/syntrax-2.1.0.jar
227
+ - lib/asciidoctor-diagram/syntrax/syntrax-2.2.0.jar
225
228
  - lib/asciidoctor-diagram/tikz.rb
226
229
  - lib/asciidoctor-diagram/tikz/converter.rb
227
230
  - lib/asciidoctor-diagram/tikz/extension.rb
228
231
  - lib/asciidoctor-diagram/umlet.rb
229
232
  - lib/asciidoctor-diagram/umlet/converter.rb
230
233
  - lib/asciidoctor-diagram/umlet/extension.rb
234
+ - lib/asciidoctor-diagram/util/base64.rb
231
235
  - lib/asciidoctor-diagram/util/binaryio.rb
232
236
  - lib/asciidoctor-diagram/util/cli.rb
233
237
  - lib/asciidoctor-diagram/util/cli_generator.rb
@@ -238,7 +242,7 @@ files:
238
242
  - lib/asciidoctor-diagram/util/pdf.rb
239
243
  - lib/asciidoctor-diagram/util/platform.rb
240
244
  - lib/asciidoctor-diagram/util/png.rb
241
- - lib/asciidoctor-diagram/util/server-2.1.0.jar
245
+ - lib/asciidoctor-diagram/util/server-2.2.3.jar
242
246
  - lib/asciidoctor-diagram/util/svg.rb
243
247
  - lib/asciidoctor-diagram/util/which.rb
244
248
  - lib/asciidoctor-diagram/vega.rb