liquid-diagrams 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df588bcd7fd4a7aaa39d7b84616886346cd3ef33e9e731eda9eca167f6e4e546
4
- data.tar.gz: b14f75ad3612cf7438acd839f91530e82197e09c8ae55e8a0c049c7edf78603a
3
+ metadata.gz: 7ff0b7ca83fbf4cf490ab4fa623e57d76ecc2cbcebb2745c697fb183744210f0
4
+ data.tar.gz: f4a5288d833f989b1a95bb0ccdcf4cfced26dcbbee7a312b474963c52649fc3d
5
5
  SHA512:
6
- metadata.gz: 06152201c6a73f2198737ddb543a2fa7ad6a04f583569de17273658e5c3a270f33d3cc1bfb55660afcbf05b1ad43c64ca32916607b03229efb90d39a9cf9e96c
7
- data.tar.gz: ea18e10f7b712012f179759d6baa0bab4c73471539ee4580927e75173cb3e14730414d7930b4d1de3bcbb32b4c41c993c05d049fc6e0f39145401530ee1a5e42
6
+ metadata.gz: bf10760e1b09e1c35c50034bf8110d1ec9df78d9ad99d296cb1d28590f58fed2e42cf9695530ae0257b738e7d7b2918162b6cb200b31892bf94d45a7258021e7
7
+ data.tar.gz: 1c90195bd2e4b205e801bf3b2a9c1be779d8f79d98a1f9fee90affbd20b95da3255ed238d231443d8a1ec4ac601a73a4a3099ca452da5fd7f4506f06a3adf1e5
data/README.md CHANGED
@@ -2,13 +2,15 @@
2
2
 
