jekyll-diagrams 0.9.3 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/{blockdiag.feature → blockdiag/block.feature} +2 -2
- data/features/graphviz/block.feature +26 -0
- data/features/{graphviz.feature → graphviz/config.feature} +18 -31
- data/features/{mermaid.feature → mermaid/block.feature} +2 -2
- data/features/{nomnoml.feature → nomnoml/block.feature} +2 -2
- data/features/{plantuml.feature → plantuml/block.feature} +3 -12
- data/features/{smcat.feature → smcat/block.feature} +3 -3
- data/features/step_definitions/jekyll-diagrams.rb +5 -5
- data/features/support/env.rb +3 -9
- data/features/{syntrax.feature → syntrax/block.feature} +2 -2
- data/features/{vega.feature → vega/block.feature} +3 -3
- data/features/{wavedrom.feature → wavedrom/block.feature} +2 -2
- data/lib/jekyll-diagrams.rb +22 -61
- data/lib/jekyll-diagrams/basic_block.rb +28 -0
- data/lib/jekyll-diagrams/basic_renderer.rb +38 -0
- data/lib/jekyll-diagrams/blockdiag.rb +5 -31
- data/lib/jekyll-diagrams/blockdiag/block.rb +9 -0
- data/lib/jekyll-diagrams/blockdiag/renderer.rb +40 -0
- data/lib/jekyll-diagrams/erd.rb +4 -30
- data/lib/jekyll-diagrams/erd/block.rb +8 -0
- data/lib/jekyll-diagrams/erd/renderer.rb +34 -0
- data/lib/jekyll-diagrams/errors.rb +12 -13
- data/lib/jekyll-diagrams/graphviz.rb +4 -34
- data/lib/jekyll-diagrams/graphviz/block.rb +8 -0
- data/lib/jekyll-diagrams/graphviz/renderer.rb +40 -0
- data/lib/jekyll-diagrams/mermaid.rb +4 -25
- data/lib/jekyll-diagrams/mermaid/block.rb +8 -0
- data/lib/jekyll-diagrams/mermaid/renderer.rb +29 -0
- data/lib/jekyll-diagrams/nomnoml.rb +4 -15
- data/lib/jekyll-diagrams/nomnoml/block.rb +8 -0
- data/lib/jekyll-diagrams/nomnoml/renderer.rb +19 -0
- data/lib/jekyll-diagrams/plantuml.rb +4 -19
- data/lib/jekyll-diagrams/plantuml/block.rb +8 -0
- data/lib/jekyll-diagrams/plantuml/renderer.rb +23 -0
- data/lib/jekyll-diagrams/smcat.rb +4 -26
- data/lib/jekyll-diagrams/smcat/block.rb +8 -0
- data/lib/jekyll-diagrams/smcat/renderer.rb +30 -0
- data/lib/jekyll-diagrams/svgbob.rb +4 -21
- data/lib/jekyll-diagrams/svgbob/block.rb +8 -0
- data/lib/jekyll-diagrams/svgbob/renderer.rb +25 -0
- data/lib/jekyll-diagrams/syntrax.rb +4 -23
- data/lib/jekyll-diagrams/syntrax/block.rb +8 -0
- data/lib/jekyll-diagrams/syntrax/renderer.rb +27 -0
- data/lib/jekyll-diagrams/utils.rb +85 -0
- data/lib/jekyll-diagrams/vega.rb +5 -26
- data/lib/jekyll-diagrams/vega/block.rb +9 -0
- data/lib/jekyll-diagrams/vega/renderer.rb +33 -0
- data/lib/jekyll-diagrams/version.rb +1 -1
- data/lib/jekyll-diagrams/wavedrom.rb +4 -15
- data/lib/jekyll-diagrams/wavedrom/block.rb +8 -0
- data/lib/jekyll-diagrams/wavedrom/renderer.rb +19 -0
- data/spec/basic_block_spec.rb +70 -0
- data/spec/basic_renderer_spec.rb +69 -0
- data/spec/blockdiag_renderer_spec.rb +43 -0
- data/spec/erd_renderer_spec.rb +43 -0
- data/spec/graphviz_renderer_spec.rb +19 -0
- data/spec/jekyll-diagrams_spec.rb +23 -0
- data/spec/mermaid_renderer_spec.rb +19 -0
- data/spec/nomnoml_renderer_spec.rb +19 -0
- data/spec/plantuml_renderer_spec.rb +20 -0
- data/spec/rendering_spec.rb +111 -0
- data/spec/smcat_renderer_spec.rb +19 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/svgbob_renderer_spec.rb +27 -0
- data/spec/syntrax_renderer_spec.rb +19 -0
- data/spec/utils_spec.rb +163 -0
- data/spec/vega_renderer_spec.rb +19 -0
- data/spec/wavedrom_renderer_spec.rb +19 -0
- metadata +115 -95
- data/lib/jekyll-diagrams/block.rb +0 -51
- data/test/block_test.rb +0 -6
- data/test/blockdiag_test.rb +0 -28
- data/test/erd_test.rb +0 -25
- data/test/rendering_test.rb +0 -20
- data/test/svgbob_test.rb +0 -22
- data/test/test_helper.rb +0 -22
@@ -1,51 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Jekyll
|
4
|
-
module Diagrams
|
5
|
-
class Block < Liquid::Block
|
6
|
-
include Rendering
|
7
|
-
|
8
|
-
def render(context)
|
9
|
-
config = Diagrams.config_for(context, block_name)
|
10
|
-
|
11
|
-
output = render_svg(super.to_s, config)
|
12
|
-
wrap_class(output)
|
13
|
-
rescue StandardError => e
|
14
|
-
error_mode = Diagrams.error_mode(context)
|
15
|
-
|
16
|
-
output = handle_error(e, error_mode)
|
17
|
-
wrap_class(output)
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def render_svg(_code, _config)
|
23
|
-
''
|
24
|
-
end
|
25
|
-
|
26
|
-
def wrap_class(content)
|
27
|
-
<<~CONTENT
|
28
|
-
<div class='jekyll-diagrams diagrams #{block_name}'>
|
29
|
-
#{content}
|
30
|
-
</div>"
|
31
|
-
CONTENT
|
32
|
-
end
|
33
|
-
|
34
|
-
def handle_error(error, mode)
|
35
|
-
topic = 'Jekyll Diagrams:'
|
36
|
-
msg = error.message
|
37
|
-
|
38
|
-
case mode
|
39
|
-
when :lax
|
40
|
-
Jekyll.logger.info topic, msg
|
41
|
-
''
|
42
|
-
when :warn
|
43
|
-
Jekyll.logger.warn topic, msg
|
44
|
-
msg
|
45
|
-
when :strict
|
46
|
-
Jekyll.logger.abort_with topic, msg
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
data/test/block_test.rb
DELETED
data/test/blockdiag_test.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class BlockdiagTest < Minitest::Test
|
6
|
-
def setup
|
7
|
-
@block = Jekyll::Diagrams::BlockdiagBlock.parse(
|
8
|
-
'blockdiag',
|
9
|
-
'',
|
10
|
-
Liquid::Tokenizer.new('{% endblockdiag %}'),
|
11
|
-
Liquid::ParseContext.new
|
12
|
-
)
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_build_command_with_default_config
|
16
|
-
config = {}
|
17
|
-
assert_equal 'blockdiag -T svg --nodoctype', @block.build_command(config)
|
18
|
-
|
19
|
-
config = { 'antialias' => true }
|
20
|
-
assert_match '--antialias', @block.build_command(config)
|
21
|
-
|
22
|
-
config = { 'antialias' => false }
|
23
|
-
refute_match '--antialias', @block.build_command(config)
|
24
|
-
|
25
|
-
config = { 'size' => 3 }
|
26
|
-
assert_match '--size=3', @block.build_command(config)
|
27
|
-
end
|
28
|
-
end
|
data/test/erd_test.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class ErdTest < Minitest::Test
|
6
|
-
def setup
|
7
|
-
@block = Jekyll::Diagrams::ErdBlock.parse(
|
8
|
-
'erd',
|
9
|
-
'',
|
10
|
-
Liquid::Tokenizer.new('test {% enderd %}'),
|
11
|
-
Liquid::ParseContext.new
|
12
|
-
)
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_build_command_with_default_config
|
16
|
-
config = {}
|
17
|
-
assert_equal 'erd --fmt=svg', @block.build_command(config)
|
18
|
-
|
19
|
-
config = { 'edge' => 'compound' }
|
20
|
-
assert_match 'edge', @block.build_command(config)
|
21
|
-
|
22
|
-
config = { 'dot-entity' => true }
|
23
|
-
assert_match 'dot-entity', @block.build_command(config)
|
24
|
-
end
|
25
|
-
end
|
data/test/rendering_test.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class RenderingTest < Minitest::Test
|
6
|
-
include Jekyll::Diagrams::Errors
|
7
|
-
include Jekyll::Diagrams::Rendering
|
8
|
-
|
9
|
-
def test_raise_command_not_found_error
|
10
|
-
assert_raises CommandNotFoundError do
|
11
|
-
render_with_command('not_exist_command')
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_raise_rendering_failed_error
|
16
|
-
assert_raises RenderingFailedError do
|
17
|
-
render_with_command('/bin/bash -c "exit 1"')
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/test/svgbob_test.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'test_helper'
|
4
|
-
|
5
|
-
class SvgbobTest < Minitest::Test
|
6
|
-
def setup
|
7
|
-
@block = Jekyll::Diagrams::SvgbobBlock.parse(
|
8
|
-
'svgbob',
|
9
|
-
'',
|
10
|
-
Liquid::Tokenizer.new('test {% endsvgbob %}'),
|
11
|
-
Liquid::ParseContext.new
|
12
|
-
)
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_build_command_with_default_config
|
16
|
-
config = {}
|
17
|
-
assert_equal 'svgbob', @block.build_command(config)
|
18
|
-
|
19
|
-
config = { 'scale' => '2' }
|
20
|
-
assert_match '--scale 2', @block.build_command(config)
|
21
|
-
end
|
22
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
lib = File.expand_path('../lib', __dir__)
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
|
6
|
-
# Don't use coveralls in Github Actions
|
7
|
-
unless ENV['GITHUB_ACTIONS']
|
8
|
-
require 'coveralls'
|
9
|
-
Coveralls.wear!
|
10
|
-
end
|
11
|
-
|
12
|
-
require 'minitest/autorun'
|
13
|
-
|
14
|
-
require 'fileutils'
|
15
|
-
require 'jekyll-diagrams'
|
16
|
-
|
17
|
-
# Mocking this method for testing
|
18
|
-
class Jekyll::Diagrams::Block
|
19
|
-
def render_with_command(command, _output = :stdout, **_options)
|
20
|
-
command
|
21
|
-
end
|
22
|
-
end
|