jekyll-diagrams 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -6
- data/.travis.yml +5 -4
- data/README.md +16 -13
- data/Rakefile +12 -1
- data/lib/jekyll-diagrams/blockdiag.rb +7 -3
- data/lib/jekyll-diagrams/erd.rb +7 -3
- data/lib/jekyll-diagrams/graphviz.rb +1 -1
- data/lib/jekyll-diagrams/mermaid.rb +1 -0
- data/lib/jekyll-diagrams/plantuml.rb +3 -2
- data/lib/jekyll-diagrams/smcat.rb +1 -1
- data/lib/jekyll-diagrams/syntrax.rb +3 -1
- data/lib/jekyll-diagrams/util.rb +2 -6
- data/lib/jekyll-diagrams/version.rb +1 -1
- data/test/dummy_site/Gemfile +8 -0
- data/test/dummy_site/_config.yml +21 -0
- data/test/dummy_site/_posts/2020-01-01-graphviz-test.md +23 -0
- data/test/dummy_site/_posts/2020-01-02-blockdiag-test.md +29 -0
- data/test/dummy_site/_posts/2020-01-03-plantuml-test.md +80 -0
- data/test/dummy_site/_posts/2020-01-04-mermaid-test.md +65 -0
- data/test/dummy_site/_posts/2020-01-05-wavedrom-test.md +16 -0
- data/test/dummy_site/_posts/2020-01-06-smcat-test.md +24 -0
- data/test/dummy_site/_posts/2020-01-07-erd-test.md +116 -0
- data/test/dummy_site/index.md +3 -0
- data/vendor/mermaid_puppeteer_config.json +3 -0
- metadata +23 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45645fc482eb66caa1e9dcc420f1da9f500c5c3c4735df834f51a265b9ab5234
|
4
|
+
data.tar.gz: 630469bb87099ce469e507f03e3b2567bd9e7eb6cc16b9d295427c39c3e8cd5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1fe97c25a68ebe37dccc5e5583dcb6ac0768c76922e89d5a033c4205dcf5005aa8abe1e1cb7a2f0261046a0329dd87d24c3c92b20761b41b0fa5e96fc2e22c4
|
7
|
+
data.tar.gz: bd1017c5fd734b0a080cec05a309e4c829475ec34644d76af6df934644dd920e1e3371543c36a4038f6fe185e3708d51d9e8fbc55ecbbfe9a31a8c66d3a8cded
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -9,16 +9,17 @@ rvm:
|
|
9
9
|
addons:
|
10
10
|
apt:
|
11
11
|
packages:
|
12
|
+
- cabal-install
|
12
13
|
- default-jre
|
13
14
|
- gnuplot
|
14
15
|
- graphviz
|
15
|
-
- node
|
16
16
|
- npm
|
17
17
|
- python3
|
18
18
|
- python3-pip
|
19
19
|
- python3-setuptools
|
20
20
|
|
21
21
|
before_install:
|
22
|
-
- sudo
|
23
|
-
- gem update --system && gem install bundler
|
24
|
-
- npm install -g wavedrom-cli
|
22
|
+
- sudo cabal update && sudo cabal install erd
|
23
|
+
- sudo gem update --system && sudo gem install bundler
|
24
|
+
- sudo npm install -g mermaid.cli state-machine-cat wavedrom-cli
|
25
|
+
- sudo pip3 install blockdiag seqdiag actdiag nwdiag syntrax
|
data/README.md
CHANGED
@@ -7,13 +7,13 @@
|
|
7
7
|
|
8
8
|
Jekyll Diagrams is a jekyll plugins for creating amazing diagrams, including:
|
9
9
|
|
10
|
-
- Blockdiag(
|
11
|
-
- Erd
|
12
|
-
- Graphviz
|
13
|
-
- Mermaid
|
14
|
-
- PlantUML
|
15
|
-
- State Machine cat
|
16
|
-
- Syntrax
|
10
|
+
- [**Blockdiag**](#blockdiag)
|
11
|
+
- [**Erd**](#erd)
|
12
|
+
- [**Graphviz**](#graphviz)
|
13
|
+
- [**Mermaid**](#mermaid)
|
14
|
+
- [**PlantUML**](#plantUML)
|
15
|
+
- [**State Machine Cat**](#state-machine-cat)
|
16
|
+
- [**Syntrax**](#syntrax)
|
17
17
|
|
18
18
|
## Installation
|
19
19
|
|
@@ -112,6 +112,7 @@ jekyll-diagrams:
|
|
112
112
|
|
113
113
|
- Install Graphviz
|
114
114
|
- [**Install Erd**](https://github.com/BurntSushi/erd#installation)
|
115
|
+
- Set path properly, make sure your system can find it
|
115
116
|
|
116
117
|
#### Examples
|
117
118
|
|
@@ -191,6 +192,7 @@ jekyll-diagrams:
|
|
191
192
|
#### Prerequisites
|
192
193
|
|
193
194
|
- [**Install mermaid.cli**](https://github.com/mermaidjs/mermaid.cli#mermaidcli)
|
195
|
+
- Set path properly, make sure your system can find it
|
194
196
|
|
195
197
|
#### Configurations
|
196
198
|
|
@@ -229,13 +231,13 @@ Car -- Person : < owns
|
|
229
231
|
{% endplantuml %}
|
230
232
|
```
|
231
233
|
|
232
|
-
### State Machine
|
234
|
+
### State Machine Cat
|
233
235
|
|
234
236
|
#### Prerequisites
|
235
237
|
|
236
238
|
- Nodejs Runtime
|
237
239
|
- Install it `npm install [-g] state-machine-cat`
|
238
|
-
- Set path
|
240
|
+
- Set path properly, make sure your system can find it
|
239
241
|
|
240
242
|
#### Examples
|
241
243
|
|
@@ -267,15 +269,16 @@ jekyll-diagrams:
|
|
267
269
|
direction: top-down
|
268
270
|
```
|
269
271
|
|
270
|
-
- `input-type`: smcat|scxml|json (
|
271
|
-
- `engine`: dot|circo|fdp|neato|osage|twopi (
|
272
|
-
- `direction`: top-down|bottom-top|left-right|right-left (
|
272
|
+
- `input-type`: `smcat|scxml|json` (Default: `smcat`)
|
273
|
+
- `engine`: `dot|circo|fdp|neato|osage|twopi` (Default: `dot`)
|
274
|
+
- `direction`: `top-down|bottom-top|left-right|right-left` (Default: `top-down`)
|
273
275
|
|
274
276
|
### Syntrax
|
275
277
|
|
276
278
|
#### Prerequisites
|
277
279
|
|
278
|
-
- [Install
|
280
|
+
- [Install Syntrax, Pango and PangoCairo](https://kevinpt.github.io/syntrax/#requirements)
|
281
|
+
- Set path properly, make sure your system can find it
|
279
282
|
|
280
283
|
#### Examples
|
281
284
|
|
data/Rakefile
CHANGED
@@ -7,4 +7,15 @@ Rake::TestTask.new(:test) do |t|
|
|
7
7
|
t.test_files = FileList['test/**/*_test.rb']
|
8
8
|
end
|
9
9
|
|
10
|
-
task default: :test
|
10
|
+
task default: :test
|
11
|
+
|
12
|
+
desc 'Run dummy site'
|
13
|
+
task :dummy_site do
|
14
|
+
dummy_site_path = File.expand_path('test/dummy_site', __dir__)
|
15
|
+
|
16
|
+
Dir.chdir(dummy_site_path) do
|
17
|
+
puts "Current directory: #{Dir.pwd}"
|
18
|
+
|
19
|
+
%x(bundle exec jekyll serve --trace)
|
20
|
+
end
|
21
|
+
end
|
@@ -4,6 +4,8 @@ require 'tempfile'
|
|
4
4
|
module Jekyll
|
5
5
|
module Diagrams
|
6
6
|
class BlockdiagBlock < Block
|
7
|
+
CONFIGURATIONS = %w(config font fontmap size).freeze
|
8
|
+
|
7
9
|
def render_svg(code, config)
|
8
10
|
command = build_command(config)
|
9
11
|
|
@@ -13,14 +15,16 @@ module Jekyll
|
|
13
15
|
end
|
14
16
|
|
15
17
|
def read_config(context)
|
16
|
-
Util.config_for(context, 'blockdiag').merge(
|
18
|
+
Util.config_for(context, 'blockdiag').merge(
|
19
|
+
Util.config_for(context, block_name)
|
20
|
+
)
|
17
21
|
end
|
18
22
|
|
19
23
|
def build_command(config)
|
20
|
-
command = "#{block_name} -
|
24
|
+
command = "#{block_name} -T svg --nodoctype"
|
21
25
|
command << ' --antialias' if config.has_key?('antialias')
|
22
26
|
|
23
|
-
|
27
|
+
CONFIGURATIONS.each do |conf|
|
24
28
|
command << " --#{conf}=#{config[conf]}" if config.has_key?(conf)
|
25
29
|
end
|
26
30
|
|
data/lib/jekyll-diagrams/erd.rb
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
module Jekyll
|
2
2
|
module Diagrams
|
3
3
|
class ErdBlock < Block
|
4
|
+
CONFIGURATIONS = %w(config edge).freeze
|
5
|
+
|
4
6
|
def render_svg(code, config)
|
5
|
-
render_with_stdin_stdout(build_command(config), code)
|
7
|
+
svg = render_with_stdin_stdout(build_command(config), code)
|
8
|
+
svg.sub!(/^<\?xml(([^>]|\n)*>\n?){2}/, '')
|
6
9
|
end
|
7
10
|
|
8
11
|
def build_command(config)
|
9
12
|
command = 'erd --fmt=svg'
|
13
|
+
command << ' --dot-entity' if config.has_key?('dot-entity')
|
10
14
|
|
11
|
-
|
15
|
+
CONFIGURATIONS.each do |conf|
|
12
16
|
command << " --#{conf}=#{config[conf]}" if config.has_key?(conf)
|
13
17
|
end
|
14
18
|
|
@@ -18,4 +22,4 @@ module Jekyll
|
|
18
22
|
end
|
19
23
|
end
|
20
24
|
|
21
|
-
Liquid::Template.register_tag(:
|
25
|
+
Liquid::Template.register_tag(:erd, Jekyll::Diagrams::ErdBlock)
|
@@ -17,6 +17,7 @@ module Jekyll
|
|
17
17
|
def build_command(config)
|
18
18
|
command = 'mmdc'
|
19
19
|
command << ' --transparent' if config.has_key?('transparent')
|
20
|
+
command << " --puppeteerConfigFile #{Util.vendor_path('mermaid_puppeteer_config.json')}"
|
20
21
|
|
21
22
|
CONFIGURATIONS.merge(config).each do |conf, value|
|
22
23
|
command << " --#{conf} #{value}"
|
@@ -2,14 +2,15 @@ module Jekyll
|
|
2
2
|
module Diagrams
|
3
3
|
class PlantUMLBlock < Block
|
4
4
|
def render_svg(code, config)
|
5
|
-
render_with_stdin_stdout(build_command(config), code)
|
5
|
+
svg = render_with_stdin_stdout(build_command(config), code)
|
6
|
+
svg.sub!(/^<\?xml([^>]|\n)*>\n?/, '')
|
6
7
|
end
|
7
8
|
|
8
9
|
def build_command(config)
|
9
10
|
options = 'java'
|
10
11
|
options << ' -Djava.awt.headless=true'
|
11
12
|
options << ' -jar '
|
12
|
-
options << Util.
|
13
|
+
options << Util.vendor_path('plantuml.1.2020.1.jar')
|
13
14
|
options << ' -tsvg -pipe'
|
14
15
|
end
|
15
16
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Jekyll
|
2
2
|
module Diagrams
|
3
3
|
class SyntraxBlock < Block
|
4
|
+
CONFIGURATIONS = %w(scale style).freeze
|
5
|
+
|
4
6
|
def render_svg(code, config)
|
5
7
|
render_with_tempfile(build_command(config), code) do |command, input, output|
|
6
8
|
"#{command} --input #{input} --output #{output}"
|
@@ -10,7 +12,7 @@ module Jekyll
|
|
10
12
|
def build_command(config)
|
11
13
|
command = 'syntrax'
|
12
14
|
|
13
|
-
|
15
|
+
CONFIGURATIONS.each do |conf|
|
14
16
|
command << " --#{conf} #{config[conf]}" if config.has_key?(conf)
|
15
17
|
end
|
16
18
|
|
data/lib/jekyll-diagrams/util.rb
CHANGED
@@ -19,12 +19,8 @@ module Jekyll
|
|
19
19
|
diagrams_config(context).fetch(name, {})
|
20
20
|
end
|
21
21
|
|
22
|
-
def
|
23
|
-
File.join(
|
24
|
-
end
|
25
|
-
|
26
|
-
def vendor_path
|
27
|
-
File.expand_path('../../vendor', __dir__)
|
22
|
+
def vendor_path(file = '')
|
23
|
+
File.join(File.expand_path('../../vendor', __dir__), file)
|
28
24
|
end
|
29
25
|
end
|
30
26
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
title: Dummy Site
|
2
|
+
description: This is a dummy site for testing.
|
3
|
+
|
4
|
+
theme: minima
|
5
|
+
plugins:
|
6
|
+
- jekyll-diagrams
|
7
|
+
|
8
|
+
jekyll-diagrams:
|
9
|
+
graphviz:
|
10
|
+
default_layout: dot
|
11
|
+
graph_attribute: color=red
|
12
|
+
node_attribute:
|
13
|
+
- color=blue
|
14
|
+
- fillcolor=red
|
15
|
+
edge_attribute:
|
16
|
+
color: red
|
17
|
+
fillcolor: blue
|
18
|
+
blockdiag:
|
19
|
+
antialias: true
|
20
|
+
syntax:
|
21
|
+
transparent: true
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: Graphviz Test
|
4
|
+
date: 2020-01-01 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# Graphviz Test
|
8
|
+
|
9
|
+
{% graphviz %}
|
10
|
+
digraph {
|
11
|
+
node [shape=circle, style=filled];
|
12
|
+
S ;
|
13
|
+
A ;
|
14
|
+
B ;
|
15
|
+
C ;
|
16
|
+
D [shape=doublecircle, fillcolor=green];
|
17
|
+
S -> A [label=a];
|
18
|
+
S -> B [label=b];
|
19
|
+
A -> D [label=c];
|
20
|
+
B -> D [label=d];
|
21
|
+
}
|
22
|
+
{% endgraphviz %}
|
23
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: Blockdiag Test
|
4
|
+
date: 2020-01-02 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# Blockdiag Test
|
8
|
+
|
9
|
+
## Blockdiag
|
10
|
+
|
11
|
+
{% blockdiag %}
|
12
|
+
blockdiag {
|
13
|
+
A -> B -> C -> D;
|
14
|
+
A -> E -> F -> G;
|
15
|
+
}
|
16
|
+
{% endblockdiag %}
|
17
|
+
|
18
|
+
## Seqdiag
|
19
|
+
|
20
|
+
{% seqdiag %}
|
21
|
+
seqdiag {
|
22
|
+
browser -> webserver [label = "GET /index.html"];
|
23
|
+
browser <-- webserver;
|
24
|
+
browser -> webserver [label = "POST /blog/comment"];
|
25
|
+
webserver -> database [label = "INSERT comment"];
|
26
|
+
webserver <-- database;
|
27
|
+
browser <-- webserver;
|
28
|
+
}
|
29
|
+
{% endseqdiag %}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: PlantUML Test
|
4
|
+
date: 2020-01-03 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# PlantUML Test
|
8
|
+
|
9
|
+
{% plantuml %}
|
10
|
+
@startuml
|
11
|
+
actor Foo1
|
12
|
+
boundary Foo2
|
13
|
+
control Foo3
|
14
|
+
entity Foo4
|
15
|
+
database Foo5
|
16
|
+
collections Foo6
|
17
|
+
Foo1 -> Foo2 : To boundary
|
18
|
+
Foo1 -> Foo3 : To control
|
19
|
+
Foo1 -> Foo4 : To entity
|
20
|
+
Foo1 -> Foo5 : To database
|
21
|
+
Foo1 -> Foo6 : To collections
|
22
|
+
|
23
|
+
@enduml
|
24
|
+
{% endplantuml %}
|
25
|
+
|
26
|
+
|
27
|
+
{% plantuml %}
|
28
|
+
@startuml
|
29
|
+
:Main Admin: as Admin
|
30
|
+
(Use the application) as (Use)
|
31
|
+
|
32
|
+
User -> (Start)
|
33
|
+
User --> (Use)
|
34
|
+
|
35
|
+
Admin ---> (Use)
|
36
|
+
|
37
|
+
note right of Admin : This is an example.
|
38
|
+
|
39
|
+
note right of (Use)
|
40
|
+
A note can also
|
41
|
+
be on several lines
|
42
|
+
end note
|
43
|
+
|
44
|
+
note "This note is connected\nto several objects." as N2
|
45
|
+
(Start) .. N2
|
46
|
+
N2 .. (Use)
|
47
|
+
@enduml
|
48
|
+
{% endplantuml %}
|
49
|
+
|
50
|
+
{% plantuml %}
|
51
|
+
@startuml
|
52
|
+
class Car
|
53
|
+
|
54
|
+
Driver - Car : drives >
|
55
|
+
Car *- Wheel : have 4 >
|
56
|
+
Car -- Person : < owns
|
57
|
+
|
58
|
+
@enduml
|
59
|
+
{% endplantuml %}
|
60
|
+
|
61
|
+
{% plantuml %}
|
62
|
+
@startuml
|
63
|
+
nwdiag {
|
64
|
+
network dmz {
|
65
|
+
address = "210.x.x.x/24"
|
66
|
+
|
67
|
+
web01 [address = "210.x.x.1"];
|
68
|
+
web02 [address = "210.x.x.2"];
|
69
|
+
}
|
70
|
+
network internal {
|
71
|
+
address = "172.x.x.x/24";
|
72
|
+
|
73
|
+
web01 [address = "172.x.x.1"];
|
74
|
+
web02 [address = "172.x.x.2"];
|
75
|
+
db01;
|
76
|
+
db02;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
@enduml
|
80
|
+
{% endplantuml %}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: Mermaid Test
|
4
|
+
date: 2020-01-04 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# Mermaid Test
|
8
|
+
|
9
|
+
{% mermaid %}
|
10
|
+
graph TB
|
11
|
+
c1-->a2
|
12
|
+
subgraph one
|
13
|
+
a1-->a2
|
14
|
+
end
|
15
|
+
subgraph two
|
16
|
+
b1-->b2
|
17
|
+
end
|
18
|
+
subgraph three
|
19
|
+
c1-->c2
|
20
|
+
end
|
21
|
+
{% endmermaid %}
|
22
|
+
|
23
|
+
{% mermaid %}
|
24
|
+
sequenceDiagram
|
25
|
+
participant John
|
26
|
+
participant Alice
|
27
|
+
Alice->>John: Hello John, how are you?
|
28
|
+
John-->>Alice: Great!
|
29
|
+
{% endmermaid %}
|
30
|
+
|
31
|
+
{% mermaid %}
|
32
|
+
classDiagram
|
33
|
+
Animal <|-- Duck
|
34
|
+
Animal <|-- Fish
|
35
|
+
Animal <|-- Zebra
|
36
|
+
Animal : +int age
|
37
|
+
Animal : +String gender
|
38
|
+
Animal: +isMammal()
|
39
|
+
Animal: +mate()
|
40
|
+
class Duck{
|
41
|
+
+String beakColor
|
42
|
+
+swim()
|
43
|
+
+quack()
|
44
|
+
}
|
45
|
+
class Fish{
|
46
|
+
-int sizeInFeet
|
47
|
+
-canEat()
|
48
|
+
}
|
49
|
+
class Zebra{
|
50
|
+
+bool is_wild
|
51
|
+
+run()
|
52
|
+
}
|
53
|
+
{% endmermaid %}
|
54
|
+
|
55
|
+
{% mermaid %}
|
56
|
+
gantt
|
57
|
+
title A Gantt Diagram
|
58
|
+
dateFormat YYYY-MM-DD
|
59
|
+
section Section
|
60
|
+
A task :a1, 2014-01-01, 30d
|
61
|
+
Another task :after a1 , 20d
|
62
|
+
section Another
|
63
|
+
Task in sec :2014-01-12 , 12d
|
64
|
+
another task : 24d
|
65
|
+
{% endmermaid %}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: Wavedrom Test
|
4
|
+
date: 2020-01-05 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# Wavedrom Test
|
8
|
+
|
9
|
+
{% wavedrom %}
|
10
|
+
{signal: [
|
11
|
+
{name: 'clk', wave: 'p.....|...'},
|
12
|
+
{name: 'dat', wave: 'x.345x|=.x', data: ['head', 'body', 'tail', 'data']},
|
13
|
+
{name: 'req', wave: '0.1..0|1.0'},
|
14
|
+
{name: 'ack', wave: '1.....|01.'}
|
15
|
+
]}
|
16
|
+
{% endwavedrom %}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: State Machine Cat Test
|
4
|
+
date: 2020-01-06 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# State Machine Cat Test
|
8
|
+
|
9
|
+
{% smcat %}
|
10
|
+
initial,
|
11
|
+
doing: entry/ write unit test
|
12
|
+
do/ write code
|
13
|
+
exit/ ...,
|
14
|
+
# smcat recognizes initial
|
15
|
+
# and final states by name
|
16
|
+
# and renders them appropriately
|
17
|
+
final;
|
18
|
+
|
19
|
+
initial => "on backlog" : item adds most value;
|
20
|
+
"on backlog" => doing : working on it;
|
21
|
+
doing => testing : built & unit tested;
|
22
|
+
testing => "on backlog" : test not ok;
|
23
|
+
testing => final : test ok;
|
24
|
+
{% endsmcat %}
|
@@ -0,0 +1,116 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: Erd Test
|
4
|
+
date: 2020-01-07 00:00:00 +0800
|
5
|
+
---
|
6
|
+
|
7
|
+
# Erd Test
|
8
|
+
|
9
|
+
{% erd %}
|
10
|
+
[Person]
|
11
|
+
*name
|
12
|
+
height
|
13
|
+
weight
|
14
|
+
`birth date`
|
15
|
+
+birth_place_id
|
16
|
+
|
17
|
+
[`Birth Place`]
|
18
|
+
*id
|
19
|
+
`birth city`
|
20
|
+
'birth state'
|
21
|
+
"birth country"
|
22
|
+
|
23
|
+
# Each relationship must be between exactly two entities, which need not
|
24
|
+
# be distinct. Each entity in the relationship has exactly one of four
|
25
|
+
# possible cardinalities:
|
26
|
+
#
|
27
|
+
# Cardinality Syntax
|
28
|
+
# 0 or 1 ?
|
29
|
+
# exactly 1 1
|
30
|
+
# 0 or more *
|
31
|
+
# 1 or more +
|
32
|
+
Person *--1 `Birth Place`
|
33
|
+
{% enderd %}
|
34
|
+
|
35
|
+
{% erd %}
|
36
|
+
title {label: "nfldb Entity-Relationship diagram (condensed)", size: "20"}
|
37
|
+
|
38
|
+
# Entities
|
39
|
+
|
40
|
+
[player] {bgcolor: "#d0e0d0"}
|
41
|
+
*player_id {label: "varchar, not null"}
|
42
|
+
full_name {label: "varchar, null"}
|
43
|
+
team {label: "varchar, not null"}
|
44
|
+
position {label: "player_pos, not null"}
|
45
|
+
status {label: "player_status, not null"}
|
46
|
+
|
47
|
+
[team] {bgcolor: "#d0e0d0"}
|
48
|
+
*team_id {label: "varchar, not null"}
|
49
|
+
city {label: "varchar, not null"}
|
50
|
+
name {label: "varchar, not null"}
|
51
|
+
|
52
|
+
[game] {bgcolor: "#ececfc"}
|
53
|
+
*gsis_id {label: "gameid, not null"}
|
54
|
+
start_time {label: "utctime, not null"}
|
55
|
+
week {label: "usmallint, not null"}
|
56
|
+
season_year {label: "usmallint, not null"}
|
57
|
+
season_type {label: "season_phase, not null"}
|
58
|
+
finished {label: "boolean, not null"}
|
59
|
+
home_team {label: "varchar, not null"}
|
60
|
+
home_score {label: "usmallint, not null"}
|
61
|
+
away_team {label: "varchar, not null"}
|
62
|
+
away_score {label: "usmallint, not null"}
|
63
|
+
|
64
|
+
[drive] {bgcolor: "#ececfc"}
|
65
|
+
*+gsis_id {label: "gameid, not null"}
|
66
|
+
*drive_id {label: "usmallint, not null"}
|
67
|
+
start_field {label: "field_pos, null"}
|
68
|
+
start_time {label: "game_time, not null"}
|
69
|
+
end_field {label: "field_pos, null"}
|
70
|
+
end_time {label: "game_time, not null"}
|
71
|
+
pos_team {label: "varchar, not null"}
|
72
|
+
pos_time {label: "pos_period, null"}
|
73
|
+
|
74
|
+
[play] {bgcolor: "#ececfc"}
|
75
|
+
*+gsis_id {label: "gameid, not null"}
|
76
|
+
*+drive_id {label: "usmallint, not null"}
|
77
|
+
*play_id {label: "usmallint, not null"}
|
78
|
+
time {label: "game_time, not null"}
|
79
|
+
pos_team {label: "varchar, not null"}
|
80
|
+
yardline {label: "field_pos, null"}
|
81
|
+
down {label: "smallint, null"}
|
82
|
+
yards_to_go {label: "smallint, null"}
|
83
|
+
|
84
|
+
[play_player] {bgcolor: "#ececfc"}
|
85
|
+
*+gsis_id {label: "gameid, not null"}
|
86
|
+
*+drive_id {label: "usmallint, not null"}
|
87
|
+
*+play_id {label: "usmallint, not null"}
|
88
|
+
*+player_id {label: "varchar, not null"}
|
89
|
+
team {label: "varchar, not null"}
|
90
|
+
|
91
|
+
[meta] {bgcolor: "#fcecec"}
|
92
|
+
version {label: "smallint, null"}
|
93
|
+
season_type {label: "season_phase, null"}
|
94
|
+
season_year {label: "usmallint, null"}
|
95
|
+
week {label: "usmallint, null"}
|
96
|
+
|
97
|
+
# Relationships
|
98
|
+
|
99
|
+
player *--1 team
|
100
|
+
game *--1 team {label: "home"}
|
101
|
+
game *--1 team {label: "away"}
|
102
|
+
drive *--1 team
|
103
|
+
play *--1 team
|
104
|
+
play_player *--1 team
|
105
|
+
|
106
|
+
game 1--* drive
|
107
|
+
game 1--* play
|
108
|
+
game 1--* play_player
|
109
|
+
|
110
|
+
drive 1--* play
|
111
|
+
drive 1--* play_player
|
112
|
+
|
113
|
+
play 1--* play_player
|
114
|
+
|
115
|
+
player 1--* play_player
|
116
|
+
{% enderd %}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-diagrams
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zhustec
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -99,7 +99,18 @@ files:
|
|
99
99
|
- lib/jekyll-diagrams/util.rb
|
100
100
|
- lib/jekyll-diagrams/version.rb
|
101
101
|
- lib/jekyll-diagrams/wavedrom.rb
|
102
|
+
- test/dummy_site/Gemfile
|
103
|
+
- test/dummy_site/_config.yml
|
104
|
+
- test/dummy_site/_posts/2020-01-01-graphviz-test.md
|
105
|
+
- test/dummy_site/_posts/2020-01-02-blockdiag-test.md
|
106
|
+
- test/dummy_site/_posts/2020-01-03-plantuml-test.md
|
107
|
+
- test/dummy_site/_posts/2020-01-04-mermaid-test.md
|
108
|
+
- test/dummy_site/_posts/2020-01-05-wavedrom-test.md
|
109
|
+
- test/dummy_site/_posts/2020-01-06-smcat-test.md
|
110
|
+
- test/dummy_site/_posts/2020-01-07-erd-test.md
|
111
|
+
- test/dummy_site/index.md
|
102
112
|
- test/test_helper.rb
|
113
|
+
- vendor/mermaid_puppeteer_config.json
|
103
114
|
- vendor/plantuml.1.2020.1.jar
|
104
115
|
homepage: https://github.com/zhustec/jekyll-diagrams
|
105
116
|
licenses:
|
@@ -127,4 +138,14 @@ specification_version: 4
|
|
127
138
|
summary: Jekyll plugins for diagrams support, including Graphviz, Blockdiag, PlantUML
|
128
139
|
and so on.
|
129
140
|
test_files:
|
141
|
+
- test/dummy_site/Gemfile
|
142
|
+
- test/dummy_site/_config.yml
|
143
|
+
- test/dummy_site/_posts/2020-01-01-graphviz-test.md
|
144
|
+
- test/dummy_site/_posts/2020-01-02-blockdiag-test.md
|
145
|
+
- test/dummy_site/_posts/2020-01-03-plantuml-test.md
|
146
|
+
- test/dummy_site/_posts/2020-01-04-mermaid-test.md
|
147
|
+
- test/dummy_site/_posts/2020-01-05-wavedrom-test.md
|
148
|
+
- test/dummy_site/_posts/2020-01-06-smcat-test.md
|
149
|
+
- test/dummy_site/_posts/2020-01-07-erd-test.md
|
150
|
+
- test/dummy_site/index.md
|
130
151
|
- test/test_helper.rb
|