jekyll-diagrams 0.9.3 → 0.10.0
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 +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
|