asciidoctor-diagram 2.0.5 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +17 -2
  3. data/README.adoc +25 -516
  4. data/Rakefile +1 -1
  5. data/docs/antora.yml +3 -0
  6. data/{images → docs/modules/ROOT/images}/asciidoctor-diagram-classes.png +0 -0
  7. data/docs/modules/ROOT/images/asciidoctor-diagram-process.png +0 -0
  8. data/docs/modules/ROOT/pages/index.adoc +21 -0
  9. data/docs/modules/ROOT/partials/advanced.adoc +303 -0
  10. data/docs/modules/ROOT/partials/create_diagram.adoc +131 -0
  11. data/docs/modules/ROOT/partials/generate.adoc +15 -0
  12. data/docs/modules/ROOT/partials/installation.adoc +19 -0
  13. data/docs/modules/ROOT/partials/uris.adoc +38 -0
  14. data/examples/features.adoc +1 -1
  15. data/lib/asciidoctor-diagram/diagram_processor.rb +2 -1
  16. data/lib/asciidoctor-diagram/ditaa/converter.rb +14 -5
  17. data/lib/asciidoctor-diagram/ditaa/ditaa-1.3.17.jar +0 -0
  18. data/lib/asciidoctor-diagram/http/converter.rb +1 -7
  19. data/lib/asciidoctor-diagram/lilypond/converter.rb +11 -1
  20. data/lib/asciidoctor-diagram/meme/converter.rb +15 -9
  21. data/lib/asciidoctor-diagram/mermaid/converter.rb +27 -10
  22. data/lib/asciidoctor-diagram/pikchr/converter.rb +8 -1
  23. data/lib/asciidoctor-diagram/plantuml/converter.rb +15 -9
  24. data/lib/asciidoctor-diagram/plantuml/plantuml-1.3.17.jar +0 -0
  25. data/lib/asciidoctor-diagram/svgbob/converter.rb +4 -0
  26. data/lib/asciidoctor-diagram/util/cli.rb +16 -1
  27. data/lib/asciidoctor-diagram/util/cli_generator.rb +4 -2
  28. data/lib/asciidoctor-diagram/util/gif.rb +1 -1
  29. data/lib/asciidoctor-diagram/util/java.rb +5 -3
  30. data/lib/asciidoctor-diagram/util/java_jruby.rb +4 -1
  31. data/lib/asciidoctor-diagram/util/java_socket.rb +10 -1
  32. data/lib/asciidoctor-diagram/util/pdf.rb +1 -1
  33. data/lib/asciidoctor-diagram/util/png.rb +1 -1
  34. data/lib/asciidoctor-diagram/util/server-1.3.17.jar +0 -0
  35. data/lib/asciidoctor-diagram/util/svg.rb +25 -4
  36. data/lib/asciidoctor-diagram/version.rb +1 -1
  37. data/spec/a2s_spec.rb +3 -3
  38. data/spec/blockdiag_spec.rb +3 -3
  39. data/spec/bytefield_spec.rb +3 -3
  40. data/spec/ditaa_spec.rb +1 -1
  41. data/spec/dpic_spec.rb +3 -3
  42. data/spec/erd_spec.rb +5 -5
  43. data/spec/lilypond_spec.rb +3 -3
  44. data/spec/mermaid_spec.rb +37 -0
  45. data/spec/pikchr_spec.rb +21 -3
  46. data/spec/shaape_spec.rb +3 -3
  47. data/spec/svgbob_spec.rb +3 -3
  48. data/spec/syntrax_spec.rb +3 -3
  49. data/spec/test_helper.rb +3 -7
  50. data/spec/tikz_spec.rb +3 -3
  51. metadata +57 -13
  52. data/README_zh-CN.adoc +0 -336
  53. data/images/asciidoctor-diagram-process.png +0 -0
  54. data/lib/batik-all-1.10.jar +0 -0
  55. data/lib/ditaa-1.3.15.jar +0 -0
  56. data/lib/ditaamini-0.12.jar +0 -0
  57. data/lib/jlatexmath-minimal-1.0.5.jar +0 -0
  58. data/lib/plantuml-1.3.15.jar +0 -0
  59. data/lib/plantuml.jar +0 -0
  60. data/lib/server-1.3.15.jar +0 -0
