From ed0753ad224f0c65133bd7a63180257eecd9f5e3 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Wed, 8 Jan 2025 10:48:09 +0100 Subject: vault backup: 2025-01-08 10:48:09 --- 3 resources/mermaidjs/mermaidjs.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 3 resources/mermaidjs/mermaidjs.md (limited to '3 resources/mermaidjs') diff --git a/3 resources/mermaidjs/mermaidjs.md b/3 resources/mermaidjs/mermaidjs.md new file mode 100644 index 0000000..e468459 --- /dev/null +++ b/3 resources/mermaidjs/mermaidjs.md @@ -0,0 +1,21 @@ +**ZenUML** +Optional **Title** +**Participants** can be declared when used or at the start. +**Annotators** give **participants** a special icon, defined at the doc site. +**Aliases** give a short **participant** name a more descriptive name when rendered, e.g: A as Alice <- Alice will be rendered, but the code can use A. +**Messages** between **participants** can be **sync, async, creation or reply**. +**Sync** use A.\ have a block {} for nested messages +**Async** use an arrow A->B: How are you? +**Creation** new keyword new A(optional params) +**Reply** three ways to define: +* Assign var from **Sync** message, e.g: OptionalType a = A.SyncMessage() +* Return A.SyncMessage { return blaat } +* @return or @reply on an **async** message +**Nesting** can be done on both creation and sync messages using blocks {}. +**Comments** can be added using `// comment` and support markdown. +**Loops** can be defined using keywords: **while, for, foreach and loop**. +**Alternative** paths can be sequenced using **if, else** statements. if(blaat) { A.syncMessage(B) } +**Opt** fragments rendered via `opt { ... }`. This can be useful for optional responses or paths. +**Parallel** paths can be defined using `par { ... }`. +**Try/catch/finally** statements are supported as well. +**@Starter(participant)** to make the line start from a **participant** \ No newline at end of file -- cgit v1.2.3