jekyll-diagrams 0.7.0 → 0.7.1
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/.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
|