sirena 0.1.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 +7 -0
- data/.github/workflows/build_deploy.yml +59 -0
- data/.github/workflows/links.yml +85 -0
- data/.github/workflows/rake.yml +15 -0
- data/.github/workflows/release.yml +27 -0
- data/.gitignore +68 -0
- data/.rspec +3 -0
- data/.rubocop.yml +14 -0
- data/.rubocop_todo.yml +70 -0
- data/ARCHITECTURE.md +744 -0
- data/Gemfile +12 -0
- data/LICENSE +25 -0
- data/README.adoc +357 -0
- data/Rakefile +11 -0
- data/docs/.gitignore +1 -0
- data/docs/Gemfile +13 -0
- data/docs/_config.yml +182 -0
- data/docs/_diagram_types/architecture-diagram.adoc +314 -0
- data/docs/_diagram_types/block-diagram.adoc +345 -0
- data/docs/_diagram_types/c4-diagram.adoc +559 -0
- data/docs/_diagram_types/class-diagram.adoc +816 -0
- data/docs/_diagram_types/er-diagram.adoc +719 -0
- data/docs/_diagram_types/error-diagram.adoc +114 -0
- data/docs/_diagram_types/examples/flowchart-examples.adoc +29 -0
- data/docs/_diagram_types/flowchart.adoc +488 -0
- data/docs/_diagram_types/gantt-chart.adoc +502 -0
- data/docs/_diagram_types/git-graph.adoc +600 -0
- data/docs/_diagram_types/index.adoc +192 -0
- data/docs/_diagram_types/info-diagram.adoc +103 -0
- data/docs/_diagram_types/kanban-diagram.adoc +262 -0
- data/docs/_diagram_types/mindmap.adoc +603 -0
- data/docs/_diagram_types/packet-diagram.adoc +378 -0
- data/docs/_diagram_types/pie-chart.adoc +335 -0
- data/docs/_diagram_types/quadrant-chart.adoc +406 -0
- data/docs/_diagram_types/radar-chart.adoc +528 -0
- data/docs/_diagram_types/requirement-diagram.adoc +416 -0
- data/docs/_diagram_types/sankey-diagram.adoc +357 -0
- data/docs/_diagram_types/sequence-diagram.adoc +664 -0
- data/docs/_diagram_types/state-diagram.adoc +658 -0
- data/docs/_diagram_types/timeline.adoc +352 -0
- data/docs/_diagram_types/treemap-diagram.adoc +462 -0
- data/docs/_diagram_types/user-journey.adoc +602 -0
- data/docs/_features/index.adoc +129 -0
- data/docs/_guides/cli-reference.adoc +203 -0
- data/docs/_guides/index.adoc +56 -0
- data/docs/_guides/installation.adoc +100 -0
- data/docs/_guides/quick-start.adoc +132 -0
- data/docs/_pages/comparison.adoc +441 -0
- data/docs/_pages/compatibility.adoc +300 -0
- data/docs/_pages/index.adoc +39 -0
- data/docs/_references/index.adoc +103 -0
- data/docs/_tutorials/index.adoc +57 -0
- data/docs/index.adoc +166 -0
- data/docs/lychee.toml +54 -0
- data/examples/.gitignore +10 -0
- data/examples/README.adoc +196 -0
- data/examples/README.md +64 -0
- data/examples/architecture/01-basic-services.mmd +9 -0
- data/examples/architecture/01-basic-services.svg +37 -0
- data/examples/architecture/02-service-groups.mmd +16 -0
- data/examples/architecture/02-service-groups.svg +55 -0
- data/examples/architecture/README.adoc +79 -0
- data/examples/block/01-basic-blocks.mmd +13 -0
- data/examples/block/01-basic-blocks.svg +44 -0
- data/examples/block/02-block-shapes.mmd +13 -0
- data/examples/block/02-block-shapes.svg +47 -0
- data/examples/block/README.adoc +85 -0
- data/examples/c4/01-context-diagram.mmd +10 -0
- data/examples/c4/01-context-diagram.svg +45 -0
- data/examples/c4/02-container-diagram.mmd +24 -0
- data/examples/c4/02-container-diagram.svg +105 -0
- data/examples/c4/README.adoc +92 -0
- data/examples/class_diagram/01-basic-classes.mmd +61 -0
- data/examples/class_diagram/01-basic-classes.svg +117 -0
- data/examples/class_diagram/02-relationships.mmd +61 -0
- data/examples/class_diagram/02-relationships.svg +129 -0
- data/examples/class_diagram/README.adoc +93 -0
- data/examples/er_diagram/01-basic-entities.mmd +64 -0
- data/examples/er_diagram/01-basic-entities.svg +5 -0
- data/examples/er_diagram/02-cardinality.mmd +57 -0
- data/examples/er_diagram/02-cardinality.svg +125 -0
- data/examples/er_diagram/README.adoc +88 -0
- data/examples/error/01-basic-error.mmd +1 -0
- data/examples/error/01-basic-error.svg +13 -0
- data/examples/error/02-error-display.mmd +1 -0
- data/examples/error/02-error-display.svg +13 -0
- data/examples/error/README.adoc +71 -0
- data/examples/error_message_example.svg +13 -0
- data/examples/flowchart/00-original.mmd +13 -0
- data/examples/flowchart/00-original.svg +5 -0
- data/examples/flowchart/01-basic-flow.mmd +7 -0
- data/examples/flowchart/01-basic-flow.svg +52 -0
- data/examples/flowchart/01-basic-flow.yml +13 -0
- data/examples/flowchart/02*.svg +87 -0
- data/examples/flowchart/02-node-shapes.mmd +9 -0
- data/examples/flowchart/02-node-shapes.svg +33 -0
- data/examples/flowchart/03-edge-types.mmd +7 -0
- data/examples/flowchart/03-edge-types.svg +53 -0
- data/examples/flowchart/04-subgraphs.mmd +9 -0
- data/examples/flowchart/04-subgraphs.svg +33 -0
- data/examples/flowchart/05-styling.mmd +9 -0
- data/examples/flowchart/05-styling.svg +33 -0
- data/examples/flowchart/06-complex-flow.mmd +8 -0
- data/examples/flowchart/06-complex-flow.svg +59 -0
- data/examples/flowchart/README.adoc +167 -0
- data/examples/gantt/01-simple-timeline.* +14 -0
- data/examples/gantt/01-simple-timeline.mmd +6 -0
- data/examples/gantt/01-simple-timeline.svg +26 -0
- data/examples/gantt/02-task-dependencies.mmd +6 -0
- data/examples/gantt/02-task-dependencies.svg +26 -0
- data/examples/gantt/README.adoc +86 -0
- data/examples/git_graph/01-linear-history.mmd +12 -0
- data/examples/git_graph/01-linear-history.svg +26 -0
- data/examples/git_graph/02-branching.mmd +12 -0
- data/examples/git_graph/02-branching.svg +26 -0
- data/examples/git_graph/README.adoc +73 -0
- data/examples/info/02-showinfo.mmd +1 -0
- data/examples/info/02-showinfo.svg +10 -0
- data/examples/info/README.adoc +58 -0
- data/examples/info_showinfo_example.svg +10 -0
- data/examples/kanban/01-simple-board.mmd +8 -0
- data/examples/kanban/01-simple-board.svg +43 -0
- data/examples/kanban/02-workflow.mmd +8 -0
- data/examples/kanban/02-workflow.svg +43 -0
- data/examples/kanban/README.adoc +79 -0
- data/examples/mindmap/01-simple-tree.mmd +19 -0
- data/examples/mindmap/01-simple-tree.svg +61 -0
- data/examples/mindmap/02-knowledge-map.mmd +19 -0
- data/examples/mindmap/02-knowledge-map.svg +61 -0
- data/examples/mindmap/README.adoc +77 -0
- data/examples/packet/01-basic-packet.* +17 -0
- data/examples/packet/01-basic-packet.mmd +4 -0
- data/examples/packet/01-basic-packet.svg +82 -0
- data/examples/packet/README.adoc +58 -0
- data/examples/pie/01-simple-chart.mmd +5 -0
- data/examples/pie/01-simple-chart.svg +17 -0
- data/examples/pie/02-labeled-slices.mmd +6 -0
- data/examples/pie/02-labeled-slices.svg +19 -0
- data/examples/pie/README.adoc +75 -0
- data/examples/quadrant/01-basic-quadrant.mmd +13 -0
- data/examples/quadrant/01-basic-quadrant.svg +33 -0
- data/examples/quadrant/02-positioned-items.mmd +14 -0
- data/examples/quadrant/02-positioned-items.svg +35 -0
- data/examples/quadrant/README.adoc +84 -0
- data/examples/radar/01-simple-radar.* +5 -0
- data/examples/radar/01-simple-radar.mmd +3 -0
- data/examples/radar/01-simple-radar.svg +25 -0
- data/examples/radar/02-multiple-curves.mmd +4 -0
- data/examples/radar/02-multiple-curves.svg +43 -0
- data/examples/radar/README.adoc +75 -0
- data/examples/requirement/01-basic-requirements.mmd +23 -0
- data/examples/requirement/01-basic-requirements.svg +49 -0
- data/examples/requirement/02-risk-levels.mmd +23 -0
- data/examples/requirement/02-risk-levels.svg +49 -0
- data/examples/requirement/README.adoc +85 -0
- data/examples/sankey/01-simple-flow.mmd +7 -0
- data/examples/sankey/01-simple-flow.svg +34 -0
- data/examples/sankey/02-multi-stage.mmd +11 -0
- data/examples/sankey/02-multi-stage.svg +44 -0
- data/examples/sankey/README.adoc +74 -0
- data/examples/sequence/01-basic-sequence.mmd +27 -0
- data/examples/sequence/01-basic-sequence.svg +5 -0
- data/examples/sequence/02-activations.mmd +17 -0
- data/examples/sequence/02-activations.svg +78 -0
- data/examples/sequence/README.adoc +86 -0
- data/examples/state_diagram/01-simple-states.mmd +29 -0
- data/examples/state_diagram/01-simple-states.svg +5 -0
- data/examples/state_diagram/02-composite.mmd +19 -0
- data/examples/state_diagram/02-composite.svg +81 -0
- data/examples/state_diagram/README.adoc +90 -0
- data/examples/timeline/01-simple-timeline.mmd +11 -0
- data/examples/timeline/01-simple-timeline.svg +36 -0
- data/examples/timeline/02-periods.mmd +15 -0
- data/examples/timeline/02-periods.svg +47 -0
- data/examples/timeline/README.adoc +78 -0
- data/examples/treemap/01-basic-treemap.mmd +12 -0
- data/examples/treemap/01-basic-treemap.svg +59 -0
- data/examples/treemap/README.adoc +59 -0
- data/examples/user_journey/01-simple-journey.mmd +23 -0
- data/examples/user_journey/01-simple-journey.svg +5 -0
- data/examples/user_journey/02-multi-actor.mmd +18 -0
- data/examples/user_journey/02-multi-actor.svg +129 -0
- data/examples/user_journey/README.adoc +81 -0
- data/examples/xychart/01-line-chart.mmd +5 -0
- data/examples/xychart/01-line-chart.svg +43 -0
- data/examples/xychart/02-bar-chart.mmd +7 -0
- data/examples/xychart/02-bar-chart.svg +48 -0
- data/examples/xychart/README.adoc +80 -0
- data/exe/sirena +7 -0
- data/lib/sirena/cli.rb +138 -0
- data/lib/sirena/commands/batch.rb +117 -0
- data/lib/sirena/commands/render.rb +80 -0
- data/lib/sirena/commands/types.rb +29 -0
- data/lib/sirena/commands/version.rb +24 -0
- data/lib/sirena/diagram/architecture.rb +46 -0
- data/lib/sirena/diagram/base.rb +61 -0
- data/lib/sirena/diagram/block.rb +81 -0
- data/lib/sirena/diagram/c4.rb +328 -0
- data/lib/sirena/diagram/class_diagram.rb +385 -0
- data/lib/sirena/diagram/er_diagram.rb +238 -0
- data/lib/sirena/diagram/error.rb +38 -0
- data/lib/sirena/diagram/flowchart.rb +160 -0
- data/lib/sirena/diagram/gantt.rb +71 -0
- data/lib/sirena/diagram/git_graph.rb +36 -0
- data/lib/sirena/diagram/info.rb +38 -0
- data/lib/sirena/diagram/kanban.rb +178 -0
- data/lib/sirena/diagram/mindmap.rb +54 -0
- data/lib/sirena/diagram/packet.rb +79 -0
- data/lib/sirena/diagram/pie.rb +115 -0
- data/lib/sirena/diagram/quadrant.rb +138 -0
- data/lib/sirena/diagram/radar.rb +52 -0
- data/lib/sirena/diagram/requirement.rb +133 -0
- data/lib/sirena/diagram/sankey.rb +217 -0
- data/lib/sirena/diagram/sequence.rb +242 -0
- data/lib/sirena/diagram/state_diagram.rb +237 -0
- data/lib/sirena/diagram/timeline.rb +171 -0
- data/lib/sirena/diagram/treemap.rb +84 -0
- data/lib/sirena/diagram/user_journey.rb +149 -0
- data/lib/sirena/diagram/xy_chart.rb +76 -0
- data/lib/sirena/diagram.rb +8 -0
- data/lib/sirena/diagram_registry.rb +101 -0
- data/lib/sirena/engine.rb +292 -0
- data/lib/sirena/parser/architecture.rb +41 -0
- data/lib/sirena/parser/base.rb +41 -0
- data/lib/sirena/parser/block.rb +72 -0
- data/lib/sirena/parser/c4.rb +53 -0
- data/lib/sirena/parser/class_diagram.rb +63 -0
- data/lib/sirena/parser/er_diagram.rb +40 -0
- data/lib/sirena/parser/error.rb +49 -0
- data/lib/sirena/parser/flowchart.rb +71 -0
- data/lib/sirena/parser/gantt.rb +60 -0
- data/lib/sirena/parser/git_graph.rb +95 -0
- data/lib/sirena/parser/grammars/architecture.rb +145 -0
- data/lib/sirena/parser/grammars/block.rb +190 -0
- data/lib/sirena/parser/grammars/c4.rb +226 -0
- data/lib/sirena/parser/grammars/class_diagram.rb +284 -0
- data/lib/sirena/parser/grammars/common.rb +84 -0
- data/lib/sirena/parser/grammars/er_diagram.rb +114 -0
- data/lib/sirena/parser/grammars/error.rb +40 -0
- data/lib/sirena/parser/grammars/flowchart.rb +298 -0
- data/lib/sirena/parser/grammars/gantt.rb +252 -0
- data/lib/sirena/parser/grammars/git_graph.rb +167 -0
- data/lib/sirena/parser/grammars/info.rb +58 -0
- data/lib/sirena/parser/grammars/kanban.rb +83 -0
- data/lib/sirena/parser/grammars/mindmap.rb +115 -0
- data/lib/sirena/parser/grammars/packet.rb +73 -0
- data/lib/sirena/parser/grammars/pie.rb +128 -0
- data/lib/sirena/parser/grammars/quadrant.rb +199 -0
- data/lib/sirena/parser/grammars/radar.rb +150 -0
- data/lib/sirena/parser/grammars/requirement.rb +188 -0
- data/lib/sirena/parser/grammars/sankey.rb +104 -0
- data/lib/sirena/parser/grammars/sequence.rb +247 -0
- data/lib/sirena/parser/grammars/state_diagram.rb +172 -0
- data/lib/sirena/parser/grammars/timeline.rb +142 -0
- data/lib/sirena/parser/grammars/treemap.rb +120 -0
- data/lib/sirena/parser/grammars/xy_chart.rb +120 -0
- data/lib/sirena/parser/info.rb +49 -0
- data/lib/sirena/parser/kanban.rb +97 -0
- data/lib/sirena/parser/mindmap.rb +106 -0
- data/lib/sirena/parser/packet.rb +76 -0
- data/lib/sirena/parser/pie.rb +49 -0
- data/lib/sirena/parser/quadrant.rb +57 -0
- data/lib/sirena/parser/radar.rb +104 -0
- data/lib/sirena/parser/requirement.rb +70 -0
- data/lib/sirena/parser/sankey.rb +64 -0
- data/lib/sirena/parser/sequence.rb +51 -0
- data/lib/sirena/parser/state_diagram.rb +69 -0
- data/lib/sirena/parser/timeline.rb +57 -0
- data/lib/sirena/parser/transforms/architecture.rb +97 -0
- data/lib/sirena/parser/transforms/block.rb +254 -0
- data/lib/sirena/parser/transforms/c4.rb +347 -0
- data/lib/sirena/parser/transforms/class_diagram.rb +352 -0
- data/lib/sirena/parser/transforms/er_diagram.rb +169 -0
- data/lib/sirena/parser/transforms/error.rb +58 -0
- data/lib/sirena/parser/transforms/flowchart.rb +293 -0
- data/lib/sirena/parser/transforms/gantt.rb +215 -0
- data/lib/sirena/parser/transforms/git_graph.rb +160 -0
- data/lib/sirena/parser/transforms/info.rb +58 -0
- data/lib/sirena/parser/transforms/kanban.rb +176 -0
- data/lib/sirena/parser/transforms/mindmap.rb +227 -0
- data/lib/sirena/parser/transforms/packet.rb +63 -0
- data/lib/sirena/parser/transforms/pie.rb +143 -0
- data/lib/sirena/parser/transforms/quadrant.rb +177 -0
- data/lib/sirena/parser/transforms/radar.rb +126 -0
- data/lib/sirena/parser/transforms/requirement.rb +272 -0
- data/lib/sirena/parser/transforms/sankey.rb +122 -0
- data/lib/sirena/parser/transforms/sequence.rb +342 -0
- data/lib/sirena/parser/transforms/state_diagram.rb +292 -0
- data/lib/sirena/parser/transforms/timeline.rb +177 -0
- data/lib/sirena/parser/transforms/treemap.rb +81 -0
- data/lib/sirena/parser/transforms/xy_chart.rb +132 -0
- data/lib/sirena/parser/treemap.rb +98 -0
- data/lib/sirena/parser/user_journey.rb +120 -0
- data/lib/sirena/parser/xy_chart.rb +114 -0
- data/lib/sirena/parser.rb +8 -0
- data/lib/sirena/renderer/architecture.rb +251 -0
- data/lib/sirena/renderer/base.rb +251 -0
- data/lib/sirena/renderer/block.rb +286 -0
- data/lib/sirena/renderer/c4.rb +490 -0
- data/lib/sirena/renderer/class_diagram.rb +499 -0
- data/lib/sirena/renderer/er_diagram.rb +417 -0
- data/lib/sirena/renderer/error.rb +131 -0
- data/lib/sirena/renderer/flowchart.rb +301 -0
- data/lib/sirena/renderer/gantt.rb +331 -0
- data/lib/sirena/renderer/git_graph.rb +368 -0
- data/lib/sirena/renderer/info.rb +93 -0
- data/lib/sirena/renderer/kanban.rb +295 -0
- data/lib/sirena/renderer/mindmap.rb +396 -0
- data/lib/sirena/renderer/packet.rb +239 -0
- data/lib/sirena/renderer/pie.rb +235 -0
- data/lib/sirena/renderer/quadrant.rb +292 -0
- data/lib/sirena/renderer/radar.rb +323 -0
- data/lib/sirena/renderer/requirement.rb +371 -0
- data/lib/sirena/renderer/sankey.rb +255 -0
- data/lib/sirena/renderer/sequence.rb +424 -0
- data/lib/sirena/renderer/state_diagram.rb +328 -0
- data/lib/sirena/renderer/timeline.rb +304 -0
- data/lib/sirena/renderer/treemap.rb +152 -0
- data/lib/sirena/renderer/user_journey.rb +331 -0
- data/lib/sirena/renderer/xy_chart.rb +452 -0
- data/lib/sirena/renderer.rb +8 -0
- data/lib/sirena/svg/circle.rb +41 -0
- data/lib/sirena/svg/document.rb +103 -0
- data/lib/sirena/svg/element.rb +65 -0
- data/lib/sirena/svg/ellipse.rb +33 -0
- data/lib/sirena/svg/group.rb +71 -0
- data/lib/sirena/svg/line.rb +49 -0
- data/lib/sirena/svg/path.rb +76 -0
- data/lib/sirena/svg/polygon.rb +43 -0
- data/lib/sirena/svg/polyline.rb +35 -0
- data/lib/sirena/svg/rect.rb +57 -0
- data/lib/sirena/svg/style.rb +44 -0
- data/lib/sirena/svg/text.rb +72 -0
- data/lib/sirena/svg.rb +19 -0
- data/lib/sirena/text_measurement.rb +71 -0
- data/lib/sirena/theme/builtin/dark.yml +70 -0
- data/lib/sirena/theme/builtin/default.yml +80 -0
- data/lib/sirena/theme/builtin/high_contrast.yml +70 -0
- data/lib/sirena/theme/builtin/light.yml +70 -0
- data/lib/sirena/theme/color_palette.rb +48 -0
- data/lib/sirena/theme/effect_styles.rb +28 -0
- data/lib/sirena/theme/registry.rb +41 -0
- data/lib/sirena/theme/shape_styles.rb +28 -0
- data/lib/sirena/theme/spacing_config.rb +24 -0
- data/lib/sirena/theme/typography.rb +30 -0
- data/lib/sirena/theme.rb +69 -0
- data/lib/sirena/transform/architecture.rb +273 -0
- data/lib/sirena/transform/base.rb +199 -0
- data/lib/sirena/transform/block.rb +215 -0
- data/lib/sirena/transform/c4.rb +288 -0
- data/lib/sirena/transform/class_diagram.rb +296 -0
- data/lib/sirena/transform/er_diagram.rb +204 -0
- data/lib/sirena/transform/error.rb +39 -0
- data/lib/sirena/transform/flowchart.rb +161 -0
- data/lib/sirena/transform/gantt.rb +253 -0
- data/lib/sirena/transform/git_graph.rb +283 -0
- data/lib/sirena/transform/info.rb +39 -0
- data/lib/sirena/transform/kanban.rb +180 -0
- data/lib/sirena/transform/mindmap.rb +251 -0
- data/lib/sirena/transform/packet.rb +185 -0
- data/lib/sirena/transform/pie.rb +62 -0
- data/lib/sirena/transform/quadrant.rb +167 -0
- data/lib/sirena/transform/radar.rb +227 -0
- data/lib/sirena/transform/requirement.rb +233 -0
- data/lib/sirena/transform/sankey.rb +212 -0
- data/lib/sirena/transform/sequence.rb +143 -0
- data/lib/sirena/transform/state_diagram.rb +228 -0
- data/lib/sirena/transform/timeline.rb +139 -0
- data/lib/sirena/transform/treemap.rb +120 -0
- data/lib/sirena/transform/user_journey.rb +207 -0
- data/lib/sirena/transform/xy_chart.rb +273 -0
- data/lib/sirena/transform.rb +8 -0
- data/lib/sirena/version.rb +5 -0
- data/lib/sirena.rb +328 -0
- data/lib/tasks/benchmark.rake +532 -0
- data/lib/tasks/examples.rake +468 -0
- data/lib/tasks/generate_mermaid_fixtures.rake +363 -0
- data/lib/tasks/mermaid_fixtures.rake +46 -0
- data/scripts/extract_mermaid_tests.rb +493 -0
- data/scripts/rename_to_sirena.rb +73 -0
- data/sirena.gemspec +47 -0
- metadata +529 -0
data/examples/.gitignore
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
= Sirena Examples
|
|
2
|
+
|
|
3
|
+
This directory contains examples for all 24 supported diagram types in Sirena, a pure Ruby Mermaid diagram renderer.
|
|
4
|
+
|
|
5
|
+
== Quick Start
|
|
6
|
+
|
|
7
|
+
[source,bash]
|
|
8
|
+
----
|
|
9
|
+
# Render an example
|
|
10
|
+
bundle exec ruby exe/sirena render examples/flowchart/01-basic-flow.mmd -o output.svg
|
|
11
|
+
|
|
12
|
+
# Or use the library directly
|
|
13
|
+
ruby -r ./lib/sirena -e 'puts Sirena.render(File.read("examples/flowchart/01-basic-flow.mmd"))'
|
|
14
|
+
----
|
|
15
|
+
|
|
16
|
+
== Diagram Types
|
|
17
|
+
|
|
18
|
+
Each diagram type has its own subdirectory with examples and documentation.
|
|
19
|
+
|
|
20
|
+
=== Flowcharts & Graphs
|
|
21
|
+
|
|
22
|
+
==== link:flowchart/README.adoc[Flowchart]
|
|
23
|
+
Process flows, workflows, and decision trees.
|
|
24
|
+
|
|
25
|
+
* link:flowchart/01-basic-flow.mmd[01-basic-flow] - Basic process flow
|
|
26
|
+
* link:flowchart/02-node-shapes.mmd[02-node-shapes] - Node shape varieties
|
|
27
|
+
* link:flowchart/03-edge-types.mmd[03-edge-types] - Connection types
|
|
28
|
+
* link:flowchart/04-subgraphs.mmd[04-subgraphs] - Grouped nodes
|
|
29
|
+
* link:flowchart/05-styling.mmd[05-styling] - Node hierarchy
|
|
30
|
+
* link:flowchart/06-complex-flow.mmd[06-complex-flow] - Multi-path workflow
|
|
31
|
+
|
|
32
|
+
==== link:git_graph/[Git Graph]
|
|
33
|
+
Version control branching and merging visualization.
|
|
34
|
+
|
|
35
|
+
* link:git_graph/01-linear-history.mmd[01-linear-history] - Linear commit history
|
|
36
|
+
|
|
37
|
+
==== link:mindmap/[Mindmap]
|
|
38
|
+
Hierarchical concept mapping and brainstorming.
|
|
39
|
+
|
|
40
|
+
* link:mindmap/01-simple-tree.mmd[01-simple-tree] - Basic mind map
|
|
41
|
+
|
|
42
|
+
=== UML Diagrams
|
|
43
|
+
|
|
44
|
+
==== link:sequence/[Sequence Diagram]
|
|
45
|
+
Object interaction and message passing over time.
|
|
46
|
+
|
|
47
|
+
* link:sequence/01-basic-sequence.mmd[01-basic-sequence] - Basic interactions
|
|
48
|
+
|
|
49
|
+
==== link:class_diagram/[Class Diagram]
|
|
50
|
+
Object-oriented class structure and relationships.
|
|
51
|
+
|
|
52
|
+
* link:class_diagram/01-basic-classes.mmd[01-basic-classes] - Basic classes
|
|
53
|
+
|
|
54
|
+
==== link:state_diagram/[State Diagram]
|
|
55
|
+
State machine and lifecycle visualization.
|
|
56
|
+
|
|
57
|
+
* link:state_diagram/01-simple-states.mmd[01-simple-states] - Basic states
|
|
58
|
+
|
|
59
|
+
==== link:er_diagram/[ER Diagram]
|
|
60
|
+
Entity-relationship database modeling.
|
|
61
|
+
|
|
62
|
+
* link:er_diagram/01-basic-entities.mmd[01-basic-entities] - Basic entities
|
|
63
|
+
|
|
64
|
+
=== Architecture & System Design
|
|
65
|
+
|
|
66
|
+
==== link:c4/[C4 Diagram]
|
|
67
|
+
Software architecture at different abstraction levels.
|
|
68
|
+
|
|
69
|
+
* link:c4/01-context-diagram.mmd[01-context-diagram] - System context
|
|
70
|
+
|
|
71
|
+
==== link:architecture/[Architecture Diagram]
|
|
72
|
+
Service-based architecture visualization.
|
|
73
|
+
|
|
74
|
+
* link:architecture/01-basic-services.mmd[01-basic-services] - Basic services
|
|
75
|
+
|
|
76
|
+
==== link:block/[Block Diagram]
|
|
77
|
+
Block-based layouts and connections.
|
|
78
|
+
|
|
79
|
+
* link:block/01-basic-blocks.mmd[01-basic-blocks] - Basic blocks
|
|
80
|
+
|
|
81
|
+
=== Project Management
|
|
82
|
+
|
|
83
|
+
==== link:gantt/[Gantt Chart]
|
|
84
|
+
Project timeline and task scheduling.
|
|
85
|
+
|
|
86
|
+
* link:gantt/01-simple-timeline.mmd[01-simple-timeline] - Project timeline
|
|
87
|
+
|
|
88
|
+
==== link:timeline/[Timeline]
|
|
89
|
+
Historical events and chronological visualization.
|
|
90
|
+
|
|
91
|
+
* link:timeline/01-simple-timeline.mmd[01-simple-timeline] - Event timeline
|
|
92
|
+
|
|
93
|
+
==== link:kanban/[Kanban Board]
|
|
94
|
+
Task workflow and status tracking.
|
|
95
|
+
|
|
96
|
+
* link:kanban/01-simple-board.mmd[01-simple-board] - Basic board
|
|
97
|
+
|
|
98
|
+
==== link:requirement/[Requirement Diagram]
|
|
99
|
+
System requirements and traceability.
|
|
100
|
+
|
|
101
|
+
* link:requirement/01-basic-requirements.mmd[01-basic-requirements] - Basic requirements
|
|
102
|
+
|
|
103
|
+
==== link:user_journey/[User Journey]
|
|
104
|
+
User experience mapping and satisfaction tracking.
|
|
105
|
+
|
|
106
|
+
* link:user_journey/01-simple-journey.mmd[01-simple-journey] - Basic journey
|
|
107
|
+
|
|
108
|
+
=== Data Visualization
|
|
109
|
+
|
|
110
|
+
==== link:pie/[Pie Chart]
|
|
111
|
+
Proportional data visualization.
|
|
112
|
+
|
|
113
|
+
* link:pie/01-simple-chart.mmd[01-simple-chart] - Basic pie chart
|
|
114
|
+
|
|
115
|
+
==== link:xychart/[XY Chart]
|
|
116
|
+
Line and bar charts with axes.
|
|
117
|
+
|
|
118
|
+
* link:xychart/01-line-chart.mmd[01-line-chart] - Line chart
|
|
119
|
+
|
|
120
|
+
==== link:quadrant/[Quadrant Chart]
|
|
121
|
+
2x2 matrix positioning and analysis.
|
|
122
|
+
|
|
123
|
+
* link:quadrant/01-basic-quadrant.mmd[01-basic-quadrant] - Basic quadrant
|
|
124
|
+
|
|
125
|
+
==== link:radar/[Radar Chart]
|
|
126
|
+
Multi-dimensional data comparison.
|
|
127
|
+
|
|
128
|
+
* link:radar/01-simple-radar.mmd[01-simple-radar] - Skill assessment
|
|
129
|
+
|
|
130
|
+
==== link:treemap/[Treemap]
|
|
131
|
+
Hierarchical data with size-based visualization.
|
|
132
|
+
|
|
133
|
+
* link:treemap/01-basic-treemap.mmd[01-basic-treemap] - Disk usage
|
|
134
|
+
|
|
135
|
+
==== link:sankey/[Sankey Diagram]
|
|
136
|
+
Flow quantities between nodes.
|
|
137
|
+
|
|
138
|
+
* link:sankey/01-simple-flow.mmd[01-simple-flow] - Basic flow
|
|
139
|
+
|
|
140
|
+
=== Network & Technical
|
|
141
|
+
|
|
142
|
+
==== link:packet/[Packet Diagram]
|
|
143
|
+
Network protocol packet structure.
|
|
144
|
+
|
|
145
|
+
* link:packet/01-basic-packet.mmd[01-basic-packet] - TCP header
|
|
146
|
+
|
|
147
|
+
=== Other
|
|
148
|
+
|
|
149
|
+
==== link:info/[Info Display]
|
|
150
|
+
Informational messages and notices.
|
|
151
|
+
|
|
152
|
+
* link:info/01-basic-info.mmd[01-basic-info] - Basic info
|
|
153
|
+
* link:info/02-showinfo.mmd[02-showinfo] - Show info display
|
|
154
|
+
|
|
155
|
+
==== link:error/[Error Display]
|
|
156
|
+
Error message visualization.
|
|
157
|
+
|
|
158
|
+
* link:error/01-basic-error.mmd[01-basic-error] - Basic error
|
|
159
|
+
* link:error/02-error-display.mmd[02-error-display] - Detailed error
|
|
160
|
+
|
|
161
|
+
== Example File Format
|
|
162
|
+
|
|
163
|
+
Each example consists of:
|
|
164
|
+
|
|
165
|
+
* `.mmd` file - Mermaid source code
|
|
166
|
+
* `.svg` file - Rendered SVG output (generated)
|
|
167
|
+
* `README.adoc` - Documentation (in subdirectory)
|
|
168
|
+
|
|
169
|
+
== Contributing Examples
|
|
170
|
+
|
|
171
|
+
To add a new example:
|
|
172
|
+
|
|
173
|
+
1. Create `.mmd` file in appropriate subdirectory
|
|
174
|
+
2. Generate SVG: `bundle exec ruby exe/sirena render FILE.mmd -o FILE.svg`
|
|
175
|
+
3. Update subdirectory README.adoc
|
|
176
|
+
4. Ensure example follows naming convention: `{number}-{name}.mmd`
|
|
177
|
+
|
|
178
|
+
== Testing Examples
|
|
179
|
+
|
|
180
|
+
Run all examples through the renderer:
|
|
181
|
+
|
|
182
|
+
[source,bash]
|
|
183
|
+
----
|
|
184
|
+
for dir in examples/*/; do
|
|
185
|
+
for mmd in $dir*.mmd; do
|
|
186
|
+
svg="${mmd%.mmd}.svg"
|
|
187
|
+
bundle exec ruby exe/sirena render "$mmd" -o "$svg" && echo "✓ $mmd" || echo "✗ $mmd"
|
|
188
|
+
done
|
|
189
|
+
done
|
|
190
|
+
----
|
|
191
|
+
|
|
192
|
+
== See Also
|
|
193
|
+
|
|
194
|
+
* link:../README.adoc[Main Sirena Documentation]
|
|
195
|
+
* link:../docs/[Additional Documentation]
|
|
196
|
+
* https://mermaid.js.org/[Mermaid Official Documentation]
|
data/examples/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Sirena Examples
|
|
2
|
+
|
|
3
|
+
This directory contains example diagrams for all supported diagram types.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
Each diagram type has its own directory with:
|
|
8
|
+
- `*.mmd` - Mermaid source files
|
|
9
|
+
- `*.yml` - Metadata for each example
|
|
10
|
+
- `generated/` - Auto-generated SVG files (git-ignored)
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Generate all SVGs
|
|
16
|
+
rake examples:generate
|
|
17
|
+
|
|
18
|
+
# Create a new example
|
|
19
|
+
rake examples:create[flowchart,my-example]
|
|
20
|
+
|
|
21
|
+
# Validate all examples
|
|
22
|
+
rake examples:validate
|
|
23
|
+
|
|
24
|
+
# List all examples
|
|
25
|
+
rake examples:list
|
|
26
|
+
|
|
27
|
+
# Build everything (generate + docs + copy)
|
|
28
|
+
rake examples:build
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Adding Examples
|
|
32
|
+
|
|
33
|
+
1. Create example files:
|
|
34
|
+
```bash
|
|
35
|
+
rake examples:create[type,name]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. Edit the `.mmd` and `.yml` files
|
|
39
|
+
|
|
40
|
+
3. Generate SVG:
|
|
41
|
+
```bash
|
|
42
|
+
rake examples:generate
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
4. Build documentation:
|
|
46
|
+
```bash
|
|
47
|
+
rake examples:build
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Example Metadata
|
|
51
|
+
|
|
52
|
+
Each `.yml` file should contain:
|
|
53
|
+
|
|
54
|
+
```yaml
|
|
55
|
+
title: "Example Title"
|
|
56
|
+
description: "What this example demonstrates"
|
|
57
|
+
complexity: basic # basic, intermediate, advanced
|
|
58
|
+
keywords:
|
|
59
|
+
- keyword1
|
|
60
|
+
- keyword2
|
|
61
|
+
use_cases:
|
|
62
|
+
- "Use case description"
|
|
63
|
+
theme: default # default, dark, light, high-contrast
|
|
64
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="680.0"
|
|
3
|
+
height="160.0"
|
|
4
|
+
viewBox="0 0 680 160"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g id="edge-frontend-backend">
|
|
9
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 160 80 L 200 80" marker-end="url(#arrowhead)"/>
|
|
10
|
+
</g>
|
|
11
|
+
<g id="edge-backend-db">
|
|
12
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 320 80 L 360 80" marker-end="url(#arrowhead)"/>
|
|
13
|
+
</g>
|
|
14
|
+
<g id="edge-backend-cache">
|
|
15
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 320 80 L 520 80" marker-end="url(#arrowhead)"/>
|
|
16
|
+
</g>
|
|
17
|
+
<g id="service-frontend">
|
|
18
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="40.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
19
|
+
<text fill="#666" x="100.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">⊞</text>
|
|
20
|
+
<text fill="#000000" x="100.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Frontend</text>
|
|
21
|
+
</g>
|
|
22
|
+
<g id="service-backend">
|
|
23
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="200.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
24
|
+
<text fill="#666" x="260.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">▦</text>
|
|
25
|
+
<text fill="#000000" x="260.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Backend API</text>
|
|
26
|
+
</g>
|
|
27
|
+
<g id="service-db">
|
|
28
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="360.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
29
|
+
<text fill="#666" x="420.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">⬢</text>
|
|
30
|
+
<text fill="#000000" x="420.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Database</text>
|
|
31
|
+
</g>
|
|
32
|
+
<g id="service-cache">
|
|
33
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="520.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
34
|
+
<text fill="#666" x="580.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">◎</text>
|
|
35
|
+
<text fill="#000000" x="580.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Cache</text>
|
|
36
|
+
</g>
|
|
37
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
architecture-beta
|
|
2
|
+
group api(cloud)[API Services]
|
|
3
|
+
|
|
4
|
+
service webapp(server)[Web Server] in api
|
|
5
|
+
service auth(server)[Auth Service] in api
|
|
6
|
+
service data(database)[Data API] in api
|
|
7
|
+
|
|
8
|
+
group storage(disk)[Storage Layer]
|
|
9
|
+
|
|
10
|
+
service db(database)[Database] in storage
|
|
11
|
+
service cache(server)[Cache] in storage
|
|
12
|
+
|
|
13
|
+
webapp:R --> L:auth
|
|
14
|
+
webapp:B --> T:data
|
|
15
|
+
data:B --> T:db
|
|
16
|
+
auth:B --> T:cache
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="554.0"
|
|
3
|
+
height="350.0"
|
|
4
|
+
viewBox="0 0 554.0 350"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g id="group-api">
|
|
9
|
+
<rect fill="#f0f0f0" fill-opacity="0.3" stroke="#999" stroke-width="2" x="10.0" y="10.0" width="504.0" height="300.0" rx="8.0" ry="8.0" stroke-dasharray="5,5" fill-opacity="0.3"/>
|
|
10
|
+
<text fill="#333" x="20.0" y="30.0" font-size="14" font-weight="bold">API Services</text>
|
|
11
|
+
<text fill="#666" x="484.0" y="35.0" font-size="20">☁</text>
|
|
12
|
+
</g>
|
|
13
|
+
<g id="group-storage">
|
|
14
|
+
<rect fill="#f0f0f0" fill-opacity="0.3" stroke="#999" stroke-width="2" x="10.0" y="10.0" width="340.0" height="140.0" rx="8.0" ry="8.0" stroke-dasharray="5,5" fill-opacity="0.3"/>
|
|
15
|
+
<text fill="#333" x="20.0" y="30.0" font-size="14" font-weight="bold">Storage Layer</text>
|
|
16
|
+
<text fill="#666" x="320.0" y="35.0" font-size="20">◎</text>
|
|
17
|
+
</g>
|
|
18
|
+
<g id="edge-webapp-auth">
|
|
19
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 160 80 L 200 240" marker-end="url(#arrowhead)"/>
|
|
20
|
+
</g>
|
|
21
|
+
<g id="edge-webapp-data">
|
|
22
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 100 120 L 424.0 200" marker-end="url(#arrowhead)"/>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="edge-data-db">
|
|
25
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 424.0 280 L 100 40" marker-end="url(#arrowhead)"/>
|
|
26
|
+
</g>
|
|
27
|
+
<g id="edge-auth-cache">
|
|
28
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 262.0 280 L 260 40" marker-end="url(#arrowhead)"/>
|
|
29
|
+
</g>
|
|
30
|
+
<g id="service-webapp">
|
|
31
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="40.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
32
|
+
<text fill="#666" x="100.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">▦</text>
|
|
33
|
+
<text fill="#000000" x="100.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Web Server</text>
|
|
34
|
+
</g>
|
|
35
|
+
<g id="service-auth">
|
|
36
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="200.0" y="200.0" width="124.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
37
|
+
<text fill="#666" x="262.0" y="226.0" text-anchor="middle" font-size="24" dominant-baseline="middle">▦</text>
|
|
38
|
+
<text fill="#000000" x="262.0" y="253.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Auth Service</text>
|
|
39
|
+
</g>
|
|
40
|
+
<g id="service-data">
|
|
41
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="364.0" y="200.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
42
|
+
<text fill="#666" x="424.0" y="226.0" text-anchor="middle" font-size="24" dominant-baseline="middle">⬢</text>
|
|
43
|
+
<text fill="#000000" x="424.0" y="253.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Data API</text>
|
|
44
|
+
</g>
|
|
45
|
+
<g id="service-db">
|
|
46
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="40.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
47
|
+
<text fill="#666" x="100.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">⬢</text>
|
|
48
|
+
<text fill="#000000" x="100.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Database</text>
|
|
49
|
+
</g>
|
|
50
|
+
<g id="service-cache">
|
|
51
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="200.0" y="40.0" width="120.0" height="80.0" rx="5.0" ry="5.0"/>
|
|
52
|
+
<text fill="#666" x="260.0" y="66.0" text-anchor="middle" font-size="24" dominant-baseline="middle">▦</text>
|
|
53
|
+
<text fill="#000000" x="260.0" y="93.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12" dominant-baseline="middle">Cache</text>
|
|
54
|
+
</g>
|
|
55
|
+
</svg>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
= Architecture Diagram Examples
|
|
2
|
+
|
|
3
|
+
== Purpose
|
|
4
|
+
|
|
5
|
+
Architecture diagrams visualize system architecture, showing services, components, and their relationships in distributed systems.
|
|
6
|
+
|
|
7
|
+
== When to Use
|
|
8
|
+
|
|
9
|
+
* Microservices architecture documentation
|
|
10
|
+
* Service mesh visualization
|
|
11
|
+
* Cloud infrastructure diagrams
|
|
12
|
+
* System component relationships
|
|
13
|
+
* Deployment architecture
|
|
14
|
+
|
|
15
|
+
== Syntax Overview
|
|
16
|
+
|
|
17
|
+
[source,mermaid]
|
|
18
|
+
----
|
|
19
|
+
architecture-beta
|
|
20
|
+
service api(server)[API]
|
|
21
|
+
service db(database)[Database]
|
|
22
|
+
|
|
23
|
+
api:R --> L:db
|
|
24
|
+
----
|
|
25
|
+
|
|
26
|
+
== Examples
|
|
27
|
+
|
|
28
|
+
=== 01: Basic Services
|
|
29
|
+
|
|
30
|
+
Demonstrates basic architecture with services and connections.
|
|
31
|
+
|
|
32
|
+
**File**: link:01-basic-services.mmd[01-basic-services.mmd]
|
|
33
|
+
|
|
34
|
+
[source,mermaid]
|
|
35
|
+
----
|
|
36
|
+
include::01-basic-services.mmd[]
|
|
37
|
+
----
|
|
38
|
+
|
|
39
|
+
image::01-basic-services.svg[]
|
|
40
|
+
|
|
41
|
+
=== 02: Service Groups
|
|
42
|
+
|
|
43
|
+
Showcases grouped services and complex relationships.
|
|
44
|
+
|
|
45
|
+
**File**: link:02-service-groups.mmd[02-service-groups.mmd]
|
|
46
|
+
|
|
47
|
+
[source,mermaid]
|
|
48
|
+
----
|
|
49
|
+
include::02-service-groups.mmd[]
|
|
50
|
+
----
|
|
51
|
+
|
|
52
|
+
image::02-service-groups.svg[]
|
|
53
|
+
|
|
54
|
+
== Features Demonstrated
|
|
55
|
+
|
|
56
|
+
[%header,cols="1,1"]
|
|
57
|
+
|===
|
|
58
|
+
| Feature | Example
|
|
59
|
+
|
|
60
|
+
| Service definitions
|
|
61
|
+
| 01, 02
|
|
62
|
+
|
|
63
|
+
| Service connections
|
|
64
|
+
| 01, 02
|
|
65
|
+
|
|
66
|
+
| Service grouping
|
|
67
|
+
| 02
|
|
68
|
+
|
|
69
|
+
| Icon types
|
|
70
|
+
| 01, 02
|
|
71
|
+
|
|
72
|
+
| Directional connections
|
|
73
|
+
| 01, 02
|
|
74
|
+
|===
|
|
75
|
+
|
|
76
|
+
== Additional Resources
|
|
77
|
+
|
|
78
|
+
* link:../../README.adoc[Main Documentation]
|
|
79
|
+
* https://mermaid.js.org/syntax/architecture.html[Mermaid Architecture Documentation]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="494.0"
|
|
3
|
+
height="180.0"
|
|
4
|
+
viewBox="0 0 494.0 180"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g id="connection-Frontend-Backend">
|
|
9
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 89.0 80 L 243.5 20"/>
|
|
10
|
+
<polygon fill="#000000" points="243.5,20 237.23718018105308,27.795966130981185 233.61708537405374,18.47422200295791"/>
|
|
11
|
+
</g>
|
|
12
|
+
<g id="connection-Backend-Database">
|
|
13
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 243.5 80 L 384.0 20"/>
|
|
14
|
+
<polygon fill="#000000" points="384.0,20 377.99924907456574,27.99943675085313 374.0719090950772,18.802915632217506"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="connection-Backend-Cache">
|
|
17
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 243.5 80 L 243.5 100"/>
|
|
18
|
+
<polygon fill="#000000" points="243.5,100 238.5,91.33974596215562 248.5,91.33974596215562"/>
|
|
19
|
+
</g>
|
|
20
|
+
<g id="connection-Backend-Queue">
|
|
21
|
+
<path fill="none" stroke="#000000" stroke-width="2.0" d="M 243.5 80 L 401.5 100"/>
|
|
22
|
+
<polygon fill="#000000" points="401.5,100 392.2804041676987,103.87286104695387 393.5362060318601,93.95202632007889"/>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="block-Frontend">
|
|
25
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="20.0" y="20.0" width="138.0" height="60.0"/>
|
|
26
|
+
<text fill="#000000" x="89.0" y="50.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Frontend App"</text>
|
|
27
|
+
</g>
|
|
28
|
+
<g id="block-Backend">
|
|
29
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="178.0" y="20.0" width="131.0" height="60.0"/>
|
|
30
|
+
<text fill="#000000" x="243.5" y="50.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Backend API"</text>
|
|
31
|
+
</g>
|
|
32
|
+
<g id="block-Database">
|
|
33
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="329.0" y="20.0" width="110.0" height="60.0"/>
|
|
34
|
+
<text fill="#000000" x="384.0" y="50.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Database"</text>
|
|
35
|
+
</g>
|
|
36
|
+
<g id="block-Cache">
|
|
37
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="178.0" y="100.0" width="131.0" height="60.0"/>
|
|
38
|
+
<text fill="#000000" x="243.5" y="130.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Redis Cache"</text>
|
|
39
|
+
</g>
|
|
40
|
+
<g id="block-Queue">
|
|
41
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="329.0" y="100.0" width="145.0" height="60.0"/>
|
|
42
|
+
<text fill="#000000" x="401.5" y="130.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Message Queue"</text>
|
|
43
|
+
</g>
|
|
44
|
+
</svg>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<svg
|
|
2
|
+
width="393.0"
|
|
3
|
+
height="400.0"
|
|
4
|
+
viewBox="0 0 393.0 400"
|
|
5
|
+
version="1.2"
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
>
|
|
8
|
+
<g id="block-db">
|
|
9
|
+
<circle fill="#ffffff" stroke="#000000" stroke-width="2.0" cx="70.0" cy="50.0" r="30.0"/>
|
|
10
|
+
<text fill="#000000" x="70.0" y="50.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">Database</text>
|
|
11
|
+
</g>
|
|
12
|
+
<g id="block-blockArrowId">
|
|
13
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="140.0" y="20.0" width="50.0" height="30.0"/>
|
|
14
|
+
<text fill="#000000" x="165.0" y="35.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Arrow"</text>
|
|
15
|
+
</g>
|
|
16
|
+
<g id="block-blockArrowId2">
|
|
17
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="210.0" y="20.0" width="50.0" height="30.0"/>
|
|
18
|
+
<text fill="#000000" x="235.0" y="35.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">"Arrow"</text>
|
|
19
|
+
</g>
|
|
20
|
+
<g id="block-A">
|
|
21
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="20.0" y="100.0" width="103.0" height="60.0"/>
|
|
22
|
+
<text fill="#000000" x="71.5" y="130.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">Rectangle</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="block-B">
|
|
25
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="143.0" y="100.0" width="220.0" height="60.0"/>
|
|
26
|
+
<text fill="#000000" x="253.0" y="130.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">Wide Block</text>
|
|
27
|
+
</g>
|
|
28
|
+
<g id="block-C">
|
|
29
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="20.0" y="180.0" width="100.0" height="60.0"/>
|
|
30
|
+
<text fill="#000000" x="70.0" y="210.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">Another</text>
|
|
31
|
+
</g>
|
|
32
|
+
<g id="block-compound">
|
|
33
|
+
<rect fill="none" stroke="#666" stroke-width="2" x="143.0" y="180.0" width="100.0" height="200.0" stroke-dasharray="5,5"/>
|
|
34
|
+
<g id="block-D">
|
|
35
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="163.0" y="200.0" width="100.0" height="60.0"/>
|
|
36
|
+
<text fill="#000000" x="213.0" y="230.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">D</text>
|
|
37
|
+
</g>
|
|
38
|
+
<g id="block-E">
|
|
39
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="163.0" y="280.0" width="100.0" height="60.0"/>
|
|
40
|
+
<text fill="#000000" x="213.0" y="310.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">E</text>
|
|
41
|
+
</g>
|
|
42
|
+
</g>
|
|
43
|
+
<g id="block-F">
|
|
44
|
+
<rect fill="#ffffff" stroke="#000000" stroke-width="2.0" x="273.0" y="180.0" width="100.0" height="60.0"/>
|
|
45
|
+
<text fill="#000000" x="323.0" y="210.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14.0" dominant-baseline="middle">F</text>
|
|
46
|
+
</g>
|
|
47
|
+
</svg>
|