asciidoctor-diagram 1.3.0.preview.3 → 1.3.0.preview.4
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.
- checksums.yaml +7 -0
- data/CHANGELOG.adoc +3 -1
- data/README.adoc +12 -0
- data/Rakefile +6 -1
- data/lib/asciidoctor-diagram-java-1.3.2.jar +0 -0
- data/lib/asciidoctor-diagram.rb +1 -0
- data/lib/asciidoctor-diagram/ditaa/extension.rb +25 -4
- data/lib/asciidoctor-diagram/extensions.rb +47 -12
- data/lib/asciidoctor-diagram/plantuml/extension.rb +27 -3
- data/lib/asciidoctor-diagram/salt.rb +9 -0
- data/lib/asciidoctor-diagram/util/cli_generator.rb +1 -1
- data/lib/asciidoctor-diagram/util/java.rb +1 -1
- data/lib/asciidoctor-diagram/version.rb +1 -1
- data/lib/plantuml.jar +0 -0
- data/spec/ditaa_spec.rb +66 -0
- data/spec/plantuml_spec.rb +139 -1
- metadata +17 -26
- data/lib/asciidoctor-diagram-java-1.3.1.jar +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0d2afa05e275154704010cd26743547999d25f7b
|
4
|
+
data.tar.gz: 35f0709598867295eeca7435718eaad9e7f6cae4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4c5137cb403ced6164b826f22c76f485c0bd75e89b6017ea83c96c939fe97987d5576e3caa808a8b3f42082e428098a831c379a97e5f1f445da3270ff4e6d041
|
7
|
+
data.tar.gz: 1a4608f53e812b5c1cc205c24636d3fefaa5149c33410ca6ceace5402ef11d289695cc74a6846381b3689f3fd9ff127973bdc0104ea26a86e0649a57e3ec410c
|
data/CHANGELOG.adoc
CHANGED
@@ -8,8 +8,10 @@ Enhancements::
|
|
8
8
|
* Add support for Actdiag diagrams (requires Actdiag to be installed separately)
|
9
9
|
* Add support for Seqdiag diagrams (requires Seqdiag to be installed separately)
|
10
10
|
* Add support for Nwdiag diagrams (requires Nwdiag to be installed separately)
|
11
|
-
* Updated PlantUML to revision
|
11
|
+
* Updated PlantUML to revision 8021 (14/03/2015)
|
12
12
|
* Remove dependency on RJB to simplify installation
|
13
|
+
* Add diagram scaling support using the scale attribute
|
14
|
+
* Add Ditaa command line option support using the options attribute
|
13
15
|
|
14
16
|
Bug Fixes::
|
15
17
|
|
data/README.adoc
CHANGED
@@ -14,6 +14,12 @@ The extension takes care of running the diagram processor to generate the images
|
|
14
14
|
|
15
15
|
This gem was inspired by the https://code.google.com/p/asciidoc-plantuml/[AsciiDoc PlantUML filter] for AsciiDoc Python.
|
16
16
|
|
17
|
+
== Status
|
18
|
+
|
19
|
+
image:https://travis-ci.org/asciidoctor/asciidoctor-diagram.svg?branch=master["Linux Build Status", link="https://travis-ci.org/asciidoctor/asciidoctor-diagram"]
|
20
|
+
|
21
|
+
image:https://ci.appveyor.com/api/projects/status/4r4gkk5gy3igs6nh/branch/master?svg=true["Windows Build Status", link="https://ci.appveyor.com/project/asciidoctor/asciidoctor-diagram"]
|
22
|
+
|
17
23
|
== Installation
|
18
24
|
|
19
25
|
Add this line to your application's Gemfile:
|
@@ -91,6 +97,12 @@ The diagram blocks support the following attributes:
|
|
91
97
|
. `target` (or 2nd position): the basename of the file to generate. If not specified an auto-generated name will be used.
|
92
98
|
. `format` (or 3rd position): the output format. PlantUML blocks support `png`, `svg` and `txt`. Graphviz, Shaape and BlockDiag support `png` and `svg`. Ditaa only supports `png`.
|
93
99
|
|
100
|
+
Once you have all of this in place and your original AsciiDoc file contains a diagram block, it's time to build it into an HTML file with Asciidoctor Diagram magic!
|
101
|
+
When executing Asciidoctor, you must reference the Adciidoctor Diagram library, otherwise your diagam blocks won't be recognized as such. When executing Asciidoctor from the command line, do it using the -r parameter to reference this external library:
|
102
|
+
|
103
|
+
$ asciidoctor -r asciidoctor-diagram doc.adoc
|
104
|
+
|
105
|
+
|
94
106
|
== Contributing
|
95
107
|
|
96
108
|
. Fork it
|
data/Rakefile
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
require 'rubygems/package_task'
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
|
-
RSpec::Core::RakeTask.new(:test)
|
4
|
+
test = RSpec::Core::RakeTask.new(:test)
|
5
|
+
|
6
|
+
if ENV['APPVEYOR']
|
7
|
+
# Exclude diagram types that require external libraries that are difficult to build on Windows.
|
8
|
+
test.exclude_pattern = 'spec/**/{blockdiag,shaape}_spec.rb'
|
9
|
+
end
|
5
10
|
|
6
11
|
task :default => :test
|
7
12
|
|
Binary file
|
data/lib/asciidoctor-diagram.rb
CHANGED
@@ -10,12 +10,15 @@ module Asciidoctor
|
|
10
10
|
end
|
11
11
|
Java.classpath.concat JARS
|
12
12
|
|
13
|
-
def ditaa(code)
|
13
|
+
def ditaa(code, attrs)
|
14
14
|
Java.load
|
15
15
|
|
16
16
|
response = Java.send_request(
|
17
17
|
:url => '/ditaa',
|
18
|
-
:body => code
|
18
|
+
:body => code,
|
19
|
+
:headers => {
|
20
|
+
'X-Options' => attrs.delete('options') || ''
|
21
|
+
}
|
19
22
|
)
|
20
23
|
|
21
24
|
unless response[:code] == 200
|
@@ -26,8 +29,26 @@ module Asciidoctor
|
|
26
29
|
end
|
27
30
|
|
28
31
|
def self.included(mod)
|
29
|
-
mod.register_format(:png, :image) do |c|
|
30
|
-
ditaa(c.to_s)
|
32
|
+
mod.register_format(:png, :image) do |c, _, attrs|
|
33
|
+
ditaa(c.to_s, attrs)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def create_source(parent, reader, attributes)
|
38
|
+
source = super(parent, reader, attributes)
|
39
|
+
source.extend DitaaSource
|
40
|
+
source
|
41
|
+
end
|
42
|
+
|
43
|
+
module DitaaSource
|
44
|
+
def should_process?(image_file, image_metadata)
|
45
|
+
super(image_file, image_metadata) || image_metadata['options'] != attributes['options']
|
46
|
+
end
|
47
|
+
|
48
|
+
def create_image_metadata
|
49
|
+
metadata = super
|
50
|
+
metadata['options'] = attributes['options']
|
51
|
+
metadata
|
31
52
|
end
|
32
53
|
end
|
33
54
|
end
|
@@ -27,6 +27,8 @@ module Asciidoctor
|
|
27
27
|
# File.read(source.to_s)
|
28
28
|
# end
|
29
29
|
def register_format(format, type, &block)
|
30
|
+
raise "Unsupported output type: #{type}" unless type == :image || type == :literal
|
31
|
+
|
30
32
|
unless @default_format
|
31
33
|
@default_format = format
|
32
34
|
end
|
@@ -35,7 +37,7 @@ module Asciidoctor
|
|
35
37
|
:type => type,
|
36
38
|
:generator => block
|
37
39
|
}
|
38
|
-
|
40
|
+
end
|
39
41
|
|
40
42
|
# Returns the registered formats
|
41
43
|
#
|
@@ -93,13 +95,19 @@ module Asciidoctor
|
|
93
95
|
|
94
96
|
raise "#{self.class.name} does not support output format #{format}" unless generator_info
|
95
97
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
98
|
+
begin
|
99
|
+
case generator_info[:type]
|
100
|
+
when :literal
|
101
|
+
create_literal_block(parent, source, attributes, generator_info)
|
102
|
+
else
|
103
|
+
create_image_block(parent, source, attributes, format, generator_info)
|
104
|
+
end
|
105
|
+
rescue => e
|
106
|
+
text = "Failed to generate image: #{e.message}"
|
107
|
+
warn %(asciidoctor-diagram: ERROR: #{text})
|
108
|
+
text << "\n"
|
109
|
+
text << source.code
|
110
|
+
Asciidoctor::Block.new parent, :listing, :source => text, :attributes => attributes
|
103
111
|
end
|
104
112
|
end
|
105
113
|
|
@@ -133,10 +141,12 @@ module Asciidoctor
|
|
133
141
|
metadata = {}
|
134
142
|
end
|
135
143
|
|
144
|
+
image_attributes = attributes.dup
|
145
|
+
|
136
146
|
if !File.exists?(image_file) || source.should_process?(image_file, metadata)
|
137
147
|
params = IMAGE_PARAMS[format]
|
138
148
|
|
139
|
-
result = instance_exec(source, parent, &generator_info[:generator])
|
149
|
+
result = instance_exec(source, parent, image_attributes, &generator_info[:generator])
|
140
150
|
|
141
151
|
result.force_encoding(params[:encoding])
|
142
152
|
|
@@ -148,12 +158,25 @@ module Asciidoctor
|
|
148
158
|
File.open(metadata_file, 'w') { |f| JSON.dump(metadata, f) }
|
149
159
|
end
|
150
160
|
|
151
|
-
image_attributes = attributes.dup
|
152
161
|
image_attributes['target'] = image_name
|
162
|
+
|
163
|
+
scale = image_attributes['scale']
|
164
|
+
if scalematch = /(\d+)%/.match(scale)
|
165
|
+
scale_factor = scalematch[1].to_i / 100.0
|
166
|
+
else
|
167
|
+
scale_factor = 1.0
|
168
|
+
end
|
169
|
+
|
153
170
|
if /html/i =~ parent.document.attributes['backend']
|
154
|
-
image_attributes
|
155
|
-
|
171
|
+
image_attributes.delete('scale')
|
172
|
+
if metadata['width'] && !image_attributes['width']
|
173
|
+
image_attributes['width'] = (metadata['width'] * scale_factor).to_i
|
174
|
+
end
|
175
|
+
if metadata['height'] && !image_attributes['height']
|
176
|
+
image_attributes['height'] = (metadata['height'] * scale_factor).to_i
|
177
|
+
end
|
156
178
|
end
|
179
|
+
|
157
180
|
image_attributes['alt'] ||= if title_text = attributes['title']
|
158
181
|
title_text
|
159
182
|
elsif target = attributes['target']
|
@@ -165,6 +188,16 @@ module Asciidoctor
|
|
165
188
|
Asciidoctor::Block.new parent, :image, :content_model => :empty, :attributes => image_attributes
|
166
189
|
end
|
167
190
|
|
191
|
+
def scale(size, factor)
|
192
|
+
if match = /(\d+)(.*)/.match(size)
|
193
|
+
value = match[1].to_i
|
194
|
+
unit = match[2]
|
195
|
+
(value * factor).to_i.to_s + unit
|
196
|
+
else
|
197
|
+
size
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
168
201
|
def image_output_dir(parent)
|
169
202
|
document = parent.document
|
170
203
|
|
@@ -270,6 +303,8 @@ module Asciidoctor
|
|
270
303
|
class BasicSource
|
271
304
|
include DiagramSource
|
272
305
|
|
306
|
+
attr_reader :attributes
|
307
|
+
|
273
308
|
def initialize(attributes)
|
274
309
|
@attributes = attributes
|
275
310
|
end
|
@@ -40,22 +40,46 @@ module Asciidoctor
|
|
40
40
|
|
41
41
|
def self.included(mod)
|
42
42
|
mod.register_format(:png, :image) do |c, p|
|
43
|
-
plantuml(p, c.to_s,
|
43
|
+
plantuml(p, c.to_s, mod.tag, 'image/png')
|
44
44
|
end
|
45
45
|
mod.register_format(:svg, :image) do |c, p|
|
46
|
-
plantuml(p, c.to_s,
|
46
|
+
plantuml(p, c.to_s, mod.tag, 'image/svg+xml')
|
47
47
|
end
|
48
48
|
mod.register_format(:txt, :literal) do |c, p|
|
49
|
-
plantuml(p, c.to_s,
|
49
|
+
plantuml(p, c.to_s, mod.tag, 'text/plain;charset=utf-8')
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
class PlantUmlBlockProcessor < Extensions::DiagramBlockProcessor
|
55
|
+
def self.tag
|
56
|
+
'uml'
|
57
|
+
end
|
58
|
+
|
55
59
|
include PlantUml
|
56
60
|
end
|
57
61
|
|
58
62
|
class PlantUmlBlockMacroProcessor < Extensions::DiagramBlockMacroProcessor
|
63
|
+
def self.tag
|
64
|
+
'uml'
|
65
|
+
end
|
66
|
+
|
67
|
+
include PlantUml
|
68
|
+
end
|
69
|
+
|
70
|
+
class SaltBlockProcessor < Extensions::DiagramBlockProcessor
|
71
|
+
def self.tag
|
72
|
+
'salt'
|
73
|
+
end
|
74
|
+
|
75
|
+
include PlantUml
|
76
|
+
end
|
77
|
+
|
78
|
+
class SaltBlockMacroProcessor < Extensions::DiagramBlockMacroProcessor
|
79
|
+
def self.tag
|
80
|
+
'salt'
|
81
|
+
end
|
82
|
+
|
59
83
|
include PlantUml
|
60
84
|
end
|
61
85
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require 'asciidoctor/extensions'
|
2
|
+
require_relative 'version'
|
3
|
+
|
4
|
+
Asciidoctor::Extensions.register do
|
5
|
+
require_relative 'plantuml/extension'
|
6
|
+
|
7
|
+
block Asciidoctor::Diagram::SaltBlockProcessor, :salt
|
8
|
+
block_macro Asciidoctor::Diagram::SaltBlockMacroProcessor, :salt
|
9
|
+
end
|
@@ -4,7 +4,7 @@ module Asciidoctor
|
|
4
4
|
module Java
|
5
5
|
def self.classpath
|
6
6
|
@classpath ||= [
|
7
|
-
File.expand_path(File.join('../..', 'asciidoctor-diagram-java-1.3.
|
7
|
+
File.expand_path(File.join('../..', 'asciidoctor-diagram-java-1.3.2.jar'), File.dirname(__FILE__))
|
8
8
|
]
|
9
9
|
end
|
10
10
|
|
data/lib/plantuml.jar
CHANGED
Binary file
|
data/spec/ditaa_spec.rb
CHANGED
@@ -118,4 +118,70 @@ Doc Writer <doc@example.com>
|
|
118
118
|
expect(target).to match /\.png$/
|
119
119
|
expect(File.exists?(target)).to be true
|
120
120
|
end
|
121
|
+
|
122
|
+
it "should support ditaa options as attributes" do
|
123
|
+
doc = <<-eos
|
124
|
+
= Hello, PlantUML!
|
125
|
+
Doc Writer <doc@example.com>
|
126
|
+
|
127
|
+
== First Section
|
128
|
+
|
129
|
+
[ditaa, options="--no-shadows --no-separation --round-corners --scale 2.5"]
|
130
|
+
----
|
131
|
+
+--------+ +-------+ +-------+
|
132
|
+
| | --+ ditaa +--> | |
|
133
|
+
| Text | +-------+ |diagram|
|
134
|
+
|Document| |!magic!| | |
|
135
|
+
| {d}| | | | |
|
136
|
+
+---+----+ +-------+ +-------+
|
137
|
+
: ^
|
138
|
+
| Lots of work |
|
139
|
+
+-------------------------+
|
140
|
+
----
|
141
|
+
eos
|
142
|
+
|
143
|
+
d = Asciidoctor.load StringIO.new(doc)
|
144
|
+
expect(d).to_not be_nil
|
145
|
+
|
146
|
+
b = d.find { |b| b.context == :image }
|
147
|
+
expect(b).to_not be_nil
|
148
|
+
target = b.attributes['target']
|
149
|
+
expect(target).to match /\.png$/
|
150
|
+
expect(File.exists?(target)).to be true
|
151
|
+
end
|
152
|
+
|
153
|
+
it "should regenerate images when options change" do
|
154
|
+
doc = <<-eos
|
155
|
+
= Hello, PlantUML!
|
156
|
+
Doc Writer <doc@example.com>
|
157
|
+
|
158
|
+
== First Section
|
159
|
+
|
160
|
+
[ditaa, options="{opts}"]
|
161
|
+
----
|
162
|
+
+--------+ +-------+ +-------+
|
163
|
+
| | --+ ditaa +--> | |
|
164
|
+
| Text | +-------+ |diagram|
|
165
|
+
|Document| |!magic!| | |
|
166
|
+
| {d}| | | | |
|
167
|
+
+---+----+ +-------+ +-------+
|
168
|
+
: ^
|
169
|
+
| Lots of work |
|
170
|
+
+-------------------------+
|
171
|
+
----
|
172
|
+
eos
|
173
|
+
|
174
|
+
d = Asciidoctor.load StringIO.new(doc.sub('{opts}', 'no-shadow'))
|
175
|
+
b = d.find { |b| b.context == :image }
|
176
|
+
target = b.attributes['target']
|
177
|
+
mtime1 = File.mtime(target)
|
178
|
+
|
179
|
+
sleep 1
|
180
|
+
|
181
|
+
d = Asciidoctor.load StringIO.new(doc.sub('{opts}', 'round-corners'))
|
182
|
+
|
183
|
+
mtime2 = File.mtime(target)
|
184
|
+
|
185
|
+
expect(mtime2).to be > mtime1
|
186
|
+
end
|
121
187
|
end
|
data/spec/plantuml_spec.rb
CHANGED
@@ -335,7 +335,7 @@ User -> (Start)
|
|
335
335
|
----
|
336
336
|
eos
|
337
337
|
|
338
|
-
d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'
|
338
|
+
d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
|
339
339
|
expect(d).to_not be_nil
|
340
340
|
|
341
341
|
b = d.find { |b| b.context == :image }
|
@@ -347,4 +347,142 @@ User -> (Start)
|
|
347
347
|
expect(b.attributes['width']).to be_nil
|
348
348
|
expect(b.attributes['height']).to be_nil
|
349
349
|
end
|
350
|
+
|
351
|
+
it "should support salt diagrams using salt block type" do
|
352
|
+
doc = <<-eos
|
353
|
+
= Hello, PlantUML!
|
354
|
+
Doc Writer <doc@example.com>
|
355
|
+
|
356
|
+
== First Section
|
357
|
+
|
358
|
+
[salt, format="png"]
|
359
|
+
----
|
360
|
+
{
|
361
|
+
Just plain text
|
362
|
+
[This is my button]
|
363
|
+
() Unchecked radio
|
364
|
+
(X) Checked radio
|
365
|
+
[] Unchecked box
|
366
|
+
[X] Checked box
|
367
|
+
"Enter text here "
|
368
|
+
^This is a droplist^
|
369
|
+
}
|
370
|
+
----
|
371
|
+
eos
|
372
|
+
|
373
|
+
d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
|
374
|
+
expect(d).to_not be_nil
|
375
|
+
|
376
|
+
b = d.find { |b| b.context == :image }
|
377
|
+
expect(b).to_not be_nil
|
378
|
+
|
379
|
+
target = b.attributes['target']
|
380
|
+
expect(File.exists?(target)).to be true
|
381
|
+
|
382
|
+
expect(b.attributes['width']).to be_nil
|
383
|
+
expect(b.attributes['height']).to be_nil
|
384
|
+
end
|
385
|
+
|
386
|
+
it "should support salt diagrams using plantuml block type" do
|
387
|
+
doc = <<-eos
|
388
|
+
= Hello, PlantUML!
|
389
|
+
Doc Writer <doc@example.com>
|
390
|
+
|
391
|
+
== First Section
|
392
|
+
|
393
|
+
[plantuml, format="png"]
|
394
|
+
----
|
395
|
+
salt
|
396
|
+
{
|
397
|
+
Just plain text
|
398
|
+
[This is my button]
|
399
|
+
() Unchecked radio
|
400
|
+
(X) Checked radio
|
401
|
+
[] Unchecked box
|
402
|
+
[X] Checked box
|
403
|
+
"Enter text here "
|
404
|
+
^This is a droplist^
|
405
|
+
}
|
406
|
+
----
|
407
|
+
eos
|
408
|
+
|
409
|
+
d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
|
410
|
+
expect(d).to_not be_nil
|
411
|
+
|
412
|
+
b = d.find { |b| b.context == :image }
|
413
|
+
expect(b).to_not be_nil
|
414
|
+
|
415
|
+
target = b.attributes['target']
|
416
|
+
expect(File.exists?(target)).to be true
|
417
|
+
|
418
|
+
expect(b.attributes['width']).to be_nil
|
419
|
+
expect(b.attributes['height']).to be_nil
|
420
|
+
end
|
421
|
+
|
422
|
+
it "should support salt diagrams containing tree widgets" do
|
423
|
+
doc = <<-eos
|
424
|
+
= Hello, PlantUML!
|
425
|
+
Doc Writer <doc@example.com>
|
426
|
+
|
427
|
+
== First Section
|
428
|
+
|
429
|
+
[plantuml, format="png"]
|
430
|
+
----
|
431
|
+
salt
|
432
|
+
{
|
433
|
+
{T
|
434
|
+
+A
|
435
|
+
++a
|
436
|
+
}
|
437
|
+
}
|
438
|
+
----
|
439
|
+
eos
|
440
|
+
|
441
|
+
d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
|
442
|
+
expect(d).to_not be_nil
|
443
|
+
|
444
|
+
b = d.find { |b| b.context == :image }
|
445
|
+
expect(b).to_not be_nil
|
446
|
+
|
447
|
+
target = b.attributes['target']
|
448
|
+
expect(File.exists?(target)).to be true
|
449
|
+
|
450
|
+
expect(b.attributes['width']).to be_nil
|
451
|
+
expect(b.attributes['height']).to be_nil
|
452
|
+
end
|
453
|
+
|
454
|
+
it "should support scaling diagrams" do
|
455
|
+
doc = <<-eos
|
456
|
+
= Hello, PlantUML!
|
457
|
+
Doc Writer <doc@example.com>
|
458
|
+
|
459
|
+
== First Section
|
460
|
+
|
461
|
+
[plantuml, format="png"]
|
462
|
+
----
|
463
|
+
A -> B
|
464
|
+
----
|
465
|
+
eos
|
466
|
+
|
467
|
+
scaled_doc = <<-eos
|
468
|
+
= Hello, PlantUML!
|
469
|
+
Doc Writer <doc@example.com>
|
470
|
+
|
471
|
+
== First Section
|
472
|
+
|
473
|
+
[plantuml, format="png", scale="150%"]
|
474
|
+
----
|
475
|
+
A -> B
|
476
|
+
----
|
477
|
+
eos
|
478
|
+
|
479
|
+
d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'html5'}
|
480
|
+
unscaled_image = d.find { |b| b.context == :image }
|
481
|
+
|
482
|
+
d = Asciidoctor.load StringIO.new(scaled_doc), :attributes => {'backend' => 'html5'}
|
483
|
+
scaled_image = d.find { |b| b.context == :image }
|
484
|
+
|
485
|
+
expect(scaled_image.attributes['width']).to be_within(1).of(unscaled_image.attributes['width'] * 1.5)
|
486
|
+
expect(scaled_image.attributes['height']).to be_within(1).of(unscaled_image.attributes['height'] * 1.5)
|
487
|
+
end
|
350
488
|
end
|
metadata
CHANGED
@@ -1,78 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor-diagram
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.0.preview.
|
5
|
-
prerelease: 6
|
4
|
+
version: 1.3.0.preview.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Pepijn Van Eeckhoudt
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-03-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.3'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.3'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: asciidoctor
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 1.5.0
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 1.5.0
|
78
69
|
description: Asciidoctor diagramming extension
|
@@ -90,7 +81,7 @@ files:
|
|
90
81
|
- examples/README.adoc
|
91
82
|
- examples/design.adoc
|
92
83
|
- examples/features.adoc
|
93
|
-
- lib/asciidoctor-diagram-java-1.3.
|
84
|
+
- lib/asciidoctor-diagram-java-1.3.2.jar
|
94
85
|
- lib/asciidoctor-diagram.rb
|
95
86
|
- lib/asciidoctor-diagram/blockdiag.rb
|
96
87
|
- lib/asciidoctor-diagram/blockdiag/extension.rb
|
@@ -101,6 +92,7 @@ files:
|
|
101
92
|
- lib/asciidoctor-diagram/graphviz/extension.rb
|
102
93
|
- lib/asciidoctor-diagram/plantuml.rb
|
103
94
|
- lib/asciidoctor-diagram/plantuml/extension.rb
|
95
|
+
- lib/asciidoctor-diagram/salt.rb
|
104
96
|
- lib/asciidoctor-diagram/shaape.rb
|
105
97
|
- lib/asciidoctor-diagram/shaape/extension.rb
|
106
98
|
- lib/asciidoctor-diagram/util/binaryio.rb
|
@@ -123,27 +115,26 @@ files:
|
|
123
115
|
homepage: https://github.com/asciidoctor/asciidoctor-diagram
|
124
116
|
licenses:
|
125
117
|
- MIT
|
118
|
+
metadata: {}
|
126
119
|
post_install_message:
|
127
120
|
rdoc_options: []
|
128
121
|
require_paths:
|
129
122
|
- lib
|
130
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
124
|
requirements:
|
133
|
-
- -
|
125
|
+
- - ">="
|
134
126
|
- !ruby/object:Gem::Version
|
135
127
|
version: '0'
|
136
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
129
|
requirements:
|
139
|
-
- -
|
130
|
+
- - ">"
|
140
131
|
- !ruby/object:Gem::Version
|
141
132
|
version: 1.3.1
|
142
133
|
requirements: []
|
143
134
|
rubyforge_project:
|
144
|
-
rubygems_version:
|
135
|
+
rubygems_version: 2.4.5
|
145
136
|
signing_key:
|
146
|
-
specification_version:
|
137
|
+
specification_version: 4
|
147
138
|
summary: An extension for asciidoctor that adds support for UML diagram generation
|
148
139
|
using PlantUML
|
149
140
|
test_files:
|
Binary file
|