jekyll-diagrams 0.8.0 → 0.9.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/.travis.yml +1 -10
- data/Dockerfile +3 -7
- data/README.md +142 -84
- data/lib/jekyll-diagrams/graphviz.rb +3 -3
- data/lib/jekyll-diagrams/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba2145fe38bb652b970e45b0b4e311d9c56c8950078b0e127bf8d907a5f96061
|
4
|
+
data.tar.gz: 8f020319e7e68c1f47114d1f990efff6a50bda4c7bac076a617c3284ccf38951
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 521daa00f341db66db49086c50febc4c092b0f126a7777104b00d6c1072d1ee5ca6786a1bb32f19a5fa2ccad4b693c8e58986a3798e05cb3e61b4ada710e5dc1
|
7
|
+
data.tar.gz: fd97bc95da594fd38864c05ebf317d4b585a2173e4b76da836e84bc817ce00dc0ecc84dd8b2a26b668f65a533d077b078777938785b862252bfe66025281f7f9
|
data/.travis.yml
CHANGED
@@ -78,13 +78,4 @@ jobs:
|
|
78
78
|
before_install:
|
79
79
|
- pip3 install blockdiag seqdiag actdiag nwdiag syntrax
|
80
80
|
|
81
|
-
script: bundle exec rake 'dummy_site:build[$DIAGRAM]'
|
82
|
-
|
83
|
-
deploy:
|
84
|
-
provider: rubygems
|
85
|
-
api_key:
|
86
|
-
secure: b8mpSmo1IqW0DWhqwbZtrNWS/XIUGdLvtFuvBptdA979lpb9aDFfWaFgHnZ6IahP2djRT1yRx6fg/6cp2ZShC/FdpekeASEUn4KGz+1kNh/rfSYPQV5Cs7nkw9i2/WWmze4al5cS7IhnOr2vYXlGTZZeC6Lb+3eQHtVJYQpG3bGwg9ozyekYC2VWQdzFVAvLsjAGMEi2S5GQobbmfN5FvUZb4dnnl3crI+q0NoDkafpzZBcH8ITTZyttZDU26JIptXM5qRGZGGYSREzCc3frLpoIbAB1Vbz/A4+RF8wecsmBMOPNCPWWMvjtgkII5fHmDF/cXAnbktVzG3ECNIGmv7UPA64Mjgl9WZKZH1rujDievVz9aRryA8jIIBbbfqNZeQ+SwP3401vPLSW7yWWJdkPrFMe9+OpV47azmdTVG0PmIdPhkSOI4s3sR0BAFp6TPgaLEH1zrm3sPfLkkVD5XGfQTlI7KIS4e68qGHC2mO5LGXby8SMMp+5/+A5Pzo0dbtXtOJxNwI+iZEhNJh49Qgwc/Cd0cRbFXGWOBMNDozW95LlrDWw9rdwWE4HjuEWfwRbQGydymp+CskkKne7bz4F27UbHI0ougdekI+TaY5w6UL12rZhwbutxASLH0d+dT2OR+rC7prbJRjcwpxEFt/DwiGsVepgB8Uwge8CPSYI=
|
87
|
-
gem: jekyll-diagrams
|
88
|
-
on:
|
89
|
-
tags: true
|
90
|
-
repo: zhustec/jekyll-diagrams
|
81
|
+
script: bundle exec rake 'dummy_site:build[$DIAGRAM]'
|
data/Dockerfile
CHANGED
@@ -10,16 +10,12 @@ RUN set -eux; \
|
|
10
10
|
RUN set -eux; \
|
11
11
|
gem update -N --system; \
|
12
12
|
gem install -N bundler; \
|
13
|
-
npm install -g --silent mermaid.cli nomnoml state-machine-cat
|
13
|
+
npm install -g --silent mermaid.cli nomnoml state-machine-cat; \
|
14
|
+
npm install -g vega-cli vega-lite wavedrom-cli; \
|
14
15
|
pip3 install blockdiag seqdiag actdiag nwdiag syntrax
|
15
16
|
|
16
17
|
WORKDIR /opt/jekyll-diagrams
|
17
18
|
|
18
19
|
COPY . .
|
19
20
|
|
20
|
-
|
21
|
-
# apt-get install -y --no-install-recommends cabal-install; \
|
22
|
-
# cabal update; \
|
23
|
-
# cabal install erd
|
24
|
-
|
25
|
-
# RUN bundle install
|
21
|
+
RUN bundle install
|
data/README.md
CHANGED
@@ -5,7 +5,9 @@
|
|
5
5
|
[](https://depfu.com/repos/zhustec/jekyll-diagrams)
|
6
6
|
[](https://github.com/zhustec/jekyll-diagrams/blob/master/LICENSE)
|
7
7
|
|
8
|
-
Jekyll Diagrams is a jekyll plugins for creating
|
8
|
+
Jekyll Diagrams is a jekyll plugins for creating diagrams, currently support for [**Blockdiag**](http://blockdiag.com/en/), [**Erd**](https://github.com/BurntSushi/erd), [**GraphViz**](http://graphviz.org/), [**Mermaid**](https://mermaid-js.github.io/mermaid/), [**Nomnoml**](http://nomnoml.com/), [**PlantUML**](https://plantuml.com/), [**Svgbob**](https://ivanceras.github.io/svgbob-editor/), [**Syntrax**](https://kevinpt.github.io/syntrax/), [**Vega**](https://vega.github.io/vega/), [**Vega-Lite**](https://vega.github.io/vega-lite/) and [**WaveDrom**](https://wavedrom.com/). More diagrams support will be added in future versions.
|
9
|
+
|
10
|
+
**NOTICE:** This plugin render **SVG** format image and directly **embed into html file**, so you don't need to worry about where to store the image. But, please feel free to tell me if you **unlikely** want other image format.
|
9
11
|
|
10
12
|
- [Installation](#installation)
|
11
13
|
- [Configuration](#configuration)
|
@@ -49,7 +51,7 @@ $ bundle install
|
|
49
51
|
|
50
52
|
## Configuration
|
51
53
|
|
52
|
-
All configurations are
|
54
|
+
All configurations are under `jekyll-diagrams`, e.g:
|
53
55
|
|
54
56
|
```yaml
|
55
57
|
jekyll-diagrams:
|
@@ -57,6 +59,8 @@ jekyll-diagrams:
|
|
57
59
|
# configurations for graphviz
|
58
60
|
blockdiag:
|
59
61
|
# configurations for blockdiag
|
62
|
+
syntrax:
|
63
|
+
# configurations for syntrax
|
60
64
|
# and so on
|
61
65
|
```
|
62
66
|
|
@@ -64,24 +68,23 @@ jekyll-diagrams:
|
|
64
68
|
|
65
69
|
### Blockdiag
|
66
70
|
|
67
|
-
Blockdiag contains:
|
68
|
-
|
69
|
-
* `blockdiag` : generates block diagram image
|
70
|
-
* `seqdiag` : generates sequence diagram image
|
71
|
-
* `actdiag` : generates activity diagram image
|
72
|
-
* `nwdiag` : generates network diagram image
|
73
|
-
* `rackdiag` : generates rack structure diagram
|
74
|
-
* `packetdiag` : generates packet header diagram
|
75
|
-
|
76
71
|
#### Prerequisites
|
77
72
|
|
78
|
-
|
79
|
-
- Set path properly, make sure your system can find it
|
73
|
+
Install it.
|
80
74
|
|
81
75
|
```bash
|
82
|
-
$
|
76
|
+
$ pip3 install blockdiag seqdiag actiag nwdiag
|
83
77
|
```
|
84
78
|
|
79
|
+
Then you can use following tags:
|
80
|
+
|
81
|
+
* `blockdiag`
|
82
|
+
* `seqdiag`
|
83
|
+
* `actdiag`
|
84
|
+
* `nwdiag`
|
85
|
+
* `rackdiag`
|
86
|
+
* `packetdiag`
|
87
|
+
|
85
88
|
#### Examples
|
86
89
|
|
87
90
|
```text
|
@@ -110,23 +113,24 @@ seqdiag {
|
|
110
113
|
|
111
114
|
#### Configurations
|
112
115
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
fontmap: your_custom_font
|
120
|
-
size: 320x400
|
121
|
-
```
|
116
|
+
| Config | Default | Description |
|
117
|
+
| ----------- | ----------- | --------------------------------------- |
|
118
|
+
| `antialias` | unspecified | Pass diagram image to anti-alias filter |
|
119
|
+
| `font` | unspecified | use FONT to draw diagram |
|
120
|
+
| `fontmap` | unspecified | use FONTMAP file to draw diagram |
|
121
|
+
| `size` | unspecified | Size of diagram (ex. 320x240) |
|
122
122
|
|
123
123
|
### Erd
|
124
124
|
|
125
125
|
#### Prerequisites
|
126
126
|
|
127
127
|
- Install Graphviz
|
128
|
-
-
|
129
|
-
|
128
|
+
- Install Erd
|
129
|
+
|
130
|
+
```bash
|
131
|
+
$ sudo apt install graphviz cabal-install
|
132
|
+
$ cabal update && cabal install erd
|
133
|
+
```
|
130
134
|
|
131
135
|
#### Examples
|
132
136
|
|
@@ -151,18 +155,17 @@ Person *--1 `Birth Place`
|
|
151
155
|
|
152
156
|
#### Configurations
|
153
157
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
```
|
158
|
+
| Config | Default | Description |
|
159
|
+
| ------------ | ----------- | ------------------------------------------------------------------------------------------------------- |
|
160
|
+
| `config` | unspecified | Configuration file |
|
161
|
+
| `edge` | unspecified | Select one type of edge: compound, noedge, ortho, poly, spline |
|
162
|
+
| `dot-entity` | unspecified | When set, output will consist of regular dot tables instead of HTML tables. Formatting will be disabled |
|
160
163
|
|
161
164
|
### Graphviz
|
162
165
|
|
163
166
|
#### Prerequisites
|
164
167
|
|
165
|
-
|
168
|
+
Install it.
|
166
169
|
|
167
170
|
#### Examples
|
168
171
|
|
@@ -185,47 +188,43 @@ digraph {
|
|
185
188
|
|
186
189
|
#### Configurations
|
187
190
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
- color=blue
|
195
|
-
- fillcolor=red
|
196
|
-
edge_attribute:
|
197
|
-
color: red
|
198
|
-
fillcolor: blue
|
199
|
-
```
|
191
|
+
| Config | Default | Description |
|
192
|
+
| ------------------ | ----------- | --------------------------- |
|
193
|
+
| `default_layout` | dot | Set default layout engine |
|
194
|
+
| `graph_attributes` | unspecified | Set default graph attribute |
|
195
|
+
| `node_attributes` | unspecified | Set default node attribute |
|
196
|
+
| `edge_attributes` | unspecified | Set default edge attribute |
|
200
197
|
|
201
|
-
|
202
|
-
- `graph/node/edge_attribute`: Default graph/node/edge attribute, can be String(when just one attribute), Array or Hash.
|
198
|
+
**NOTICE:** attributes can be `String`(when just one attribute), `Array` or `Hash`.
|
203
199
|
|
204
200
|
### Mermaid
|
205
201
|
|
206
202
|
#### Prerequisites
|
207
203
|
|
208
|
-
|
209
|
-
- Set path properly, make sure your system can find it
|
204
|
+
Install `mermaid.cli`.
|
210
205
|
|
211
|
-
|
212
|
-
|
213
|
-
```yaml
|
214
|
-
jekyll-diagrams:
|
215
|
-
mermaid:
|
216
|
-
theme: default,
|
217
|
-
width: 800,
|
218
|
-
height: 600,
|
219
|
-
backgroundColor: white
|
206
|
+
```bash
|
207
|
+
$ npm install -g mermaid.cli
|
220
208
|
```
|
221
209
|
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
210
|
+
#### Configurations
|
211
|
+
|
212
|
+
| Config | Default | Description |
|
213
|
+
| ----------------- | ------- | ------------------------------------------------------------- |
|
214
|
+
| `theme` | default | Theme of the chart, could be default, forest, dark or neutral |
|
215
|
+
| `width` | 800 | Width of the page |
|
216
|
+
| `height` | 600 | Height of the page |
|
217
|
+
| `backgroundColor` | white | Background color. Example: transparent, red, '#F0F0F0' |
|
226
218
|
|
227
219
|
### Nomnoml
|
228
220
|
|
221
|
+
#### Prerequisites
|
222
|
+
|
223
|
+
Install it.
|
224
|
+
|
225
|
+
```bash
|
226
|
+
$ npm install -g nomnoml
|
227
|
+
```
|
229
228
|
#### Examples
|
230
229
|
|
231
230
|
```text
|
@@ -257,7 +256,11 @@ jekyll-diagrams:
|
|
257
256
|
|
258
257
|
#### Prerequisites
|
259
258
|
|
260
|
-
|
259
|
+
Install java runtime.
|
260
|
+
|
261
|
+
```bash
|
262
|
+
$ sudo apt install default-jre
|
263
|
+
```
|
261
264
|
|
262
265
|
#### Examples
|
263
266
|
|
@@ -278,9 +281,11 @@ Car -- Person : < owns
|
|
278
281
|
|
279
282
|
#### Prerequisites
|
280
283
|
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
+
Install it.
|
285
|
+
|
286
|
+
```bash
|
287
|
+
$ npm install -g state-machine-cat
|
288
|
+
```
|
284
289
|
|
285
290
|
#### Examples
|
286
291
|
|
@@ -304,26 +309,44 @@ initial => "tape player off";
|
|
304
309
|
|
305
310
|
#### Configuration
|
306
311
|
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
312
|
+
| Config | Default | Description |
|
313
|
+
| ------------ | ---------- | ----------------------------------------------------------------------------------- |
|
314
|
+
| `input-type` | `smcat` | Input type. `smcat|scxml|json` |
|
315
|
+
| `engine` | `dot` | Layout engine to use. `dot|circo|fdp|neato|osage|twopi` |
|
316
|
+
| `direction` | `top-down` | Direction of the state machine diagram. `top-down|bottom-top|left-right|right-left` |
|
317
|
+
|
318
|
+
### Svgbob
|
319
|
+
|
320
|
+
#### Prerequisites
|
321
|
+
|
322
|
+
- Install `cargo`
|
323
|
+
- Install `svgbob_cli`
|
324
|
+
|
325
|
+
```bash
|
326
|
+
$ sudo apt install cargo
|
327
|
+
$ cargo install svgbob_cli
|
313
328
|
```
|
314
329
|
|
315
|
-
|
316
|
-
- `engine`: `dot|circo|fdp|neato|osage|twopi` (Default: `dot`)
|
317
|
-
- `direction`: `top-down|bottom-top|left-right|right-left` (Default: `top-down`)
|
330
|
+
#### Configuration
|
318
331
|
|
319
|
-
|
332
|
+
| Config | Default | Description |
|
333
|
+
| -------------- | ------- | ---------------------------------------------------------- |
|
334
|
+
| `font-family` | arial | Font |
|
335
|
+
| `font-size` | 12 | Font size |
|
336
|
+
| `scale` | 1 | Scale the entire svg (dimensions, font size, stroke width) |
|
337
|
+
| `stroke-width` | 2 | stroke width for all lines |
|
320
338
|
|
321
339
|
### Syntrax
|
322
340
|
|
323
341
|
#### Prerequisites
|
324
342
|
|
325
|
-
-
|
326
|
-
-
|
343
|
+
- Install Pango, Cairo and PangoCairo
|
344
|
+
- Install `syntrax`
|
345
|
+
|
346
|
+
```bash
|
347
|
+
$ sudo apt install libpango1.0-dev python3-cairo python3-gi
|
348
|
+
$ pip3 install syntrax
|
349
|
+
```
|
327
350
|
|
328
351
|
#### Examples
|
329
352
|
|
@@ -340,18 +363,53 @@ indentstack(10,
|
|
340
363
|
|
341
364
|
#### Configurations
|
342
365
|
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
transparent: 'Transparent background'
|
349
|
-
```
|
366
|
+
| Config | Default | Description |
|
367
|
+
| ------------- | ----------- | ---------------------- |
|
368
|
+
| `scale` | 1 | Scale image |
|
369
|
+
| `style` | unspecified | Style config file |
|
370
|
+
| `transparent` | false | Transparent background |
|
350
371
|
|
351
372
|
### Vega
|
352
373
|
|
374
|
+
#### Prerequisites
|
375
|
+
|
376
|
+
Install `vega-cli` and `vega-lite`.
|
377
|
+
|
378
|
+
```bash
|
379
|
+
$ npm install -g vega-cli vega-lite
|
380
|
+
```
|
381
|
+
|
382
|
+
The you can use `vega` and `vegalite` tag.
|
383
|
+
|
384
|
+
#### Configurations
|
385
|
+
|
386
|
+
| Config | Default | Description |
|
387
|
+
| ------- | ------- | ------------------- |
|
388
|
+
| `scale` | 1 | Scale image[Number] |
|
389
|
+
|
353
390
|
### Wavedrom
|
354
391
|
|
392
|
+
#### Prerequisites
|
393
|
+
|
394
|
+
Install `wavedrom-cli`.
|
395
|
+
|
396
|
+
```bash
|
397
|
+
$ npm install -g wavedrom-cli
|
398
|
+
```
|
399
|
+
|
400
|
+
#### Examples
|
401
|
+
|
402
|
+
```text
|
403
|
+
{% wavedrom %}
|
404
|
+
{signal: [
|
405
|
+
{name: 'clk', wave: 'p.....|...'},
|
406
|
+
{name: 'dat', wave: 'x.345x|=.x', data: ['head', 'body', 'tail', 'data']},
|
407
|
+
{name: 'req', wave: '0.1..0|1.0'},
|
408
|
+
{name: 'ack', wave: '1.....|01.'}
|
409
|
+
]}
|
410
|
+
{% endwavedrom %}
|
411
|
+
```
|
412
|
+
|
355
413
|
## Contributing
|
356
414
|
|
357
415
|
Bug reports and pull requests are welcome on GitHub at https://github.com/zhustec/jekyll-diagrams. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
@@ -3,9 +3,9 @@ module Jekyll
|
|
3
3
|
class GraphvizBlock < Block
|
4
4
|
CONFIGRATIONS = {
|
5
5
|
'K' => 'default_layout',
|
6
|
-
'G' => '
|
7
|
-
'N' => '
|
8
|
-
'E' => '
|
6
|
+
'G' => 'graph_attributes',
|
7
|
+
'N' => 'node_attributes',
|
8
|
+
'E' => 'edge_attributes'
|
9
9
|
}.freeze
|
10
10
|
|
11
11
|
def render_svg(code, config)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-diagrams
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zhustec
|
@@ -139,7 +139,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
requirements: []
|
142
|
-
|
142
|
+
rubyforge_project:
|
143
|
+
rubygems_version: 2.7.6.2
|
143
144
|
signing_key:
|
144
145
|
specification_version: 4
|
145
146
|
summary: Jekyll plugins for diagrams support, including Graphviz, Blockdiag, PlantUML
|