adoctra переносит asciidoctor-diagram 3.2.1: все 58 типов диаграмм в виде блоков, блочных и inline-макросов с теми же атрибутами.
Включение
Диаграммы включаются той же опцией, что и в Asciidoctor:
adoctra -r asciidoctor-diagram document.adoc
Диаграммы запускают внешние программы и отправляют исходный текст на сервер, поэтому включаются только явно.
[graphviz, flow, svg]
----
digraph { a -> b }
----
plantuml::diagrams/sequence.puml[svg]
Внутри текста работает inline-форма graphviz:icon.dot[svg].
Поддерживаемые типы
a2s, actdiag, blockdiag, bpmn, bytefield, d2, dbml, diagrams, ditaa, dpic, erd, gnuplot, goat, graphviz, graphviz_py, lilypond, meme, mermaid, msc, nomnoml, nwdiag, oxdraw, packetdiag, penrose, pikchr, pintora, plantuml, rackdiag, salt, seqdiag, shaape, smcat, structurizr, svgbob, symbolator, syntrax, tape (vhs), tikz, umlet, vega, vegalite, wavedrom и 16 типов штрихкодов: bookland, codabar, code25, code25iata, code25interleaved, code39, code93, code128, code128a, code128b, code128c, ean8, ean13, gs1_128, qrcode, upca.
Локальные инструменты
Каждый тип запускает свою программу, которая должна быть установлена:
| Тип | Инструмент |
|---|---|
Graphviz |
|
PlantUML |
|
Mermaid |
mermaid-cli |
D2, svgbob, pikchr, … |
программа с тем же именем |
ditaa, JSyntrax, Structurizr |
JAR-файлы из |
Штрихкоды, QR-коды |
ничего: встроены |
Изображения и кэш записываются в imagesoutdir и .asciidoctor/diagram, как в Asciidoctor.
Серверы Kroki и PlantUML
Без локальных инструментов любые диаграммы можно рисовать через Kroki, собственный экземпляр Kroki или сервер PlantUML:
adoctra -r asciidoctor-diagram \
-a diagram-server-url=https://kroki.io -a diagram-server-type=kroki_io \
document.adoc
diagram-server-type — kroki_io или plantuml. Атрибуты можно задать и в заголовке документа или у отдельной диаграммы.
В браузере
WASM-привязки рисуют диаграммы только через сервер: браузер не может запускать программы. См. WASM: диаграммы. Диаграммам PlantUML там нужен preprocess=false.