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.
Files changed (382) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/build_deploy.yml +59 -0
  3. data/.github/workflows/links.yml +85 -0
  4. data/.github/workflows/rake.yml +15 -0
  5. data/.github/workflows/release.yml +27 -0
  6. data/.gitignore +68 -0
  7. data/.rspec +3 -0
  8. data/.rubocop.yml +14 -0
  9. data/.rubocop_todo.yml +70 -0
  10. data/ARCHITECTURE.md +744 -0
  11. data/Gemfile +12 -0
  12. data/LICENSE +25 -0
  13. data/README.adoc +357 -0
  14. data/Rakefile +11 -0
  15. data/docs/.gitignore +1 -0
  16. data/docs/Gemfile +13 -0
  17. data/docs/_config.yml +182 -0
  18. data/docs/_diagram_types/architecture-diagram.adoc +314 -0
  19. data/docs/_diagram_types/block-diagram.adoc +345 -0
  20. data/docs/_diagram_types/c4-diagram.adoc +559 -0
  21. data/docs/_diagram_types/class-diagram.adoc +816 -0
  22. data/docs/_diagram_types/er-diagram.adoc +719 -0
  23. data/docs/_diagram_types/error-diagram.adoc +114 -0
  24. data/docs/_diagram_types/examples/flowchart-examples.adoc +29 -0
  25. data/docs/_diagram_types/flowchart.adoc +488 -0
  26. data/docs/_diagram_types/gantt-chart.adoc +502 -0
  27. data/docs/_diagram_types/git-graph.adoc +600 -0
  28. data/docs/_diagram_types/index.adoc +192 -0
  29. data/docs/_diagram_types/info-diagram.adoc +103 -0
  30. data/docs/_diagram_types/kanban-diagram.adoc +262 -0
  31. data/docs/_diagram_types/mindmap.adoc +603 -0
  32. data/docs/_diagram_types/packet-diagram.adoc +378 -0
  33. data/docs/_diagram_types/pie-chart.adoc +335 -0
  34. data/docs/_diagram_types/quadrant-chart.adoc +406 -0
  35. data/docs/_diagram_types/radar-chart.adoc +528 -0
  36. data/docs/_diagram_types/requirement-diagram.adoc +416 -0
  37. data/docs/_diagram_types/sankey-diagram.adoc +357 -0
  38. data/docs/_diagram_types/sequence-diagram.adoc +664 -0
  39. data/docs/_diagram_types/state-diagram.adoc +658 -0
  40. data/docs/_diagram_types/timeline.adoc +352 -0
  41. data/docs/_diagram_types/treemap-diagram.adoc +462 -0
  42. data/docs/_diagram_types/user-journey.adoc +602 -0
  43. data/docs/_features/index.adoc +129 -0
  44. data/docs/_guides/cli-reference.adoc +203 -0
  45. data/docs/_guides/index.adoc +56 -0
  46. data/docs/_guides/installation.adoc +100 -0
  47. data/docs/_guides/quick-start.adoc +132 -0
  48. data/docs/_pages/comparison.adoc +441 -0
  49. data/docs/_pages/compatibility.adoc +300 -0
  50. data/docs/_pages/index.adoc +39 -0
  51. data/docs/_references/index.adoc +103 -0
  52. data/docs/_tutorials/index.adoc +57 -0
  53. data/docs/index.adoc +166 -0
  54. data/docs/lychee.toml +54 -0
  55. data/examples/.gitignore +10 -0
  56. data/examples/README.adoc +196 -0
  57. data/examples/README.md +64 -0
  58. data/examples/architecture/01-basic-services.mmd +9 -0
  59. data/examples/architecture/01-basic-services.svg +37 -0
  60. data/examples/architecture/02-service-groups.mmd +16 -0
  61. data/examples/architecture/02-service-groups.svg +55 -0
  62. data/examples/architecture/README.adoc +79 -0
  63. data/examples/block/01-basic-blocks.mmd +13 -0
  64. data/examples/block/01-basic-blocks.svg +44 -0
  65. data/examples/block/02-block-shapes.mmd +13 -0
  66. data/examples/block/02-block-shapes.svg +47 -0
  67. data/examples/block/README.adoc +85 -0
  68. data/examples/c4/01-context-diagram.mmd +10 -0
  69. data/examples/c4/01-context-diagram.svg +45 -0
  70. data/examples/c4/02-container-diagram.mmd +24 -0
  71. data/examples/c4/02-container-diagram.svg +105 -0
  72. data/examples/c4/README.adoc +92 -0
  73. data/examples/class_diagram/01-basic-classes.mmd +61 -0
  74. data/examples/class_diagram/01-basic-classes.svg +117 -0
  75. data/examples/class_diagram/02-relationships.mmd +61 -0
  76. data/examples/class_diagram/02-relationships.svg +129 -0
  77. data/examples/class_diagram/README.adoc +93 -0
  78. data/examples/er_diagram/01-basic-entities.mmd +64 -0
  79. data/examples/er_diagram/01-basic-entities.svg +5 -0
  80. data/examples/er_diagram/02-cardinality.mmd +57 -0
  81. data/examples/er_diagram/02-cardinality.svg +125 -0
  82. data/examples/er_diagram/README.adoc +88 -0
  83. data/examples/error/01-basic-error.mmd +1 -0
  84. data/examples/error/01-basic-error.svg +13 -0
  85. data/examples/error/02-error-display.mmd +1 -0
  86. data/examples/error/02-error-display.svg +13 -0
  87. data/examples/error/README.adoc +71 -0
  88. data/examples/error_message_example.svg +13 -0
  89. data/examples/flowchart/00-original.mmd +13 -0
  90. data/examples/flowchart/00-original.svg +5 -0
  91. data/examples/flowchart/01-basic-flow.mmd +7 -0
  92. data/examples/flowchart/01-basic-flow.svg +52 -0
  93. data/examples/flowchart/01-basic-flow.yml +13 -0
  94. data/examples/flowchart/02*.svg +87 -0
  95. data/examples/flowchart/02-node-shapes.mmd +9 -0
  96. data/examples/flowchart/02-node-shapes.svg +33 -0
  97. data/examples/flowchart/03-edge-types.mmd +7 -0
  98. data/examples/flowchart/03-edge-types.svg +53 -0
  99. data/examples/flowchart/04-subgraphs.mmd +9 -0
  100. data/examples/flowchart/04-subgraphs.svg +33 -0
  101. data/examples/flowchart/05-styling.mmd +9 -0
  102. data/examples/flowchart/05-styling.svg +33 -0
  103. data/examples/flowchart/06-complex-flow.mmd +8 -0
  104. data/examples/flowchart/06-complex-flow.svg +59 -0
  105. data/examples/flowchart/README.adoc +167 -0
  106. data/examples/gantt/01-simple-timeline.* +14 -0
  107. data/examples/gantt/01-simple-timeline.mmd +6 -0
  108. data/examples/gantt/01-simple-timeline.svg +26 -0
  109. data/examples/gantt/02-task-dependencies.mmd +6 -0
  110. data/examples/gantt/02-task-dependencies.svg +26 -0
  111. data/examples/gantt/README.adoc +86 -0
  112. data/examples/git_graph/01-linear-history.mmd +12 -0
  113. data/examples/git_graph/01-linear-history.svg +26 -0
  114. data/examples/git_graph/02-branching.mmd +12 -0
  115. data/examples/git_graph/02-branching.svg +26 -0
  116. data/examples/git_graph/README.adoc +73 -0
  117. data/examples/info/02-showinfo.mmd +1 -0
  118. data/examples/info/02-showinfo.svg +10 -0
  119. data/examples/info/README.adoc +58 -0
  120. data/examples/info_showinfo_example.svg +10 -0
  121. data/examples/kanban/01-simple-board.mmd +8 -0
  122. data/examples/kanban/01-simple-board.svg +43 -0
  123. data/examples/kanban/02-workflow.mmd +8 -0
  124. data/examples/kanban/02-workflow.svg +43 -0
  125. data/examples/kanban/README.adoc +79 -0
  126. data/examples/mindmap/01-simple-tree.mmd +19 -0
  127. data/examples/mindmap/01-simple-tree.svg +61 -0
  128. data/examples/mindmap/02-knowledge-map.mmd +19 -0
  129. data/examples/mindmap/02-knowledge-map.svg +61 -0
  130. data/examples/mindmap/README.adoc +77 -0
  131. data/examples/packet/01-basic-packet.* +17 -0
  132. data/examples/packet/01-basic-packet.mmd +4 -0
  133. data/examples/packet/01-basic-packet.svg +82 -0
  134. data/examples/packet/README.adoc +58 -0
  135. data/examples/pie/01-simple-chart.mmd +5 -0
  136. data/examples/pie/01-simple-chart.svg +17 -0
  137. data/examples/pie/02-labeled-slices.mmd +6 -0
  138. data/examples/pie/02-labeled-slices.svg +19 -0
  139. data/examples/pie/README.adoc +75 -0
  140. data/examples/quadrant/01-basic-quadrant.mmd +13 -0
  141. data/examples/quadrant/01-basic-quadrant.svg +33 -0
  142. data/examples/quadrant/02-positioned-items.mmd +14 -0
  143. data/examples/quadrant/02-positioned-items.svg +35 -0
  144. data/examples/quadrant/README.adoc +84 -0
  145. data/examples/radar/01-simple-radar.* +5 -0
  146. data/examples/radar/01-simple-radar.mmd +3 -0
  147. data/examples/radar/01-simple-radar.svg +25 -0
  148. data/examples/radar/02-multiple-curves.mmd +4 -0
  149. data/examples/radar/02-multiple-curves.svg +43 -0
  150. data/examples/radar/README.adoc +75 -0
  151. data/examples/requirement/01-basic-requirements.mmd +23 -0
  152. data/examples/requirement/01-basic-requirements.svg +49 -0
  153. data/examples/requirement/02-risk-levels.mmd +23 -0
  154. data/examples/requirement/02-risk-levels.svg +49 -0
  155. data/examples/requirement/README.adoc +85 -0
  156. data/examples/sankey/01-simple-flow.mmd +7 -0
  157. data/examples/sankey/01-simple-flow.svg +34 -0
  158. data/examples/sankey/02-multi-stage.mmd +11 -0
  159. data/examples/sankey/02-multi-stage.svg +44 -0
  160. data/examples/sankey/README.adoc +74 -0
  161. data/examples/sequence/01-basic-sequence.mmd +27 -0
  162. data/examples/sequence/01-basic-sequence.svg +5 -0
  163. data/examples/sequence/02-activations.mmd +17 -0
  164. data/examples/sequence/02-activations.svg +78 -0
  165. data/examples/sequence/README.adoc +86 -0
  166. data/examples/state_diagram/01-simple-states.mmd +29 -0
  167. data/examples/state_diagram/01-simple-states.svg +5 -0
  168. data/examples/state_diagram/02-composite.mmd +19 -0
  169. data/examples/state_diagram/02-composite.svg +81 -0
  170. data/examples/state_diagram/README.adoc +90 -0
  171. data/examples/timeline/01-simple-timeline.mmd +11 -0
  172. data/examples/timeline/01-simple-timeline.svg +36 -0
  173. data/examples/timeline/02-periods.mmd +15 -0
  174. data/examples/timeline/02-periods.svg +47 -0
  175. data/examples/timeline/README.adoc +78 -0
  176. data/examples/treemap/01-basic-treemap.mmd +12 -0
  177. data/examples/treemap/01-basic-treemap.svg +59 -0
  178. data/examples/treemap/README.adoc +59 -0
  179. data/examples/user_journey/01-simple-journey.mmd +23 -0
  180. data/examples/user_journey/01-simple-journey.svg +5 -0
  181. data/examples/user_journey/02-multi-actor.mmd +18 -0
  182. data/examples/user_journey/02-multi-actor.svg +129 -0
  183. data/examples/user_journey/README.adoc +81 -0
  184. data/examples/xychart/01-line-chart.mmd +5 -0
  185. data/examples/xychart/01-line-chart.svg +43 -0
  186. data/examples/xychart/02-bar-chart.mmd +7 -0
  187. data/examples/xychart/02-bar-chart.svg +48 -0
  188. data/examples/xychart/README.adoc +80 -0
  189. data/exe/sirena +7 -0
  190. data/lib/sirena/cli.rb +138 -0
  191. data/lib/sirena/commands/batch.rb +117 -0
  192. data/lib/sirena/commands/render.rb +80 -0
  193. data/lib/sirena/commands/types.rb +29 -0
  194. data/lib/sirena/commands/version.rb +24 -0
  195. data/lib/sirena/diagram/architecture.rb +46 -0
  196. data/lib/sirena/diagram/base.rb +61 -0
  197. data/lib/sirena/diagram/block.rb +81 -0
  198. data/lib/sirena/diagram/c4.rb +328 -0
  199. data/lib/sirena/diagram/class_diagram.rb +385 -0
  200. data/lib/sirena/diagram/er_diagram.rb +238 -0
  201. data/lib/sirena/diagram/error.rb +38 -0
  202. data/lib/sirena/diagram/flowchart.rb +160 -0
  203. data/lib/sirena/diagram/gantt.rb +71 -0
  204. data/lib/sirena/diagram/git_graph.rb +36 -0
  205. data/lib/sirena/diagram/info.rb +38 -0
  206. data/lib/sirena/diagram/kanban.rb +178 -0
  207. data/lib/sirena/diagram/mindmap.rb +54 -0
  208. data/lib/sirena/diagram/packet.rb +79 -0
  209. data/lib/sirena/diagram/pie.rb +115 -0
  210. data/lib/sirena/diagram/quadrant.rb +138 -0
  211. data/lib/sirena/diagram/radar.rb +52 -0
  212. data/lib/sirena/diagram/requirement.rb +133 -0
  213. data/lib/sirena/diagram/sankey.rb +217 -0
  214. data/lib/sirena/diagram/sequence.rb +242 -0
  215. data/lib/sirena/diagram/state_diagram.rb +237 -0
  216. data/lib/sirena/diagram/timeline.rb +171 -0
  217. data/lib/sirena/diagram/treemap.rb +84 -0
  218. data/lib/sirena/diagram/user_journey.rb +149 -0
  219. data/lib/sirena/diagram/xy_chart.rb +76 -0
  220. data/lib/sirena/diagram.rb +8 -0
  221. data/lib/sirena/diagram_registry.rb +101 -0
  222. data/lib/sirena/engine.rb +292 -0
  223. data/lib/sirena/parser/architecture.rb +41 -0
  224. data/lib/sirena/parser/base.rb +41 -0
  225. data/lib/sirena/parser/block.rb +72 -0
  226. data/lib/sirena/parser/c4.rb +53 -0
  227. data/lib/sirena/parser/class_diagram.rb +63 -0
  228. data/lib/sirena/parser/er_diagram.rb +40 -0
  229. data/lib/sirena/parser/error.rb +49 -0
  230. data/lib/sirena/parser/flowchart.rb +71 -0
  231. data/lib/sirena/parser/gantt.rb +60 -0
  232. data/lib/sirena/parser/git_graph.rb +95 -0
  233. data/lib/sirena/parser/grammars/architecture.rb +145 -0
  234. data/lib/sirena/parser/grammars/block.rb +190 -0
  235. data/lib/sirena/parser/grammars/c4.rb +226 -0
  236. data/lib/sirena/parser/grammars/class_diagram.rb +284 -0
  237. data/lib/sirena/parser/grammars/common.rb +84 -0
  238. data/lib/sirena/parser/grammars/er_diagram.rb +114 -0
  239. data/lib/sirena/parser/grammars/error.rb +40 -0
  240. data/lib/sirena/parser/grammars/flowchart.rb +298 -0
  241. data/lib/sirena/parser/grammars/gantt.rb +252 -0
  242. data/lib/sirena/parser/grammars/git_graph.rb +167 -0
  243. data/lib/sirena/parser/grammars/info.rb +58 -0
  244. data/lib/sirena/parser/grammars/kanban.rb +83 -0
  245. data/lib/sirena/parser/grammars/mindmap.rb +115 -0
  246. data/lib/sirena/parser/grammars/packet.rb +73 -0
  247. data/lib/sirena/parser/grammars/pie.rb +128 -0
  248. data/lib/sirena/parser/grammars/quadrant.rb +199 -0
  249. data/lib/sirena/parser/grammars/radar.rb +150 -0
  250. data/lib/sirena/parser/grammars/requirement.rb +188 -0
  251. data/lib/sirena/parser/grammars/sankey.rb +104 -0
  252. data/lib/sirena/parser/grammars/sequence.rb +247 -0
  253. data/lib/sirena/parser/grammars/state_diagram.rb +172 -0
  254. data/lib/sirena/parser/grammars/timeline.rb +142 -0
  255. data/lib/sirena/parser/grammars/treemap.rb +120 -0
  256. data/lib/sirena/parser/grammars/xy_chart.rb +120 -0
  257. data/lib/sirena/parser/info.rb +49 -0
  258. data/lib/sirena/parser/kanban.rb +97 -0
  259. data/lib/sirena/parser/mindmap.rb +106 -0
  260. data/lib/sirena/parser/packet.rb +76 -0
  261. data/lib/sirena/parser/pie.rb +49 -0
  262. data/lib/sirena/parser/quadrant.rb +57 -0
  263. data/lib/sirena/parser/radar.rb +104 -0
  264. data/lib/sirena/parser/requirement.rb +70 -0
  265. data/lib/sirena/parser/sankey.rb +64 -0
  266. data/lib/sirena/parser/sequence.rb +51 -0
  267. data/lib/sirena/parser/state_diagram.rb +69 -0
  268. data/lib/sirena/parser/timeline.rb +57 -0
  269. data/lib/sirena/parser/transforms/architecture.rb +97 -0
  270. data/lib/sirena/parser/transforms/block.rb +254 -0
  271. data/lib/sirena/parser/transforms/c4.rb +347 -0
  272. data/lib/sirena/parser/transforms/class_diagram.rb +352 -0
  273. data/lib/sirena/parser/transforms/er_diagram.rb +169 -0
  274. data/lib/sirena/parser/transforms/error.rb +58 -0
  275. data/lib/sirena/parser/transforms/flowchart.rb +293 -0
  276. data/lib/sirena/parser/transforms/gantt.rb +215 -0
  277. data/lib/sirena/parser/transforms/git_graph.rb +160 -0
  278. data/lib/sirena/parser/transforms/info.rb +58 -0
  279. data/lib/sirena/parser/transforms/kanban.rb +176 -0
  280. data/lib/sirena/parser/transforms/mindmap.rb +227 -0
  281. data/lib/sirena/parser/transforms/packet.rb +63 -0
  282. data/lib/sirena/parser/transforms/pie.rb +143 -0
  283. data/lib/sirena/parser/transforms/quadrant.rb +177 -0
  284. data/lib/sirena/parser/transforms/radar.rb +126 -0
  285. data/lib/sirena/parser/transforms/requirement.rb +272 -0
  286. data/lib/sirena/parser/transforms/sankey.rb +122 -0
  287. data/lib/sirena/parser/transforms/sequence.rb +342 -0
  288. data/lib/sirena/parser/transforms/state_diagram.rb +292 -0
  289. data/lib/sirena/parser/transforms/timeline.rb +177 -0
  290. data/lib/sirena/parser/transforms/treemap.rb +81 -0
  291. data/lib/sirena/parser/transforms/xy_chart.rb +132 -0
  292. data/lib/sirena/parser/treemap.rb +98 -0
  293. data/lib/sirena/parser/user_journey.rb +120 -0
  294. data/lib/sirena/parser/xy_chart.rb +114 -0
  295. data/lib/sirena/parser.rb +8 -0
  296. data/lib/sirena/renderer/architecture.rb +251 -0
  297. data/lib/sirena/renderer/base.rb +251 -0
  298. data/lib/sirena/renderer/block.rb +286 -0
  299. data/lib/sirena/renderer/c4.rb +490 -0
  300. data/lib/sirena/renderer/class_diagram.rb +499 -0
  301. data/lib/sirena/renderer/er_diagram.rb +417 -0
  302. data/lib/sirena/renderer/error.rb +131 -0
  303. data/lib/sirena/renderer/flowchart.rb +301 -0
  304. data/lib/sirena/renderer/gantt.rb +331 -0
  305. data/lib/sirena/renderer/git_graph.rb +368 -0
  306. data/lib/sirena/renderer/info.rb +93 -0
  307. data/lib/sirena/renderer/kanban.rb +295 -0
  308. data/lib/sirena/renderer/mindmap.rb +396 -0
  309. data/lib/sirena/renderer/packet.rb +239 -0
  310. data/lib/sirena/renderer/pie.rb +235 -0
  311. data/lib/sirena/renderer/quadrant.rb +292 -0
  312. data/lib/sirena/renderer/radar.rb +323 -0
  313. data/lib/sirena/renderer/requirement.rb +371 -0
  314. data/lib/sirena/renderer/sankey.rb +255 -0
  315. data/lib/sirena/renderer/sequence.rb +424 -0
  316. data/lib/sirena/renderer/state_diagram.rb +328 -0
  317. data/lib/sirena/renderer/timeline.rb +304 -0
  318. data/lib/sirena/renderer/treemap.rb +152 -0
  319. data/lib/sirena/renderer/user_journey.rb +331 -0
  320. data/lib/sirena/renderer/xy_chart.rb +452 -0
  321. data/lib/sirena/renderer.rb +8 -0
  322. data/lib/sirena/svg/circle.rb +41 -0
  323. data/lib/sirena/svg/document.rb +103 -0
  324. data/lib/sirena/svg/element.rb +65 -0
  325. data/lib/sirena/svg/ellipse.rb +33 -0
  326. data/lib/sirena/svg/group.rb +71 -0
  327. data/lib/sirena/svg/line.rb +49 -0
  328. data/lib/sirena/svg/path.rb +76 -0
  329. data/lib/sirena/svg/polygon.rb +43 -0
  330. data/lib/sirena/svg/polyline.rb +35 -0
  331. data/lib/sirena/svg/rect.rb +57 -0
  332. data/lib/sirena/svg/style.rb +44 -0
  333. data/lib/sirena/svg/text.rb +72 -0
  334. data/lib/sirena/svg.rb +19 -0
  335. data/lib/sirena/text_measurement.rb +71 -0
  336. data/lib/sirena/theme/builtin/dark.yml +70 -0
  337. data/lib/sirena/theme/builtin/default.yml +80 -0
  338. data/lib/sirena/theme/builtin/high_contrast.yml +70 -0
  339. data/lib/sirena/theme/builtin/light.yml +70 -0
  340. data/lib/sirena/theme/color_palette.rb +48 -0
  341. data/lib/sirena/theme/effect_styles.rb +28 -0
  342. data/lib/sirena/theme/registry.rb +41 -0
  343. data/lib/sirena/theme/shape_styles.rb +28 -0
  344. data/lib/sirena/theme/spacing_config.rb +24 -0
  345. data/lib/sirena/theme/typography.rb +30 -0
  346. data/lib/sirena/theme.rb +69 -0
  347. data/lib/sirena/transform/architecture.rb +273 -0
  348. data/lib/sirena/transform/base.rb +199 -0
  349. data/lib/sirena/transform/block.rb +215 -0
  350. data/lib/sirena/transform/c4.rb +288 -0
  351. data/lib/sirena/transform/class_diagram.rb +296 -0
  352. data/lib/sirena/transform/er_diagram.rb +204 -0
  353. data/lib/sirena/transform/error.rb +39 -0
  354. data/lib/sirena/transform/flowchart.rb +161 -0
  355. data/lib/sirena/transform/gantt.rb +253 -0
  356. data/lib/sirena/transform/git_graph.rb +283 -0
  357. data/lib/sirena/transform/info.rb +39 -0
  358. data/lib/sirena/transform/kanban.rb +180 -0
  359. data/lib/sirena/transform/mindmap.rb +251 -0
  360. data/lib/sirena/transform/packet.rb +185 -0
  361. data/lib/sirena/transform/pie.rb +62 -0
  362. data/lib/sirena/transform/quadrant.rb +167 -0
  363. data/lib/sirena/transform/radar.rb +227 -0
  364. data/lib/sirena/transform/requirement.rb +233 -0
  365. data/lib/sirena/transform/sankey.rb +212 -0
  366. data/lib/sirena/transform/sequence.rb +143 -0
  367. data/lib/sirena/transform/state_diagram.rb +228 -0
  368. data/lib/sirena/transform/timeline.rb +139 -0
  369. data/lib/sirena/transform/treemap.rb +120 -0
  370. data/lib/sirena/transform/user_journey.rb +207 -0
  371. data/lib/sirena/transform/xy_chart.rb +273 -0
  372. data/lib/sirena/transform.rb +8 -0
  373. data/lib/sirena/version.rb +5 -0
  374. data/lib/sirena.rb +328 -0
  375. data/lib/tasks/benchmark.rake +532 -0
  376. data/lib/tasks/examples.rake +468 -0
  377. data/lib/tasks/generate_mermaid_fixtures.rake +363 -0
  378. data/lib/tasks/mermaid_fixtures.rake +46 -0
  379. data/scripts/extract_mermaid_tests.rb +493 -0
  380. data/scripts/rename_to_sirena.rb +73 -0
  381. data/sirena.gemspec +47 -0
  382. metadata +529 -0
