jekyll-diagrams 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Depfu](https://img.shields.io/depfu/zhustec/jekyll-diagrams.svg?style=flat-square)](https://depfu.com/repos/zhustec/jekyll-diagrams)
|
6
6
|
[![license](https://img.shields.io/github/license/zhustec/jekyll-diagrams.svg?style=flat-square)](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
|