@@ -1,336 +0,0 @@
1
- = Asciidoctor Diagram
2
- Pepijn Van_Eeckhoudt <https://github.com/pepijnve[@pepijnve]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
3
- :translators: D瓜哥
4
- ifdef::env-github[Translated by: {translators}]
5
- :description: Asciidoctor 的 扩展 Asciidoctor Diagram 的说明文档。
6
- ifdef::env-github[:toc: macro]
7
- ifndef::env-site[:toc: preamble]
8
- ifndef::imagesdir[:imagesdir: images]
9
- :icons: font
10
- :source-highlighter: coderay
11
- :source-language: asciidoc
12
- :table-caption!:
13
- :example-caption!:
14
- :figure-caption!:
15
- :check: icon:check[]
16
- ifdef::env-github[:check: :ballot_box_with_check:]
17
- ifndef::env-site[:status:]
18
- :uri-actdiag: http://blockdiag.com/en/actdiag/index.html
19
- :uri-asciidoctor-api: http://asciidoctor.org/docs/user-manual/#api
20
- :uri-asciidoctor-extensions: http://asciidoctor.org/docs/user-manual/#extension-points
21
- :uri-blockdiag: http://blockdiag.com
22
- :uri-ditaa: http://ditaa.sourceforge.net/
23
- :uri-dot: http://www.graphviz.org/content/dot-language
24
- :uri-erd: https://github.com/BurntSushi/erd
25
- :uri-graphviz: http://www.graphviz.org
26
- :uri-imagemagick: http://www.imagemagick.org
27
- :uri-java: http://java.sun.com
28
- :uri-mermaid: http://knsv.github.io/mermaid/
29
- :uri-nwdiag: http://blockdiag.com/en/nwdiag/index.html
30
- :uri-packetdiag: http://blockdiag.com/en/nwdiag/index.html
31
- :uri-phantomjs: http://phantomjs.org
32
- :uri-plantuml: http://plantuml.sourceforge.net
33
- :uri-py-plantuml: https://code.google.com/p/asciidoc-plantuml/
34
- :uri-rackdiag: http://blockdiag.com/en/nwdiag/index.html
35
- :uri-seqdiag: http://blockdiag.com/en/seqdiag/index.html
36
- :uri-shaape: https://github.com/christiangoltz/shaape
37
- :uri-wavedrom: http://wavedrom.com
38
- :uri-wavedromeditor: https://github.com/wavedrom/wavedrom.github.io/releases
39
- :uri-wavedromcli: https://github.com/wavedrom/cli
40
-
41
- Asciidoctor Diagram 是一组 Asciidoctor 扩展,它可以让你向 AsciiDoc 文档中添加图表,而这些图表则是使用纯文本描述的。
42
-
43
- 扩展支持 BlockDiag (BlockDiag、SeqDiag、ActDiag、NwDiag), Ditaa、GraphViz、Mermaid、PlantUML、Shaape 和 WaveDrom 语法。
44
-
45
- 每个扩展都是运行图表处理器,然后根据输入文本来生成一个 SVG、PNG 或 TXT 文件。
46
- 生成的文件随后插入到你处理过的文档中。
47
-
48
- Asciidoctor Diagram 是受 {uri-py-plantuml}[AsciiDoc PlantUML filter] 启发而产生的项目。
49
-
50
- 该文档有如下语言的翻译版:
51
-
52
- * link:README.adoc[English]
53
-
54
- TIP: 本文档是 link:README.adoc[README] 的翻译版。如果发现有什么不一致或者错误的地方,请以原文档为准。
55
-
56
- ifdef::status[]
57
- [discrete]
58
- [[status]]
59
- == 状态
60
-
61
- image:https://travis-ci.org/asciidoctor/asciidoctor-diagram.svg?branch=master["Linux Build Status", link="https://travis-ci.org/asciidoctor/asciidoctor-diagram"]
62
- image:https://ci.appveyor.com/api/projects/status/4r4gkk5gy3igs6nh/branch/master?svg=true["Windows Build Status", link="https://ci.appveyor.com/project/asciidoctor/asciidoctor-diagram"]
63
- image:https://img.shields.io/gem/v/asciidoctor-diagram.svg?label=gem%20version[Gem Version, link=https://rubygems.org/gems/asciidoctor-diagram]
64
- endif::status[]
65
-
66
- ifeval::["{toc-placement}" == "macro"]
67
- [discrete]
68
- == Contents
69
-
70
- toc::[title={blank}]
71
- endif::[]
72
-
73
- [[installation]]
74
- == 安装
75
-
76
- Asciidoctor Diagram 是一个 RubyGem ,它可以使用 `gem` 或 `bundle` 命令来安装。
77
-
78
- 你可以通过在命令行中输入 `gem install` 来安装 Asciidoctor Diagram。
79
-
80
- $ gem install asciidoctor-diagram
81
-
82
- 或者,先在项目的 [.path]_Gemfile_ 文件中添加如下内容:
83
-
84
- .Gemfile
85
- [source,ruby]
86
- ----
87
- gem 'asciidoctor-diagram', '~> 1.4.0'
88
- ----
89
-
90
- 然后在命令中执行 `bundle` 命令。
91
-
92
- $ bundle
93
-
94
- [[creating-a-diagram]]
95
- == 创建图表
96
-
97
- 一个图表可以直接书写在文档内部的文本块中,这个文本块还可以接受几个属性。
98
-
99
- .图表骨架
100
- ----
101
- [diagram-type, generated-file-name, generated-image-format] // <1> <2> <3>
102
- .... // <4>
103
- 符合相应语法的图表
104
- ....
105
- ----
106
- <1> 属性列表中第一个位置的属性指明所使用的图表类型。
107
- <2> 第二个位置的属性指明生成文件的文件名。如果没有指明,则默认使用原文件名来命名新生成的文件名。
108
- <3> 第三个位置的属性指明生成图表的格式,类似三个字符的文件扩展名。
109
- <4> 将属性列表直接放在文本块分隔符( +....+ )上面。你也可以使用开放块( `--` )作为另一个选择。
110
-
111
- 图表类型以及可用的输出格式如下:
112
-
113
- [cols=">,4*^",options="header"]
114
- |===
115
- |图表类型 |gif |png |svg |txt
116
- |{uri-actdiag}[actdiag] | |{check}|{check}|
117
- |{uri-blockdiag}[blockdiag] | |{check}|{check}|
118
- |{uri-ditaa}[ditaa] | |{check}| |
119
- |{uri-erd}[erd] | |{check}|{check}|
120
- |{uri-dot}[graphviz] | |{check}|{check}|
121
- |<<meme,meme>> |{check}|{check}| |
122
- |{uri-mermaid}[mermaid] | |{check}|{check}|
123
- |{uri-nwdiag}[nwdiag] | |{check}|{check}|
124
- |{uri-packetdiag}[packetdiag]| |{check}|{check}|
125
- |{uri-plantuml}[plantuml] | |{check}|{check}|{check}
126
- |{uri-rackdiag}[rackdiag] | |{check}|{check}|
127
- |{uri-seqdiag}[seqdiag] | |{check}|{check}|
128
- |{uri-shaape}[shaape] | |{check}|{check}|
129
- |{uri-wavedrom}[wavedrom] | |{check}|{check}|
130
- |===
131
-
132
- 下面的例子演示一个直接书写在 AsciiDoc 文档中的基本 ditaa 块的结构。
133
-
134
- .基本 ditaa 块
135
- [source]
136
- ----
137
- [ditaa]
138
- ....
139
- +-------------+
140
- | Asciidoctor |-------+
141
- | diagram | |
142
- +-------------+ | PNG out
143
- ^ |
144
- | ditaa in |
145
- | v
146
- +--------+ +--------+----+ /---------------\
147
- | | --+ Asciidoctor +--> | |
148
- | Text | +-------------+ | Beautiful |
149
- |Document| | !magic! | | Output |
150
- | {d}| | | | |
151
- +---+----+ +-------------+ \---------------/
152
- : ^
153
- | Lots of work |
154
- +-----------------------------------+
155
- ....
156
- ----
157
-
158
- 上面的 ditaa 块生成的图表如下图所示:
159
-
160
- .渲染 ditaa 图表
161
- image::asciidoctor-diagram-process.png[Asciidoctor Diagram 处理图表,650,319]
162
-
163
- 上面渲染后的图表得到的文件名为 `58372f7d2ceffae9e91fd0a7cbb080b6.png`。
164
- 这串长数字是源码的校验和,由 asciidoctor-diagram 计算所得。
165
- 如果想给所生成的文件一个更具有意义的名字,请在 `target` 属性中填写。
166
-
167
- 这可以很容易通过指明第二个位置的属性或者一个命名属性来指明文件名。
168
- 下面的两个例子将生成文件名为 `ditaa-diagram.png` 的文件。
169
-
170
- ....
171
- [ditaa, "ditaa-diagram"]
172
- ----
173
- <snip>
174
- ----
175
-
176
- [ditaa, target="ditaa-diagram"]
177
- ----
178
- <snip>
179
- ----
180
- ....
181
-
182
- 下面的例子演示一个直接书写在 AsciiDoc 文档中的基本 PlantUML 块的结构。
183
-
184
- .PlantUML 图表语法
185
- [source]
186
- ----
187
- [plantuml, diagram-classes, png] // <1> <2> <3>
188
- ....
189
- class BlockProcessor
190
- class DiagramBlock
191
- class DitaaBlock
192
- class PlantUmlBlock
193
-
194
- BlockProcessor <|-- DiagramBlock
195
- DiagramBlock <|-- DitaaBlock
196
- DiagramBlock <|-- PlantUmlBlock
197
- ....
198
- ----
199
- <1> 这个图表是使用 PlantUML 书写的,所以第一个位置的属性应该被指明为 `plantuml` 图表类型。
200
- <2> 生成的图表文件的名字被书写在第二个位置的属性。
201
- <3> 生成的文件格式放置在第三个属性位置。
202
-
203
- .渲染后的 PlantUML 图表
204
- image::asciidoctor-diagram-classes.png[Asciidoctor Diagram 类图]
205
-
206
- [[generating-a-diagram-from-a-terminal]]
207
- == 从终端中生成图表
208
-
209
- 你可以使用 `-r` 标识在终端中加载 Asciidoctor Diagram。
210
-
211
- $ asciidoctor -r asciidoctor-diagram sample.adoc
212
-
213
- 你也可以在其他的转化器中使用 Asciidoctor Diagram,例如 Asciidoctor EPUB。
214
- Asciidoctor-epub3 也是通过 `-r` 标识来加载。
215
-
216
- $ asciidoctor -r asciidoctor-diagram -r asciidoctor-epub3 -b epub3 sample.adoc
217
-
218
- 或者,你也可以通过 `asciidoctor-epub3` 命令来调用 Asciidoctor 和 EPUB 转化器。
219
- 这个命令隐式地设置 `-r` 和 `-b` 标识用于 EPUB3 输出。
220
-
221
- $ asciidoctor-epub3 -r asciidoctor-diagram sample.adoc
222
-
223
- [[advanced-usage]]
224
- == 高级用法
225
-
226
- [[enabling-extensions]]
227
- === 启用扩展
228
-
229
- 在你的程序中,你可以加载并注册整个图表扩展集合。
230
-
231
- [source,ruby]
232
- ----
233
- require 'asciidoctor-diagram'
234
- ----
235
-
236
- 或者,加载并注册每一个单独的扩展。
237
-
238
- [source,ruby]
239
- ----
240
- require 'asciidoctor-diagram/<extension_name>'
241
- ----
242
-
243
- `<extension_name>` 可以是 `blockdiag`、`ditaa`、`erd`、`graphviz`、`meme`、`mermaid`、`plantuml`、`shaape` 或 `wavedrom`。
244
-
245
- 加载一个或多个这些文件将为所有需要处理的文档自动注册这些扩展。
246
-
247
- 如果你需要更细粒度控制扩展的可用性, 则可以使用 `asciidoctor-diagram/<extension_name>/extension`。
248
- 它将加载扩展但是不会向 Asciidoctor 扩展注册表中注册。
249
- 你可以在恰当的时机使用 `Asciidoctor::Extensions` API 来手动注册扩展。
250
-
251
- 本文档使用 ditaa 图表作为示例,演示了 asciidoctor-diagram 块的一系列特性。
252
-
253
- [[diagram-block-macro]]
254
- === 图表块宏
255
-
256
- 图表扩展还可以以块宏的形式来使用。
257
-
258
- .图表块宏的骨架
259
- ----
260
- 宏名::原文件名[生成的文件扩展名] // <1> <2> <3>
261
- ----
262
- <1> 宏名和以块形式的块名相同。
263
- <2> 原文件名指明包含图表源代码的外部文件。
264
- <3> 第一个可选的属性指明用于生成图表的文件扩展名(也就是 `format` )
265
-
266
- 源文件的名字是相对正在处理的文件的位置的相对路径。
267
- // When the source file name is a relative path it is resolved with respect to the location of the document being processed. 怎么翻译?
268
-
269
- [[image-output-location]]
270
- === 图表输出位置
271
-
272
- 当 Asciidoctor Diagram 将图片写入磁盘时,它将根据如下选项依次来决定将文件写入到何处。
273
-
274
- . `\{imagesoutdir\}` 如果 `imagesoutdir` 属性被指明
275
- . `\{outdir\}/\{imagesdir\}` 如果 `outdir` 属性被指明
276
- . `\{to_dir\}/\{imagesdir\}` 如果 `to_dir` 属性被指明
277
- . `\{base_dir\}/\{imagesdir\}`
278
-
279
- [[specifying-diagram-generator-paths]]
280
- === 指定图表输出路径
281
-
282
- Asciidoctor Diagram 依赖外部工具来生成图片。
283
- 大多数情况下,它会自动从 `PATH` 环境变量指定的每一个路径中查找定位有特定可执行的工具。
284
- // In most cases it will locate these tools automatically for you by looking for specific executables in each directory in the `PATH` environment variable.
285
- 如果你安装的工具不在 `PATH` 指明的路径中,你可以通过手动指明相关属性来覆盖工具的定位位置。
286
- 下面的表格指明每一个图表类型必须依赖的工具,工具被安装的位置和用于覆盖默认位置的文档属性。
287
-
288
- [cols=">,2*<",options="header"]
289
- |===
290
- |Diagram Type |Tool |Attribute
291
- |actdiag |{uri-actdiag}[ActDiag] |`actdiag`
292
- |blockdiag |{uri-blockdiag}[BlockDiag] |`blockdiag`
293
- |ditaa |{uri-java}[Java] |`java`
294
- |erd |{uri-erd}[Erd] |`erd`
295
- |graphviz |{uri-graphviz}[GraphViz] |`dot` 或 `graphvizdot`
296
- |meme |{uri-imagemagick}[ImageMagick] |`convert` 和 `identify`
297
- |mermaid |{uri-mermaid}[Mermaid] |`mermaid`
298
- |nwdiag |{uri-nwdiag}[NwDiag] |`nwdiag`
299
- |packetdiag |{uri-nwdiag}[NwDiag] |`packetdiag`
300
- |plantuml |{uri-java}[Java] |`java`
301
- |rackdiag |{uri-nwdiag}[NwDiag] |`rackdiag`
302
- |seqdiag |{uri-seqdiag}[SeqDiag] |`seqdiag`
303
- |shaape |{uri-shaape}[Shaape] |`shaape`
304
- .2+|wavedrom |{uri-wavedromeditor}[WaveDrom Editor] |`wavedrom`
305
- |{uri-wavedromcli}[WaveDrom CLI] 和 {uri-phantomjs}[PhantomJS] |`wavedrom` 和 `phantomjs`
306
- |===
307
-
308
- 举例说明一下,假如你将 `actdiag` 安装在 `/home/me/actdiag/bin` 下,这路径不在 `PATH` 范围内,则你可以在命令行中指明它的位置:
309
-
310
- $ asciidoctor -a actdiag=/home/me/actdiag/bin/actdiag -r asciidoctor-diagram sample.adoc
311
-
312
- [[meme]]
313
- === Meme 扩展
314
-
315
- meme 扩展提供了一个基本的 '`Advice Animal`' 风格的图片生成器。
316
- 使用一个例子就能非常方便地解释它的用法。
317
-
318
- ----
319
- meme::yunoguy.jpg[Doc writers,Y U NO \\ AsciiDoc]
320
- ----
321
-
322
- 宏块的目的是告诉扩展使用哪些图像作为背景。
323
- // The target of the block macro tells the extension which image to use as background.
324
- 头两个位置的属性是 `top` 和 `bottom`,用于标题的顶部和底部。
325
- 出现在 `\\` 周围的空白符将被解释为换行符。
326
-
327
- 块宏海支持如下的命名熟悉:
328
-
329
- . `fillColor`:文字的填充颜色。默认为 `white`。
330
- . `strokeColor`:文本的轮廓颜色。默认为 `black`。
331
- . `strokeWidth`:文本轮廓的宽度。默认为 `2`。
332
- . `font`: 文本的字体外观。默认为 `Impact`。
333
- . `options`:逗号分隔的标识列表,用于修改图片的渲染。目前只支持 `noupcase`, 它可以禁用大写的标签。
334
- // . `options`: a comma separate list of flags that modify the image rendering. Currently only `noupcase` is supported which disable upper casing the labels.
335
- . `target` (第三位可选参数):生成文件的文件名。如果没有指定,则将会使用自动生成的文件名。
336
- . `format` (第四位可选参数):生成图片的格式。meme 扩展支持 `png` 和 `gif`。、
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file