@@ -0,0 +1,167 @@
1
+ = Flowchart Examples
2
+
3
+ == Purpose
4
+
5
+ Flowcharts visualize processes, workflows, and decision trees using nodes and directed edges. They are ideal for representing algorithms, business processes, and system logic flows.
6
+
7
+ == When to Use
8
+
9
+ * Process documentation and standard operating procedures
10
+ * Algorithm visualization and pseudocode representation
11
+ * Decision tree mapping and workflow design
12
+ * System flow diagrams and state transitions
13
+ * Business process modeling (BPM)
14
+
15
+ == Syntax Overview
16
+
17
+ [source,mermaid]
18
+ ----
19
+ graph TD
20
+ A[Rectangle Node]
21
+ B{Decision Node}
22
+ C([Rounded Node])
23
+
24
+ A --> B
25
+ B -->|Yes| C
26
+ B -->|No| A
27
+ ----
28
+
29
+ **Direction**: `TD` (top-down), `LR` (left-right), `BT` (bottom-top), `RL` (right-left)
30
+
31
+ **Node Shapes**:
32
+ - `[text]` - Rectangle
33
+ - `(text)` - Rounded rectangle
34
+ - `([text])` - Stadium/pill shape
35
+ - `[[text]]` - Subroutine
36
+ - `[(text)]` - Database/cylinder
37
+ - `((text))` - Circle
38
+ - `{text}` - Rhombus/decision
39
+ - `{{text}}` - Hexagon
40
+
41
+ **Edge Types**:
42
+ - `-->` - Arrow
43
+ - `---` - Line
44
+ - `-.->` - Dotted arrow
45
+ - `-.-` - Dotted line
46
+ - `==>` - Thick arrow
47
+ - `===` - Thick line
48
+
49
+ == Examples
50
+
51
+ === 01: Basic Flow
52
+
53
+ Demonstrates fundamental flowchart structure with start/end nodes, process steps, and decision points.
54
+
55
+ **File**: link:01-basic-flow.mmd[01-basic-flow.mmd]
56
+
57
+ [source,mermaid]
58
+ ----
59
+ include::01-basic-flow.mmd[]
60
+ ----
61
+
62
+ image::01-basic-flow.svg[]
63
+
64
+ === 02: Node Shapes
65
+
66
+ Showcases all available node shapes in Sirena flowcharts.
67
+
68
+ **File**: link:02-node-shapes.mmd[02-node-shapes.mmd]
69
+
70
+ [source,mermaid]
71
+ ----
72
+ include::02-node-shapes.mmd[]
73
+ ----
74
+
75
+ image::02-node-shapes.svg[]
76
+
77
+ === 03: Edge Types
78
+
79
+ Demonstrates different edge/connection styles including arrows, lines, dotted, thick, and labeled edges.
80
+
81
+ **File**: link:03-edge-types.mmd[03-edge-types.mmd]
82
+
83
+ [source,mermaid]
84
+ ----
85
+ include::03-edge-types.mmd[]
86
+ ----
87
+
88
+ image::03-edge-types.svg[]
89
+
90
+ === 04: Subgraphs
91
+
92
+ Shows how to group related nodes using subgraphs to represent system boundaries or logical groupings.
93
+
94
+ **File**: link:04-subgraphs.mmd[04-subgraphs.mmd]
95
+
96
+ [source,mermaid]
97
+ ----
98
+ include::04-subgraphs.mmd[]
99
+ ----
100
+
101
+ image::04-subgraphs.svg[]
102
+
103
+ === 05: Styling
104
+
105
+ Illustrates custom styling with classDef and linkStyle for colored nodes and edges.
106
+
107
+ **File**: link:05-styling.mmd[05-styling.mmd]
108
+
109
+ [source,mermaid]
110
+ ----
111
+ include::05-styling.mmd[]
112
+ ----
113
+
114
+ image::05-styling.svg[]
115
+
116
+ === 06: Complex Flow
117
+
118
+ Demonstrates a realistic complex workflow with multiple paths, error handling, and state management.
119
+
120
+ **File**: link:06-complex-flow.mmd[06-complex-flow.mmd]
121
+
122
+ [source,mermaid]
123
+ ----
124
+ include::06-complex-flow.mmd[]
125
+ ----
126
+
127
+ image::06-complex-flow.svg[]
128
+
129
+ == Features Demonstrated
130
+
131
+ [%header,cols="1,1"]
132
+ |===
133
+ | Feature | Example
134
+
135
+ | Basic node and edge creation
136
+ | 01
137
+
138
+ | All node shapes
139
+ | 02
140
+
141
+ | All edge types and labels
142
+ | 03
143
+
144
+ | Subgraphs/grouping
145
+ | 04
146
+
147
+ | Custom styling (classDef, linkStyle)
148
+ | 05
149
+
150
+ | Complex multi-path workflows
151
+ | 06
152
+
153
+ | Decision points and branching
154
+ | 01, 06
155
+
156
+ | Error handling patterns
157
+ | 01, 06
158
+
159
+ | Process loops
160
+ | 06
161
+ |===
162
+
163
+ == Additional Resources
164
+
165
+ * link:../../README.adoc[Main Documentation]
166
+ * link:../../docs/diagrams/flowchart.adoc[Flowchart Full Reference] (if exists)
167
+ * https://mermaid.js.org/syntax/flowchart.html[Mermaid Flowchart Documentation]
@@ -0,0 +1,14 @@
1
+ gantt
2
+ title Project Development Timeline
3
+ dateFormat YYYY-MM-DD
4
+ section Planning
5
+ Requirements Gathering : a1, 2024-01-01, 15d
6
+ Design Phase : a2, after a1, 10d
7
+ section Development
8
+ Backend Development : a3, after a2, 30d
9
+ Frontend Development : a4, after a2, 30d
10
+ Integration : a5, after a3, 10d
11
+ section Testing
12
+ Unit Testing : after a3, 15d
13
+ Integration Testing : after a5, 10d
14
+ User Acceptance : after Integration Testing, 5d
@@ -0,0 +1,6 @@
1
+ gantt
2
+ title Project Schedule
3
+ dateFormat YYYY-MM-DD
4
+ section Phase 1
5
+ Task 1 :2024-01-01, 30d
6
+ Task 2 :2024-02-01, 45d
@@ -0,0 +1,26 @@
1
+ <svg
2
+ width="1050.0"
3
+ height="290.0"
4
+ viewBox="0 0 1050 290"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <text fill="#000000" x="600.0" y="40.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16.0" font-weight="bold">Project Schedule</text>
9
+ <rect fill="#ffffff" stroke="#000000" stroke-width="1" x="200.0" y="80.0" width="800.0" height="40.0"/>
10
+ <text fill="#000000" x="200.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">11-15</text>
11
+ <text fill="#000000" x="375.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">11-22</text>
12
+ <text fill="#000000" x="550.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">11-29</text>
13
+ <text fill="#000000" x="725.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">12-06</text>
14
+ <text fill="#000000" x="900.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">12-13</text>
15
+ <line stroke="#000000" stroke-width="1" x1="200.0" y1="120.0" x2="200.0" y2="240.0" stroke-dasharray="2,2"/>
16
+ <line stroke="#000000" stroke-width="1" x1="375.0" y1="120.0" x2="375.0" y2="240.0" stroke-dasharray="2,2"/>
17
+ <line stroke="#000000" stroke-width="1" x1="550.0" y1="120.0" x2="550.0" y2="240.0" stroke-dasharray="2,2"/>
18
+ <line stroke="#000000" stroke-width="1" x1="725.0" y1="120.0" x2="725.0" y2="240.0" stroke-dasharray="2,2"/>
19
+ <line stroke="#000000" stroke-width="1" x1="900.0" y1="120.0" x2="900.0" y2="240.0" stroke-dasharray="2,2"/>
20
+ <rect fill="#f0f0f0" stroke="none" x="0.0" y="120.0" width="1050.0" height="30.0"/>
21
+ <text fill="#000000" x="10.0" y="135.0" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" dominant-baseline="middle">Phase 1</text>
22
+ <text fill="#000000" x="10.0" y="170.0" font-family="Arial, Helvetica, sans-serif" font-size="12.0" dominant-baseline="middle">Task 1</text>
23
+ <rect fill="#428BCA" stroke="#000000" stroke-width="1" x="200.0" y="158.0" width="20.0" height="24.0" rx="3.0" ry="3.0"/>
24
+ <text fill="#000000" x="10.0" y="210.0" font-family="Arial, Helvetica, sans-serif" font-size="12.0" dominant-baseline="middle">Task 2</text>
25
+ <rect fill="#428BCA" stroke="#000000" stroke-width="1" x="200.0" y="198.0" width="20.0" height="24.0" rx="3.0" ry="3.0"/>
26
+ </svg>
@@ -0,0 +1,6 @@
1
+ gantt
2
+ title Project Schedule
3
+ dateFormat YYYY-MM-DD
4
+ section Phase 1
5
+ Task 1 :2024-01-01, 30d
6
+ Task 2 :2024-02-01, 45d
@@ -0,0 +1,26 @@
1
+ <svg
2
+ width="1050.0"
3
+ height="290.0"
4
+ viewBox="0 0 1050 290"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <text fill="#000000" x="600.0" y="40.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16.0" font-weight="bold">Project Schedule</text>
9
+ <rect fill="#ffffff" stroke="#000000" stroke-width="1" x="200.0" y="80.0" width="800.0" height="40.0"/>
10
+ <text fill="#000000" x="200.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">11-15</text>
11
+ <text fill="#000000" x="375.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">11-22</text>
12
+ <text fill="#000000" x="550.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">11-29</text>
13
+ <text fill="#000000" x="725.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">12-06</text>
14
+ <text fill="#000000" x="900.0" y="110.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">12-13</text>
15
+ <line stroke="#000000" stroke-width="1" x1="200.0" y1="120.0" x2="200.0" y2="240.0" stroke-dasharray="2,2"/>
16
+ <line stroke="#000000" stroke-width="1" x1="375.0" y1="120.0" x2="375.0" y2="240.0" stroke-dasharray="2,2"/>
17
+ <line stroke="#000000" stroke-width="1" x1="550.0" y1="120.0" x2="550.0" y2="240.0" stroke-dasharray="2,2"/>
18
+ <line stroke="#000000" stroke-width="1" x1="725.0" y1="120.0" x2="725.0" y2="240.0" stroke-dasharray="2,2"/>
19
+ <line stroke="#000000" stroke-width="1" x1="900.0" y1="120.0" x2="900.0" y2="240.0" stroke-dasharray="2,2"/>
20
+ <rect fill="#f0f0f0" stroke="none" x="0.0" y="120.0" width="1050.0" height="30.0"/>
21
+ <text fill="#000000" x="10.0" y="135.0" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" dominant-baseline="middle">Phase 1</text>
22
+ <text fill="#000000" x="10.0" y="170.0" font-family="Arial, Helvetica, sans-serif" font-size="12.0" dominant-baseline="middle">Task 1</text>
23
+ <rect fill="#428BCA" stroke="#000000" stroke-width="1" x="200.0" y="158.0" width="20.0" height="24.0" rx="3.0" ry="3.0"/>
24
+ <text fill="#000000" x="10.0" y="210.0" font-family="Arial, Helvetica, sans-serif" font-size="12.0" dominant-baseline="middle">Task 2</text>
25
+ <rect fill="#428BCA" stroke="#000000" stroke-width="1" x="200.0" y="198.0" width="20.0" height="24.0" rx="3.0" ry="3.0"/>
26
+ </svg>
@@ -0,0 +1,86 @@
1
+ = Gantt Chart Examples
2
+
3
+ == Purpose
4
+
5
+ Gantt charts visualize project schedules, showing tasks, their durations, dependencies, and milestones over time. Essential for project management and timeline planning.
6
+
7
+ == When to Use
8
+
9
+ * Project planning and scheduling
10
+ * Task dependency visualization
11
+ * Resource allocation planning
12
+ * Timeline communication with stakeholders
13
+ * Progress tracking and reporting
14
+
15
+ == Syntax Overview
16
+
17
+ [source,mermaid]
18
+ ----
19
+ gantt
20
+ title Project Schedule
21
+ dateFormat YYYY-MM-DD
22
+ section Phase 1
23
+ Task 1 :a1, 2024-01-01, 30d
24
+ Task 2 :after a1, 20d
25
+ ----
26
+
27
+ **Date Formats**: `YYYY-MM-DD`, `YYYY-MM-DD HH:mm`
28
+
29
+ **Task Dependencies**:
30
+ - `after taskId` - Start after another task
31
+ - `taskId, duration` - Explicit duration
32
+
33
+ == Examples
34
+
35
+ === 01: Simple Timeline
36
+
37
+ Demonstrates basic Gantt chart with sequential tasks and sections.
38
+
39
+ **File**: link:01-simple-timeline.mmd[01-simple-timeline.mmd]
40
+
41
+ [source,mermaid]
42
+ ----
43
+ include::01-simple-timeline.mmd[]
44
+ ----
45
+
46
+ image::01-simple-timeline.svg[]
47
+
48
+ === 02: Task Dependencies
49
+
50
+ Showcases task dependencies and parallel execution paths.
51
+
52
+ **File**: link:02-task-dependencies.mmd[02-task-dependencies.mmd]
53
+
54
+ [source,mermaid]
55
+ ----
56
+ include::02-task-dependencies.mmd[]
57
+ ----
58
+
59
+ image::02-task-dependencies.svg[]
60
+
61
+ == Features Demonstrated
62
+
63
+ [%header,cols="1,1"]
64
+ |===
65
+ | Feature | Example
66
+
67
+ | Basic task scheduling
68
+ | 01, 02
69
+
70
+ | Section grouping
71
+ | 01, 02
72
+
73
+ | Task dependencies
74
+ | 02
75
+
76
+ | Duration specification
77
+ | 01, 02
78
+
79
+ | Timeline visualization
80
+ | 01, 02
81
+ |===
82
+
83
+ == Additional Resources
84
+
85
+ * link:../../README.adoc[Main Documentation]
86
+ * https://mermaid.js.org/syntax/gantt.html[Mermaid Gantt Documentation]
@@ -0,0 +1,12 @@
1
+ gitGraph
2
+ commit id: "Initial commit"
3
+ branch develop
4
+ checkout develop
5
+ commit id: "Add feature A"
6
+ commit id: "Add feature B"
7
+ checkout main
8
+ merge develop
9
+ branch hotfix
10
+ commit id: "Fix critical bug"
11
+ checkout main
12
+ merge hotfix
@@ -0,0 +1,26 @@
1
+ <svg
2
+ width="640.0"
3
+ height="380.0"
4
+ viewBox="0 0 640.0 380.0"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <line fill="none" stroke="#db2777" stroke-width="2" x1="200.0" y1="220.0" x2="280.0" y2="220.0"/>
9
+ <path fill="none" stroke="#7c3aed" stroke-width="2" d="M 120 160 L 360 160" stroke-dasharray="5,3"/>
10
+ <line fill="none" stroke="#7c3aed" stroke-width="2" x1="360.0" y1="160.0" x2="440.0" y2="160.0"/>
11
+ <path fill="none" stroke="#7c3aed" stroke-width="2" d="M 440 160 L 520 160" stroke-dasharray="5,3"/>
12
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="120.0" cy="160.0" r="8.0"/>
13
+ <circle fill="#db2777" stroke="#db2777" stroke-width="2" cx="200.0" cy="220.0" r="8.0"/>
14
+ <circle fill="#db2777" stroke="#db2777" stroke-width="2" cx="280.0" cy="220.0" r="8.0"/>
15
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="360.0" cy="160.0" r="8.0"/>
16
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="440.0" cy="160.0" r="8.0"/>
17
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="520.0" cy="160.0" r="8.0"/>
18
+ <text fill="#000000" x="120.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Initial commit</text>
19
+ <text fill="#000000" x="200.0" y="240.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Add feature A</text>
20
+ <text fill="#000000" x="280.0" y="240.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Add feature B</text>
21
+ <text fill="#000000" x="360.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">commit-4</text>
22
+ <text fill="#000000" x="440.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Fix critical bug</text>
23
+ <text fill="#000000" x="520.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">commit-6</text>
24
+ <text fill="#2563eb" x="535.0" y="164.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0" font-weight="bold">main</text>
25
+ <text fill="#db2777" x="295.0" y="224.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0" font-weight="bold">develop</text>
26
+ </svg>
@@ -0,0 +1,12 @@
1
+ gitGraph
2
+ commit id: "Initial commit"
3
+ branch develop
4
+ checkout develop
5
+ commit id: "Add feature A"
6
+ commit id: "Add feature B"
7
+ checkout main
8
+ merge develop
9
+ branch hotfix
10
+ commit id: "Fix critical bug"
11
+ checkout main
12
+ merge hotfix
@@ -0,0 +1,26 @@
1
+ <svg
2
+ width="640.0"
3
+ height="380.0"
4
+ viewBox="0 0 640.0 380.0"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <line fill="none" stroke="#db2777" stroke-width="2" x1="200.0" y1="220.0" x2="280.0" y2="220.0"/>
9
+ <path fill="none" stroke="#7c3aed" stroke-width="2" d="M 120 160 L 360 160" stroke-dasharray="5,3"/>
10
+ <line fill="none" stroke="#7c3aed" stroke-width="2" x1="360.0" y1="160.0" x2="440.0" y2="160.0"/>
11
+ <path fill="none" stroke="#7c3aed" stroke-width="2" d="M 440 160 L 520 160" stroke-dasharray="5,3"/>
12
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="120.0" cy="160.0" r="8.0"/>
13
+ <circle fill="#db2777" stroke="#db2777" stroke-width="2" cx="200.0" cy="220.0" r="8.0"/>
14
+ <circle fill="#db2777" stroke="#db2777" stroke-width="2" cx="280.0" cy="220.0" r="8.0"/>
15
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="360.0" cy="160.0" r="8.0"/>
16
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="440.0" cy="160.0" r="8.0"/>
17
+ <circle fill="#7c3aed" stroke="#7c3aed" stroke-width="2" cx="520.0" cy="160.0" r="8.0"/>
18
+ <text fill="#000000" x="120.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Initial commit</text>
19
+ <text fill="#000000" x="200.0" y="240.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Add feature A</text>
20
+ <text fill="#000000" x="280.0" y="240.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Add feature B</text>
21
+ <text fill="#000000" x="360.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">commit-4</text>
22
+ <text fill="#000000" x="440.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">Fix critical bug</text>
23
+ <text fill="#000000" x="520.0" y="180.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="12.0">commit-6</text>
24
+ <text fill="#2563eb" x="535.0" y="164.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0" font-weight="bold">main</text>
25
+ <text fill="#db2777" x="295.0" y="224.0" text-anchor="start" font-family="Arial, Helvetica, sans-serif" font-size="12.0" font-weight="bold">develop</text>
26
+ </svg>
@@ -0,0 +1,73 @@
1
+ = Git Graph Examples
2
+
3
+ == Purpose
4
+
5
+ Git graph diagrams visualize Git repository history, showing commits, branches, merges, and tags in a timeline format.
6
+
7
+ == When to Use
8
+
9
+ * Visualizing Git branching strategies
10
+ * Documenting release workflows
11
+ * Teaching Git concepts
12
+ * Planning merge strategies
13
+ * Illustrating version control flows
14
+
15
+ == Syntax Overview
16
+
17
+ [source,mermaid]
18
+ ----
19
+ gitGraph
20
+ commit
21
+ branch develop
22
+ checkout develop
23
+ commit
24
+ checkout main
25
+ merge develop
26
+ ----
27
+
28
+ == Examples
29
+
30
+ === 01: Linear History
31
+
32
+ Demonstrates basic Git history with sequential commits.
33
+
34
+ **File**: link:01-linear-history.mmd[01-linear-history.mmd]
35
+
36
+ [source,mermaid]
37
+ ----
38
+ include::01-linear-history.mmd[]
39
+ ----
40
+
41
+ image::01-linear-history.svg[]
42
+
43
+ === 02: Branching
44
+
45
+ Showcases branching and merging workflows.
46
+
47
+ **File**: link:02-branching.mmd[02-branching.mmd]
48
+
49
+ image::02-branching.svg[]
50
+
51
+ == Features Demonstrated
52
+
53
+ [%header,cols="1,1"]
54
+ |===
55
+ | Feature | Example
56
+
57
+ | Linear commit history
58
+ | 01
59
+
60
+ | Branch creation
61
+ | 02
62
+
63
+ | Merge operations
64
+ | 02
65
+
66
+ | Multiple branches
67
+ | 02
68
+ |===
69
+
70
+ == Additional Resources
71
+
72
+ * link:../../README.adoc[Main Documentation]
73
+ * https://mermaid.js.org/syntax/gitgraph.html[Mermaid Git Graph Documentation]
@@ -0,0 +1 @@
1
+ info showInfo
@@ -0,0 +1,10 @@
1
+ <svg
2
+ width="500.0"
3
+ height="200.0"
4
+ viewBox="0 0 500 200"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <rect fill="#E3F2FD" stroke="#000000" stroke-width="2" x="50.0" y="50.0" width="400.0" height="100.0" rx="8.0" ry="8.0"/>
9
+ <text fill="#000000" x="250.0" y="105.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="bold">Info: showInfo enabled</text>
10
+ </svg>
@@ -0,0 +1,58 @@
1
+ = Info Diagram Examples
2
+
3
+ == Purpose
4
+
5
+ Info diagrams display informational messages and notices in a standardized format within documentation.
6
+
7
+ == When to Use
8
+
9
+ * Information display
10
+ * Notice visualization
11
+ * Announcement formatting
12
+ * Help text display
13
+ * Status messages
14
+
15
+ == Syntax Overview
16
+
17
+ [source,mermaid]
18
+ ----
19
+ info
20
+ title Information
21
+ showInfo
22
+ ----
23
+
24
+ == Examples
25
+
26
+ === 01: Show Info (missing file)
27
+
28
+ Basic info diagram example.
29
+
30
+ === 02: Show Info
31
+
32
+ Demonstrates info message display.
33
+
34
+ **File**: link:02-showinfo.mmd[02-showinfo.mmd]
35
+
36
+ [source,mermaid]
37
+ ----
38
+ include::02-showinfo.mmd[]
39
+ ----
40
+
41
+ image::02-showinfo.svg[]
42
+
43
+ == Features Demonstrated
44
+
45
+ [%header,cols="1,1"]
46
+ |===
47
+ | Feature | Example
48
+
49
+ | Info display
50
+ | 02
51
+
52
+ | Title display
53
+ | 02
54
+ |===
55
+
56
+ == Additional Resources
57
+
58
+ * link:../../README.adoc[Main Documentation]
@@ -0,0 +1,10 @@
1
+ <svg
2
+ width="500.0"
3
+ height="200.0"
4
+ viewBox="0 0 500 200"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <rect fill="#E3F2FD" stroke="#000000" stroke-width="2" x="50.0" y="50.0" width="400.0" height="100.0" rx="8.0" ry="8.0"/>
9
+ <text fill="#000000" x="250.0" y="105.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="bold">Info: showInfo enabled</text>
10
+ </svg>
@@ -0,0 +1,8 @@
1
+ kanban
2
+ todo[Todo]
3
+ docs[Create Documentation]@{ priority: 'High', ticket: 'DOC-001' }
4
+ tests[Write Tests]@{ assigned: 'dev1' }
5
+ doing[In Progress]
6
+ feature[Implement Feature X]@{ priority: 'Critical', ticket: 'FEAT-023', assigned: 'dev2' }
7
+ done[Done]
8
+ release[Release v1.0]
@@ -0,0 +1,43 @@
1
+ <svg
2
+ width="800.0"
3
+ height="379.0"
4
+ viewBox="0 0 800.0 379.0"
5
+ version="1.2"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="40.0" y="40.0" width="200.0" height="299.0" rx="8.0" ry="8.0"/>
9
+ <rect fill="#007bff" x="40.0" y="40.0" width="200.0" height="50.0" rx="8.0" ry="8.0"/>
10
+ <text fill="#ffffff" x="140.0" y="70.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold">Todo</text>
11
+ <rect fill="#ffffff" opacity="0.3" x="215.0" y="55.0" width="20.0" height="20.0" rx="10.0" ry="10.0"/>
12
+ <text fill="#ffffff" x="225.0" y="69.0" text-anchor="middle" font-size="11" font-weight="bold">2</text>
13
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="300.0" y="40.0" width="200.0" height="204.0" rx="8.0" ry="8.0"/>
14
+ <rect fill="#007bff" x="300.0" y="40.0" width="200.0" height="50.0" rx="8.0" ry="8.0"/>
15
+ <text fill="#ffffff" x="400.0" y="70.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold">In Progress</text>
16
+ <rect fill="#ffffff" opacity="0.3" x="475.0" y="55.0" width="20.0" height="20.0" rx="10.0" ry="10.0"/>
17
+ <text fill="#ffffff" x="485.0" y="69.0" text-anchor="middle" font-size="11" font-weight="bold">1</text>
18
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="560.0" y="40.0" width="200.0" height="150.0" rx="8.0" ry="8.0"/>
19
+ <rect fill="#007bff" x="560.0" y="40.0" width="200.0" height="50.0" rx="8.0" ry="8.0"/>
20
+ <text fill="#ffffff" x="660.0" y="70.0" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold">Done</text>
21
+ <rect fill="#ffffff" opacity="0.3" x="735.0" y="55.0" width="20.0" height="20.0" rx="10.0" ry="10.0"/>
22
+ <text fill="#ffffff" x="745.0" y="69.0" text-anchor="middle" font-size="11" font-weight="bold">1</text>
23
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="50.0" y="100.0" width="180.0" height="116.0" rx="6.0" ry="6.0"/>
24
+ <text fill="#1f2937" x="60.0" y="125.0" font-family="Arial, Helvetica, sans-serif" font-size="13">Create Documentation</text>
25
+ <text fill="#6c757d" x="60.0" y="150.0" font-family="Arial, Helvetica, sans-serif" font-size="10">Ticket:</text>
26
+ <text fill="#1f2937" x="120.0" y="150.0" font-family="Arial, Helvetica, sans-serif" font-size="10" font-weight="bold">DOC-001</text>
27
+ <text fill="#6c757d" x="60.0" y="168.0" font-family="Arial, Helvetica, sans-serif" font-size="10">Priority:</text>
28
+ <text fill="#1f2937" x="120.0" y="168.0" font-family="Arial, Helvetica, sans-serif" font-size="10" font-weight="bold">High</text>
29
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="50.0" y="231.0" width="180.0" height="98.0" rx="6.0" ry="6.0"/>
30
+ <text fill="#1f2937" x="60.0" y="256.0" font-family="Arial, Helvetica, sans-serif" font-size="13">Write Tests</text>
31
+ <text fill="#6c757d" x="60.0" y="281.0" font-family="Arial, Helvetica, sans-serif" font-size="10">Assigned:</text>
32
+ <text fill="#1f2937" x="120.0" y="281.0" font-family="Arial, Helvetica, sans-serif" font-size="10" font-weight="bold">dev1</text>
33
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="310.0" y="100.0" width="180.0" height="134.0" rx="6.0" ry="6.0"/>
34
+ <text fill="#1f2937" x="320.0" y="125.0" font-family="Arial, Helvetica, sans-serif" font-size="13">Implement Feature X</text>
35
+ <text fill="#6c757d" x="320.0" y="150.0" font-family="Arial, Helvetica, sans-serif" font-size="10">Assigned:</text>
36
+ <text fill="#1f2937" x="380.0" y="150.0" font-family="Arial, Helvetica, sans-serif" font-size="10" font-weight="bold">dev2</text>
37
+ <text fill="#6c757d" x="320.0" y="168.0" font-family="Arial, Helvetica, sans-serif" font-size="10">Ticket:</text>
38
+ <text fill="#1f2937" x="380.0" y="168.0" font-family="Arial, Helvetica, sans-serif" font-size="10" font-weight="bold">FEAT-023</text>
39
+ <text fill="#6c757d" x="320.0" y="186.0" font-family="Arial, Helvetica, sans-serif" font-size="10">Priority:</text>
40
+ <text fill="#1f2937" x="380.0" y="186.0" font-family="Arial, Helvetica, sans-serif" font-size="10" font-weight="bold">Critical</text>
41
+ <rect fill="#ffffff" stroke="#d1d5db" stroke-width="1" x="570.0" y="100.0" width="180.0" height="80.0" rx="6.0" ry="6.0"/>
42
+ <text fill="#1f2937" x="580.0" y="125.0" font-family="Arial, Helvetica, sans-serif" font-size="13">Release v1.0</text>
43
+ </svg>
@@ -0,0 +1,8 @@
1
+ kanban
2
+ todo[Todo]
3
+ docs[Create Documentation]@{ priority: 'High', ticket: 'DOC-001' }
4
+ tests[Write Tests]@{ assigned: 'dev1' }
5
+ doing[In Progress]
6
+ feature[Implement Feature X]@{ priority: 'Critical', ticket: 'FEAT-023', assigned: 'dev2' }
7
+ done[Done]
8
+ release[Release v1.0]