asciidoctor-diagram 1.3.0.preview.3 → 1.3.0.preview.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|