3
3
  [![Gem](https://img.shields.io/gem/v/liquid-diagrams.svg?label=Gem&style=flat-square)](https://rubygems.org/gems/liquid-diagrams)
4
4
  [![Test](https://img.shields.io/github/workflow/status/zhustec/liquid-diagrams/Test?label=Test&style=flat-square)](https://github.com/zhustec/liquid-diagrams/actions?query=workflow%3ATest)
5
- [![Linter](https://img.shields.io/github/workflow/status/zhustec/liquid-diagrams/Lint?label=Style&style=flat-square)](https://github.com/zhustec/liquid-diagrams/actions?query=workflow%3ALint)
5
+ [![Feature](https://img.shields.io/travis/com/zhustec/liquid-diagrams.svg?label=Feature&style=flat-square)](https://travis-ci.com/zhustec/liquid-diagrams)
6
+ [![Lint](https://img.shields.io/github/workflow/status/zhustec/liquid-diagrams/Lint?label=Style&style=flat-square)](https://github.com/zhustec/liquid-diagrams/actions?query=workflow%3ALint)
6
7
  [![Coverage](https://img.shields.io/coveralls/github/zhustec/liquid-diagrams?label=Coverage&style=flat-square)](https://coveralls.io/github/zhustec/liquid-diagrams)
7
8
  [![License](https://img.shields.io/github/license/zhustec/liquid-diagrams.svg?label=License&style=flat-square)](https://github.com/zhustec/liquid-diagrams/blob/master/LICENSE)
8
9
 
9
10
  Liquid Diagrams is a liquid plugins for creating diagrams, it is inspired by [asciidoctor-diagram](https://github.com/asciidoctor/asciidoctor-diagram). Currently support:
10
11
 
11
12
  - [**Blockdiag**](http://blockdiag.com/en/)
13
+ - [**Bitfield**](https://github.com/wavedrom/bitfield)
12
14
  - [**Erd**](https://github.com/BurntSushi/erd)
13
15
  - [**GraphViz**](http://graphviz.org/)
14
16
  - [**Mermaid**](https://mermaid-js.github.io/mermaid/)
@@ -17,17 +19,31 @@ Liquid Diagrams is a liquid plugins for creating diagrams, it is inspired by [as
17
19
  - [**Svgbob**](https://ivanceras.github.io/svgbob-editor/)
18
20
  - [**Syntrax**](https://kevinpt.github.io/syntrax/)
19
21
  - [**Vega**](https://vega.github.io/vega/)
20
- - [**Vega-Lite**](https://vega.github.io/vega-lite/)
21
- - [**WaveDrom**](https://wavedrom.com/).
22
+ - [**Vegalite**](https://vega.github.io/vega-lite/)
23
+ - [**Wavedrom**](https://wavedrom.com/).
22
24
 
23
25
  **NOTE:** This project is under development currently.
24
26
 
25
27
  - [Installation](#installation)
26
28
  - [Usage](#usage)
27
- - [List of diagrams](#list-of-diagrams)
29
+ - [Supported diagrams](#supported-diagrams)
28
30
  - [Register diagrams](#register-diagrams)
29
31
  - [Use diagrams tag](#use-diagrams-tag)
32
+ - [Parse Configurations](#parse-configurations)
33
+ - [Prerequisites](#prerequisites)
30
34
  - [Configurations](#configurations)
35
+ - [Blockdiag](#blockdiag)
36
+ - [Bitfield](#bitfield)
37
+ - [Erd](#erd)
38
+ - [Graphviz](#graphviz)
39
+ - [Mermaid](#mermaid)
40
+ - [Nomnoml](#nomnoml)
41
+ - [PlantUML](#plantuml)
42
+ - [State Machine Cat](#state-machine-cat)
43
+ - [Svgbob](#svgbob)
44
+ - [Syntrax](#syntrax)
45
+ - [Vega](#vega)
46
+ - [Wavedrom](#wavedrom)
31
47
  - [Contributing](#contributing)
32
48
  - [License](#license)
33
49
  - [Code of Conduct](#code-of-conduct)
@@ -60,38 +76,44 @@ gem install liquid-diagrams
60
76
  require 'liquid_diagrams'
61
77
  ```
62
78
 
63
- ### List of diagrams
79
+ ### Supported diagrams
64
80
 
65
81
  ```ruby
82
+ # All supported diagrams
66
83
  LiquidDiagrams.diagrams
67
84
  #=> [:actdiag, :blockdiag, :graphviz, :mermaid, ...]
68
-
69
- # Registered diagrams, no diagrams is registered by default
70
- LiquidDiagrams.registered_diagrams
71
- # => {}
72
85
  ```
73
86
 
74
87
  ### Register diagrams
75
88
 
89
+ Diagrams must be registered before use, no diagrams is registered by default.
90
+
76
91
  ```ruby
92
+ # Registered diagrams
93
+ LiquidDiagrams.registered_diagrams
94
+ # => {}
95
+
77
96
  # Register one by one
78
97
  LiquidDiagrams.register_diagram :graphviz
79
- # => LiquidDiagrams::Blocks::GraphvizBlock
80
98
 
81
99
  # Register in batch
82
100
  LiquidDiagrams.register_diagrams :blockdiag, :mermaid
83
- # => [Blocks::BlockdiagBlock, Blocks::MermaidBlock]
84
101
 
85
102
  # Registered diagrams
86
103
  LiquidDiagrams.registered_diagrams
87
104
  # => {:graphviz => LiquidDiagrams::Blocks::GraphvizBlock, ...}
105
+ ```
88
106
 
89
- # Register all available diagrams
107
+ You can register all diagrams with:
108
+
109
+ ```ruby
90
110
  LiquidDiagrams.register_diagrams(LiquidDiagrams.diagrams)
91
111
  ```
92
112
 
93
113
  ### Use diagrams tag
94
114
 
115
+ Now you can use diagrams tag in liquid template:
116
+
95
117
  ```ruby
96
118
  content = <<~CONTENT
97
119
  {% blockdiag %}
@@ -107,9 +129,9 @@ template.render
107
129
  # => "<svg ...>...</svg>"
108
130
  ```
109
131
 
110
- ## Dependencies and Configurations
132
+ ### Parse Configurations
111
133
 
112
- Configurations can be set for each diagrams when parse content, e.g.:
134
+ Configurations can be set for each diagrams when parse content:
113
135
 
114
136
  ```ruby
115
137
  content = <<~CONTENT
@@ -133,7 +155,117 @@ template.render
133
155
  # => "<svg ...>...</svg>"
134
156
  ```
135
157
 
136
- See [Configurations](CONFIGURATIONS.md)
158
+ ## Prerequisites
159
+
160
+ You still need to install some dependencies, please refer to [Prerequisites](Prerequisites.md).
161
+
162
+ ## Configurations
163
+
164
+ ### Blockdiag
165
+
166
+ | Config | Type | Default | Description |
167
+ | ----------- | ------------- | ----------- | --------------------------------------- |
168
+ | `antialias` | `boolean` | unspecified | Pass diagram image to anti-alias filter |
169
+ | `font` | `string` | unspecified | use FONT to draw diagram |
170
+ | `fontmap` | `string` | unspecified | use FONTMAP file to draw diagram |
171
+ | `size` | `int` x `int` | unspecified | Size of diagram (ex. 320x240) |
172
+
173
+ ### Bitfield
174
+
175
+ | Config | Type | Default | Description |
176
+ | ------------ | -------- | ------------ | ---------------- |
177
+ | `fontfamily` | `string` | "sans-serif" | font family |
178
+ | `fontweight` | `string` | "normal" | font weight |
179
+ | `fontsize` | `number` | 14 | font size |
180
+ | `lanes` | `number` | 2 | rectangle lanes |
181
+ | `vspace` | `number` | 80 | vertical space |
182
+ | `hspace` | `number` | 640 | horizontal space |
183
+ | `bits` | `number` | 32 | overall bitwidth |
184
+
185
+ ### Erd
186
+
187
+ | Config | Type | Default | Description |
188
+ | ------------ | --------- | ----------- | ------------------------------------- |
189
+ | `config` | `string` | unspecified | Configuration file |
190
+ | `edge` | `string` | unspecified | Select one type of edge |
191
+ | `dot-entity` | `boolean` | unspecified | Use dot tables instead of HTML tables |
192
+
193
+ Available values:
194
+
195
+ - `edge`: `compound`, `noedge`, `ortho`, `poly`, `spline`
196
+
197
+ ### Graphviz
198
+
199
+ | Config | Type | Default | Description |
200
+ | ------------------ | --------- | ----------- | ---------------------------- |
201
+ | `layout` | `string` | `dot` | Set layout engine |
202
+ | `graph_attributes` | see below | unspecified | Set default graph attributes |
203
+ | `node_attributes` | see below | unspecified | Set default node attributes |
204
+ | `edge_attributes` | see below | unspecified | Set default edge attributes |
205
+
206
+ **NOTICE:** attributes can be:
207
+
208
+ - `String`: eg. `color=red`
209
+ - `Array`: eg. `['color=blue', 'fontsize=14]` or `[['color', 'blue'], ['fontsize', '14']]`
210
+ - `Hash`: eg. `{ color: 'green', fontsize: '14' }`
211
+
212
+ ### Mermaid
213
+
214
+ | Config | Type | Default | Description |
215
+ | ----------------- | -------- | ------- | ------------------ |
216
+ | `width` | `int` | 800 | Width of the page |
217
+ | `height` | `int` | 600 | Height of the page |
218
+ | `backgroundColor` | `string` | white | Background color |
219
+ | `theme` | `string` | default | Theme of the chart |
220
+
221
+ ### Nomnoml
222
+
223
+ Currently no configurations
224
+
225
+ ### PlantUML
226
+
227
+ Currently no configurations
228
+
229
+ ### State Machine Cat
230
+
231
+ | Config | Type | Default | Description |
232
+ | ------------ | -------- | ---------- | ------------------------ |
233
+ | `input-type` | `string` | `smcat` | Input type |
234
+ | `engine` | `string` | `dot` | Layout engine to use |
235
+ | `direction` | `string` | `top-down` | Direction of the diagram |
236
+
237
+ Available values:
238
+
239
+ - `input-type`: `smcat`, `scxml`, `json`
240
+ - `egine`: `dot`, `circo`, `fdp`, `neato`, `osage`, `twopi`
241
+ - `direction`: `top-down`, `bottom-top`, `left-right`, `right-left`
242
+
243
+ ### Svgbob
244
+
245
+ | Config | Type | Default | Description |
246
+ | -------------- | -------- | ------- | -------------------------- |
247
+ | `font-family` | `string` | arial | Font |
248
+ | `font-size` | `int` | 12 | Font size |
249
+ | `scale` | `int` | 1 | Scale the entire svg |
250
+ | `stroke-width` | `int` | 2 | stroke width for all lines |
251
+
252
+ ### Syntrax
253
+
254
+ | Config | Type | Default | Description |
255
+ | ------------- | --------- | ----------- | ---------------------- |
256
+ | `scale` | `int` | 1 | Scale image |
257
+ | `style` | `string` | unspecified | Style config file |
258
+ | `transparent` | `boolean` | unspecified | Transparent background |
259
+
260
+ ### Vega
261
+
262
+ | Config | Type | Default | Description |
263
+ | ------- | ----- | ------- | ----------- |
264
+ | `scale` | `int` | 1 | Scale image |
265
+
266
+ ### Wavedrom
267
+
268
+ Currently no configurations
137
269
 
138
270
  ## Contributing
139
271
 
@@ -30,6 +30,8 @@ module LiquidDiagrams
30
30
  end
31
31
  end
32
32
 
33
+ OPTIONS_KEY = :liquid_diagrams
34
+
33
35
  class << self
34
36
  # Return all diagrams defined in {Renderers}
35
37
  #
@@ -43,19 +43,28 @@ module LiquidDiagrams
43
43
  self.class.renderer.render(@content, config)
44
44
  end
45
45
 
46
+ # Default error handler
46
47
  def handle_error(error)
47
48
  error
48
49
  end
49
50
 
50
- # Read block config from parse context
51
+ # Read configurations
51
52
  #
52
53
  # @return [Hash]
53
54
  def config
54
- opts = options[:liquid_diagrams] || options['liquid_diagrams'] || {}
55
+ template_options.merge(inline_options)
56
+ end
57
+
58
+ # Read block options from parse context
59
+ def template_options
60
+ opts = parse_context[OPTIONS_KEY] || parse_context[OPTIONS_KEY.to_s] || {}
61
+
62
+ opts.fetch(block_name.to_sym) { opts.fetch(block_name, {}) }
63
+ end
55
64
 
56
- opts.fetch block_name.to_sym do
57
- opts.fetch(block_name.to_s, {})
58
- end
65
+ # Read inline options from markup
66
+ def inline_options
67
+ Utils.parse_inline_options(@markup.strip)
59
68
  end
60
69
  end
61
70
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LiquidDiagrams
4
+ module Renderers
5
+ class BitfieldRenderer < BasicRenderer
6
+ OPTIONS = %w[
7
+ vspace
8
+ hspace
9
+ lanes
10
+ bits
11
+ fontsize
12
+ fontfamily
13
+ fontweight
14
+ ].freeze
15
+
16
+ def render
17
+ Rendering.render_with_tempfile(build_command, @content) do |input, output|
18
+ "--input #{input} > #{output}"
19
+ end
20
+ end
21
+
22
+ def build_command
23
+ command = +'bitfield'
24
+
25
+ @config.slice(*OPTIONS).each do |opt, value|
26
+ command << " --#{opt} #{value}"
27
+ end
28
+
29
+ command
30
+ end
31
+ end
32
+ end
33
+ end
@@ -43,5 +43,20 @@ module LiquidDiagrams
43
43
  def vendor_path(file = '')
44
44
  File.join(__dir__, '../../vendor', file)
45
45
  end
46
+
47
+ INLINE_OPTIONS_SYNTAX = /^\s*(?:(\w+)=(\w+|"[^"]+")\s+)*\s*$/.freeze
48
+ INLINE_OPTIONS_REGEXP = /(?:(\w+)=(\w+|"[^"]+"))/.freeze
49
+
50
+ def parse_inline_options(input)
51
+ options = {}
52
+
53
+ input.scan(INLINE_OPTIONS_REGEXP) do |key, value|
54
+ value.delete!('"') if value&.include?('"')
55
+
56
+ options[key.to_sym] = value
57
+ end
58
+
59
+ options
60
+ end
46
61
  end
47
62
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LiquidDiagrams
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -53,4 +53,52 @@ RSpec.describe LiquidDiagrams::BasicBlock do
53
53
  expect(block.render(Liquid::Context.new)).to eq 'success'
54
54
  end
55
55
  end
56
+
57
+ describe '#config' do
58
+ it 'merge template options with inline options' do
59
+ allow(block).to receive(:template_options).and_return({ k1: :v1 })
60
+ allow(block).to receive(:inline_options).and_return({ k1: :v2, k2: :v2 })
61
+
62
+ expect(block.config).to eq({ k1: :v2, k2: :v2 })
63
+ end
64
+ end
65
+
66
+ describe '#template_options' do
67
+ let(:key) { LiquidDiagrams::OPTIONS_KEY }
68
+
69
+ it 'accept symbol key' do
70
+ allow(block).to receive(:parse_context).and_return({ key => { test: '1' } })
71
+
72
+ expect(block.template_options).to eq '1'
73
+ end
74
+
75
+ it 'accept string key' do
76
+ allow(block).to receive(:parse_context).and_return({ key => { 'test' => '2' } })
77
+
78
+ expect(block.template_options).to eq '2'
79
+ end
80
+ end
81
+
82
+ describe '#inline_options' do
83
+ let(:markup) { 'a1=v1 a2="v2" a3="k3 v3"' }
84
+
85
+ let :block do
86
+ TestBlock.parse(
87
+ 'test', markup, Liquid::Tokenizer.new('{% endtest %}'),
88
+ Liquid::ParseContext.new
89
+ )
90
+ end
91
+
92
+ before do
93
+ allow(LiquidDiagrams::Utils).to receive :parse_inline_options
94
+ end
95
+
96
+ it 'call Utils.parse_inline_options' do
97
+ block.inline_options
98
+
99
+ expect(LiquidDiagrams::Utils).to have_received(
100
+ :parse_inline_options
101
+ ).with(markup)
102
+ end
103
+ end
56
104
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe LiquidDiagrams::Renderers::BitfieldRenderer do
6
+ subject(:renderer) { described_class.new('content') }
7
+
8
+ describe '#render' do
9
+ include_examples 'render with tempfile', described_class
10
+ end
11
+
12
+ describe '#build_command' do
13
+ context 'when config is empty' do
14
+ it { expect(renderer.build_command).to match 'bitfield' }
15
+ end
16
+
17
+ context 'when config is not empty' do
18
+ before do
19
+ renderer.instance_variable_set(:@config, { 'fontsize' => 10 })
20
+ end
21
+
22
+ it 'build command with config' do
23
+ expect(renderer.build_command).to match '--fontsize 10'
24
+ end
25
+ end
26
+ end
27
+ end
@@ -63,4 +63,14 @@ RSpec.describe LiquidDiagrams::Utils do
63
63
  end
64
64
  end
65
65
  end
66
+
67
+ describe '.parse_inline_options' do
68
+ it 'parse inline options' do
69
+ input = 'a1=v1 a2="v2" a3="k3 v3"'
70
+
71
+ options = described_class.parse_inline_options(input)
72
+
73
+ expect(options).to match a_hash_including(a1: 'v1', a2: 'v2', a3: 'k3 v3')
74
+ end
75
+ end
66
76
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liquid-diagrams
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - zhustec
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-02 00:00:00.000000000 Z
11
+ date: 2020-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: liquid
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: cucumber
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: pry-byebug
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -144,6 +158,7 @@ files:
144
158
  - lib/liquid_diagrams/basic_block.rb
145
159
  - lib/liquid_diagrams/basic_renderer.rb
146
160
  - lib/liquid_diagrams/errors.rb
161
+ - lib/liquid_diagrams/renderers/bitfield_renderer.rb
147
162
  - lib/liquid_diagrams/renderers/blockdiag_renderer.rb
148
163
  - lib/liquid_diagrams/renderers/erd_renderer.rb
149
164
  - lib/liquid_diagrams/renderers/graphviz_renderer.rb
@@ -160,6 +175,7 @@ files:
160
175
  - lib/liquid_diagrams/version.rb
161
176
  - spec/liquid_diagrams/basic_block_spec.rb
162
177
  - spec/liquid_diagrams/basic_renderer_spec.rb
178
+ - spec/liquid_diagrams/renderers/bitfield_renderer_spec.rb
163
179
  - spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb
164
180
  - spec/liquid_diagrams/renderers/erd_renderer_spec.rb
165
181
  - spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb
@@ -190,7 +206,7 @@ post_install_message: "\n ___________________________________________________
190
206
  \ ..........................................................\n\n Thank you
191
207
  for installing liquid-diagrams.\n\n But it doesn't mean that you can use all
192
208
  diagrams for now,\n You still need to install some dependencies by your self.\n\n
193
- \ Please refer to the link below for more details:\n\n https://github.com/zhustec/liquid-diagrams#readme\n\n
209
+ \ Please refer to the link below for more details:\n\n https://github.com/zhustec/liquid-diagrams#prerequisites\n\n
194
210
  \ ..........................................................\n __________________________________________________________\n
195
211
  \ "
196
212
  rdoc_options: []
@@ -212,21 +228,22 @@ signing_key:
212
228
  specification_version: 4
213
229
  summary: Liquid plugins for diagrams support.
214
230
  test_files:
215
- - spec/spec_helper.rb
216
- - spec/support/shared_examples.rb
217
- - spec/liquid_diagrams/rendering_spec.rb
218
- - spec/liquid_diagrams/basic_renderer_spec.rb
219
231
  - spec/liquid_diagrams/basic_block_spec.rb
220
- - spec/liquid_diagrams/renderers/nomnoml_renderer_spec.rb
232
+ - spec/liquid_diagrams/basic_renderer_spec.rb
233
+ - spec/liquid_diagrams/renderers/bitfield_renderer_spec.rb
234
+ - spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb
235
+ - spec/liquid_diagrams/renderers/erd_renderer_spec.rb
236
+ - spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb
221
237
  - spec/liquid_diagrams/renderers/mermaid_renderer_spec.rb
238
+ - spec/liquid_diagrams/renderers/nomnoml_renderer_spec.rb
222
239
  - spec/liquid_diagrams/renderers/plantuml_renderer_spec.rb
223
240
  - spec/liquid_diagrams/renderers/smcat_renderer_spec.rb
224
241
  - spec/liquid_diagrams/renderers/svgbob_renderer_spec.rb
225
- - spec/liquid_diagrams/renderers/vega_renderer_spec.rb
226
- - spec/liquid_diagrams/renderers/blockdiag_renderer_spec.rb
227
- - spec/liquid_diagrams/renderers/graphviz_renderer_spec.rb
228
242
  - spec/liquid_diagrams/renderers/syntrax_renderer_spec.rb
243
+ - spec/liquid_diagrams/renderers/vega_renderer_spec.rb
229
244
  - spec/liquid_diagrams/renderers/wavedrom_renderer_spec.rb
230
- - spec/liquid_diagrams/renderers/erd_renderer_spec.rb
245
+ - spec/liquid_diagrams/rendering_spec.rb
231
246
  - spec/liquid_diagrams/utils_spec.rb
232
247
  - spec/liquid_diagrams_spec.rb
248
+ - spec/spec_helper.rb
249
+ - spec/support/shared_examples.rb