| 6dd74de | | | 1 | <html> |
| 6dd74de | | | 2 | <body> |
| 6dd74de | | | 3 | <h1 class="header">Class Nodes</h1> |
| 6dd74de | | | 4 | <div class="node-showcase"> |
| 6dd74de | | | 5 | <div class="test"> |
| 6dd74de | | | 6 | <h2>Basic Class</h2> |
| 6dd74de | | | 7 | <pre class="mermaid"> |
| 6dd74de | | | 8 | --- |
| 6dd74de | | | 9 | config: |
| 6dd74de | | | 10 | htmlLabels: false |
| 6dd74de | | | 11 | --- |
| 6dd74de | | | 12 | classDiagram |
| 6dd74de | | | 13 | class _Duck_ { |
| 6dd74de | | | 14 | +String beakColor |
| 6dd74de | | | 15 | _+_swim_()a_ |
| 6dd74de | | | 16 | __+quack() test__ |
| 6dd74de | | | 17 | } |
| 6dd74de | | | 18 | </pre> |
| 6dd74de | | | 19 | </div> |
| 6dd74de | | | 20 | <div class="test"> |
| 6dd74de | | | 21 | <h2>Basic Class</h2> |
| 6dd74de | | | 22 | <pre class="mermaid"> |
| 6dd74de | | | 23 | --- |
| 6dd74de | | | 24 | config: |
| 6dd74de | | | 25 | htmlLabels: false |
| 6dd74de | | | 26 | --- |
| 6dd74de | | | 27 | classDiagram |
| 6dd74de | | | 28 | class Class10:::exClass2 { |
| 6dd74de | | | 29 | int[] id |
| 6dd74de | | | 30 | List~int~ ids |
| 6dd74de | | | 31 | test(List~int~ ids) List~bool~ |
| 6dd74de | | | 32 | testArray() bool[] |
| 6dd74de | | | 33 | } |
| 6dd74de | | | 34 | </pre> |
| 6dd74de | | | 35 | </div> |
| 6dd74de | | | 36 | <div class="test"> |
| 6dd74de | | | 37 | <h2>Basic Class</h2> |
| 6dd74de | | | 38 | <pre class="mermaid"> |
| 6dd74de | | | 39 | flowchart TD |
| 6dd74de | | | 40 | Start --> Stop |
| 6dd74de | | | 41 | </pre> |
| 6dd74de | | | 42 | </div> |
| 6dd74de | | | 43 | <div class="test"> |
| 6dd74de | | | 44 | <h2>Complex Class</h2> |
| 6dd74de | | | 45 | <pre class="mermaid"> |
| 6dd74de | | | 46 | classDiagram |
| 6dd74de | | | 47 | class Square~Shape~{ |
| 6dd74de | | | 48 | int id |
| 6dd74de | | | 49 | List~int~ position |
| 6dd74de | | | 50 | setPoints(List~int~ points) |
| 6dd74de | | | 51 | getPoints() List~int~ |
| 6dd74de | | | 52 | } |
| 6dd74de | | | 53 | |
| 6dd74de | | | 54 | Square : -List~string~ messages |
| 6dd74de | | | 55 | Square : +setMessages(List~string~ messages) |
| 6dd74de | | | 56 | Square : +getMessages() List~string~ |
| 6dd74de | | | 57 | Square : +getDistanceMatrix() List~List~int~~ |
| 6dd74de | | | 58 | </pre |
| 6dd74de | | | 59 | > |
| 6dd74de | | | 60 | </div> |
| 6dd74de | | | 61 | <div class="test"> |
| 6dd74de | | | 62 | <h2>No Attributes</h2> |
| 6dd74de | | | 63 | <pre class="mermaid"> |
| 6dd74de | | | 64 | classDiagram |
| 6dd74de | | | 65 | class Duck { |
| 6dd74de | | | 66 | +swim() |
| 6dd74de | | | 67 | +quack() |
| 6dd74de | | | 68 | } |
| 6dd74de | | | 69 | </pre> |
| 6dd74de | | | 70 | </div> |
| 6dd74de | | | 71 | <div class="test"> |
| 6dd74de | | | 72 | <h2>No Methods</h2> |
| 6dd74de | | | 73 | <pre class="mermaid"> |
| 6dd74de | | | 74 | classDiagram |
| 6dd74de | | | 75 | class Duck { |
| 6dd74de | | | 76 | +String beakColor |
| 6dd74de | | | 77 | } |
| 6dd74de | | | 78 | </pre> |
| 6dd74de | | | 79 | </div> |
| 6dd74de | | | 80 | <div class="test"> |
| 6dd74de | | | 81 | <h2>Only Class Name</h2> |
| 6dd74de | | | 82 | <p>Empty line as attribute</p> |
| 6dd74de | | | 83 | <pre class="mermaid"> |
| 6dd74de | | | 84 | --- |
| 6dd74de | | | 85 | config: |
| 6dd74de | | | 86 | class: |
| 6dd74de | | | 87 | hideEmptyMembersBox: false |
| 6dd74de | | | 88 | --- |
| 6dd74de | | | 89 | classDiagram |
| 6dd74de | | | 90 | class Duck { |
| 6dd74de | | | 91 | |
| 6dd74de | | | 92 | } |
| 6dd74de | | | 93 | </pre> |
| 6dd74de | | | 94 | </div> |
| 6dd74de | | | 95 | <div class="test"> |
| 6dd74de | | | 96 | <h2>Visibility and Types</h2> |
| 6dd74de | | | 97 | <p>(Further tilde testing)</p> |
| 6dd74de | | | 98 | <div class="mermaid"> |
| 6dd74de | | | 99 | classDiagram class Duck { ~interface~~~ +String beakColor #swim() ~quack()~~~ |
| 6dd74de | | | 100 | -test()~~~~~~~ +deposit(amount) bool } |
| 6dd74de | | | 101 | </div> |
| 6dd74de | | | 102 | </div> |
| 6dd74de | | | 103 | <div class="test"> |
| 6dd74de | | | 104 | <h2>Additional Classifiers</h2> |
| 6dd74de | | | 105 | <p>(* Abstract | $ Static)</p> |
| 6dd74de | | | 106 | <div class="mermaid"> |
| 6dd74de | | | 107 | classDiagram class Square~Shape~ { int id* List~int~ position* setPoints(List~int~points)* |
| 6dd74de | | | 108 | getPoints()* List~int~ } Square : -List~string~ messages$ Square : |
| 6dd74de | | | 109 | +setMessages(List~string~ messages)* Square : +getMessages()$ List~string~ Square : |
| 6dd74de | | | 110 | +getDistanceMatrix() List~List~int~~$ |
| 6dd74de | | | 111 | </div> |
| 6dd74de | | | 112 | </div> |
| 6dd74de | | | 113 | <div class="test"> |
| 6dd74de | | | 114 | <h2>Label</h2> |
| 6dd74de | | | 115 | <pre class="mermaid"> |
| 6dd74de | | | 116 | classDiagram |
| 6dd74de | | | 117 | class Animal~test~["Animal with a label"] |
| 6dd74de | | | 118 | </pre> |
| 6dd74de | | | 119 | </div> |
| 6dd74de | | | 120 | <div class="test"> |
| 6dd74de | | | 121 | <h2>Spacing</h2> |
| 6dd74de | | | 122 | <p>(Fix ensures consistent spacing rules)</p> |
| 6dd74de | | | 123 | <p>(No space or single space?)</p> |
| 6dd74de | | | 124 | <pre class="mermaid"> |
| 6dd74de | | | 125 | classDiagram |
| 6dd74de | | | 126 | class ClassName { |
| 6dd74de | | | 127 | -attribute:type |
| 6dd74de | | | 128 | - attribute : type |
| 6dd74de | | | 129 | test |
| 6dd74de | | | 130 | |
| 6dd74de | | | 131 | + GetAttribute() type |
| 6dd74de | | | 132 | + GetAttribute() type |
| 6dd74de | | | 133 | } |
| 6dd74de | | | 134 | </pre> |
| 6dd74de | | | 135 | </div> |
| 6dd74de | | | 136 | <div class="test"> |
| 6dd74de | | | 137 | <h2>Annotation</h2> |
| 6dd74de | | | 138 | <pre class="mermaid"> |
| 6dd74de | | | 139 | classDiagram |
| 6dd74de | | | 140 | class Shape |
| 6dd74de | | | 141 | <<interface>> Shape |
| 6dd74de | | | 142 | Shape : noOfVertices |
| 6dd74de | | | 143 | Shape : draw() |
| 6dd74de | | | 144 | </pre> |
| 6dd74de | | | 145 | </div> |
| 6dd74de | | | 146 | <div class="test"> |
| 6dd74de | | | 147 | <h2>Long Class Name Text</h2> |
| 6dd74de | | | 148 | <pre class="mermaid"> |
| 6dd74de | | | 149 | classDiagram |
| 6dd74de | | | 150 | class ThisIsATestForALongClassName { |
| 6dd74de | | | 151 | <<interface>> |
| 6dd74de | | | 152 | noOfLetters |
| 6dd74de | | | 153 | delete() |
| 6dd74de | | | 154 | } |
| 6dd74de | | | 155 | </pre> |
| 6dd74de | | | 156 | </div> |
| 6dd74de | | | 157 | <div class="test"> |
| 6dd74de | | | 158 | <h2>Long Annotation Text</h2> |
| 6dd74de | | | 159 | <pre class="mermaid"> |
| 6dd74de | | | 160 | classDiagram |
| 6dd74de | | | 161 | class Shape |
| 6dd74de | | | 162 | <<superlongannotationtext>> Shape |
| 6dd74de | | | 163 | Shape : noOfVertices |
| 6dd74de | | | 164 | Shape : draw() |
| 6dd74de | | | 165 | </pre> |
| 6dd74de | | | 166 | </div> |
| 6dd74de | | | 167 | <div class="test"> |
| 6dd74de | | | 168 | <h2>Long Member Text</h2> |
| 6dd74de | | | 169 | <pre class="mermaid"> |
| 6dd74de | | | 170 | classDiagram |
| 6dd74de | | | 171 | class Shape |
| 6dd74de | | | 172 | <<interface>> Shape |
| 6dd74de | | | 173 | Shape : noOfVertices |
| 6dd74de | | | 174 | Shape : longtexttestkeepgoingandgoing |
| 6dd74de | | | 175 | Shape : draw() |
| 6dd74de | | | 176 | </pre> |
| 6dd74de | | | 177 | </div> |
| 6dd74de | | | 178 | <div class="test"> |
| 6dd74de | | | 179 | <h2>Link</h2> |
| 6dd74de | | | 180 | <pre class="mermaid"> |
| 6dd74de | | | 181 | classDiagram |
| 6dd74de | | | 182 | class Shape |
| 6dd74de | | | 183 | link Shape "https://www.github.com" "This is a tooltip for a link" |
| 6dd74de | | | 184 | </pre> |
| 6dd74de | | | 185 | </div> |
| 6dd74de | | | 186 | <div class="test"> |
| 6dd74de | | | 187 | <h2>Click</h2> |
| 6dd74de | | | 188 | <pre class="mermaid"> |
| 6dd74de | | | 189 | classDiagram |
| 6dd74de | | | 190 | class Shape |
| 6dd74de | | | 191 | click Shape href "https://www.github.com" "This is a tooltip for a link" |
| 6dd74de | | | 192 | </pre> |
| 6dd74de | | | 193 | </div> |
| 6dd74de | | | 194 | <div class="test"> |
| 6dd74de | | | 195 | <h2>Hand Drawn</h2> |
| 6dd74de | | | 196 | <pre class="mermaid"> |
| 6dd74de | | | 197 | --- |
| 6dd74de | | | 198 | config: |
| 6dd74de | | | 199 | look: handDrawn |
| 6dd74de | | | 200 | htmlLabels: true |
| 6dd74de | | | 201 | --- |
| 6dd74de | | | 202 | classDiagram |
| 6dd74de | | | 203 | class Hand { |
| 6dd74de | | | 204 | +String beakColor |
| 6dd74de | | | 205 | +swim() |
| 6dd74de | | | 206 | +quack() |
| 6dd74de | | | 207 | } |
| 6dd74de | | | 208 | style Hand fill:#f9f,stroke:#29f,stroke-width:2px |
| 6dd74de | | | 209 | </pre> |
| 6dd74de | | | 210 | </div> |
| 6dd74de | | | 211 | <div class="test"> |
| 6dd74de | | | 212 | <h2>Neutral Theme</h2> |
| 6dd74de | | | 213 | <pre class="mermaid"> |
| 6dd74de | | | 214 | --- |
| 6dd74de | | | 215 | config: |
| 6dd74de | | | 216 | theme: neutral |
| 6dd74de | | | 217 | --- |
| 6dd74de | | | 218 | classDiagram |
| 6dd74de | | | 219 | class Duck { |
| 6dd74de | | | 220 | +String beakColor |
| 6dd74de | | | 221 | +swim() |
| 6dd74de | | | 222 | +quack() |
| 6dd74de | | | 223 | } |
| 6dd74de | | | 224 | </pre> |
| 6dd74de | | | 225 | </div> |
| 6dd74de | | | 226 | <div class="test"> |
| 6dd74de | | | 227 | <h2>Dark Theme</h2> |
| 6dd74de | | | 228 | <pre class="mermaid"> |
| 6dd74de | | | 229 | --- |
| 6dd74de | | | 230 | config: |
| 6dd74de | | | 231 | theme: dark |
| 6dd74de | | | 232 | --- |
| 6dd74de | | | 233 | classDiagram |
| 6dd74de | | | 234 | class Duck { |
| 6dd74de | | | 235 | +String beakColor |
| 6dd74de | | | 236 | +swim() |
| 6dd74de | | | 237 | +quack() |
| 6dd74de | | | 238 | } |
| 6dd74de | | | 239 | </pre> |
| 6dd74de | | | 240 | </div> |
| 6dd74de | | | 241 | <div class="test"> |
| 6dd74de | | | 242 | <h2>Forest Theme</h2> |
| 6dd74de | | | 243 | <pre class="mermaid"> |
| 6dd74de | | | 244 | --- |
| 6dd74de | | | 245 | config: |
| 6dd74de | | | 246 | theme: forest |
| 6dd74de | | | 247 | --- |
| 6dd74de | | | 248 | classDiagram |
| 6dd74de | | | 249 | class Duck { |
| 6dd74de | | | 250 | +String beakColor |
| 6dd74de | | | 251 | +swim() |
| 6dd74de | | | 252 | +quack() |
| 6dd74de | | | 253 | } |
| 6dd74de | | | 254 | </pre> |
| 6dd74de | | | 255 | </div> |
| 6dd74de | | | 256 | <div class="test"> |
| 6dd74de | | | 257 | <h2>Base Theme</h2> |
| 6dd74de | | | 258 | <pre class="mermaid"> |
| 6dd74de | | | 259 | --- |
| 6dd74de | | | 260 | config: |
| 6dd74de | | | 261 | theme: base |
| 6dd74de | | | 262 | --- |
| 6dd74de | | | 263 | classDiagram |
| 6dd74de | | | 264 | class Duck { |
| 6dd74de | | | 265 | +String beakColor |
| 6dd74de | | | 266 | +swim() |
| 6dd74de | | | 267 | +quack() |
| 6dd74de | | | 268 | } |
| 6dd74de | | | 269 | </pre> |
| 6dd74de | | | 270 | </div> |
| 6dd74de | | | 271 | <div class="test"> |
| 6dd74de | | | 272 | <h2>Custom Theme</h2> |
| 6dd74de | | | 273 | <pre class="mermaid"> |
| 6dd74de | | | 274 | %%{ |
| 6dd74de | | | 275 | init: { |
| 6dd74de | | | 276 | 'theme': 'base', |
| 6dd74de | | | 277 | 'themeVariables': { |
| 6dd74de | | | 278 | 'primaryColor': '#BB2528', |
| 6dd74de | | | 279 | 'primaryTextColor': '#fff', |
| 6dd74de | | | 280 | 'primaryBorderColor': '#7C0000', |
| 6dd74de | | | 281 | 'lineColor': '#F83d29', |
| 6dd74de | | | 282 | 'secondaryColor': '#006100', |
| 6dd74de | | | 283 | 'tertiaryColor': '#fff' |
| 6dd74de | | | 284 | } |
| 6dd74de | | | 285 | } |
| 6dd74de | | | 286 | }%% |
| 6dd74de | | | 287 | classDiagram |
| 6dd74de | | | 288 | class Duck { |
| 6dd74de | | | 289 | +String beakColor |
| 6dd74de | | | 290 | +swim() |
| 6dd74de | | | 291 | +quack() |
| 6dd74de | | | 292 | } |
| 6dd74de | | | 293 | Duck--Dog |
| 6dd74de | | | 294 | </pre> |
| 6dd74de | | | 295 | </div> |
| 6dd74de | | | 296 | <div class="test"> |
| 6dd74de | | | 297 | <h2>Styling within Diagram</h2> |
| 6dd74de | | | 298 | <pre class="mermaid"> |
| 6dd74de | | | 299 | classDiagram |
| 6dd74de | | | 300 | class Duck { |
| 6dd74de | | | 301 | +String beakColor |
| 6dd74de | | | 302 | +swim() |
| 6dd74de | | | 303 | +quack() |
| 6dd74de | | | 304 | } |
| 6dd74de | | | 305 | style Duck fill:#f9f,stroke:#333,stroke-width:8px |
| 6dd74de | | | 306 | </pre> |
| 6dd74de | | | 307 | </div> |
| 6dd74de | | | 308 | <div class="test"> |
| 6dd74de | | | 309 | <h2>Styling with classDef Statement</h2> |
| 6dd74de | | | 310 | <pre class="mermaid"> |
| 6dd74de | | | 311 | classDiagram |
| 6dd74de | | | 312 | class Duck:::bold { |
| 6dd74de | | | 313 | +String beakColor |
| 6dd74de | | | 314 | +swim() |
| 6dd74de | | | 315 | +quack() |
| 6dd74de | | | 316 | } |
| 6dd74de | | | 317 | |
| 6dd74de | | | 318 | class Dog { |
| 6dd74de | | | 319 | +int numTeeth |
| 6dd74de | | | 320 | +bark() |
| 6dd74de | | | 321 | } |
| 6dd74de | | | 322 | |
| 6dd74de | | | 323 | cssClass "Duck,Dog" pink |
| 6dd74de | | | 324 | |
| 6dd74de | | | 325 | classDef pink fill:#f9f |
| 6dd74de | | | 326 | classDef default color:#f1e |
| 6dd74de | | | 327 | classDef bold stroke:#333,stroke-width:6px,color:#fff |
| 6dd74de | | | 328 | </pre> |
| 6dd74de | | | 329 | </div> |
| 6dd74de | | | 330 | <div class="test"> |
| 6dd74de | | | 331 | <h2>Styling with Class in Stylesheet</h2> |
| 6dd74de | | | 332 | <pre class="mermaid"> |
| 6dd74de | | | 333 | classDiagram |
| 6dd74de | | | 334 | class Duck { |
| 6dd74de | | | 335 | +String beakColor |
| 6dd74de | | | 336 | +swim() |
| 6dd74de | | | 337 | +quack() |
| 6dd74de | | | 338 | } |
| 6dd74de | | | 339 | class Duck:::styleClass |
| 6dd74de | | | 340 | </pre> |
| 6dd74de | | | 341 | </div> |
| 6dd74de | | | 342 | </div> |
| 6dd74de | | | 343 | <h1 class="header">Diagram Testing</h1> |
| 6dd74de | | | 344 | <div class="diagram-showcase"> |
| 6dd74de | | | 345 | <div class="test"> |
| 6dd74de | | | 346 | <h2>Class Nodes Only</h2> |
| 6dd74de | | | 347 | <pre class="mermaid"> |
| 6dd74de | | | 348 | --- |
| 6dd74de | | | 349 | title: Animal example |
| 6dd74de | | | 350 | --- |
| 6dd74de | | | 351 | classDiagram |
| 6dd74de | | | 352 | Animal : +int age |
| 6dd74de | | | 353 | Animal : +String gender |
| 6dd74de | | | 354 | Animal: +isMammal() |
| 6dd74de | | | 355 | Animal: +mate() |
| 6dd74de | | | 356 | class Duck{ |
| 6dd74de | | | 357 | +String beakColor |
| 6dd74de | | | 358 | +swim() |
| 6dd74de | | | 359 | +quack() |
| 6dd74de | | | 360 | } |
| 6dd74de | | | 361 | class Fish{ |
| 6dd74de | | | 362 | -int sizeInFeet |
| 6dd74de | | | 363 | -canEat() |
| 6dd74de | | | 364 | } |
| 6dd74de | | | 365 | class Zebra{ |
| 6dd74de | | | 366 | +bool is_wild |
| 6dd74de | | | 367 | +run() |
| 6dd74de | | | 368 | } |
| 6dd74de | | | 369 | </pre> |
| 6dd74de | | | 370 | </div> |
| 6dd74de | | | 371 | <div class="test"> |
| 6dd74de | | | 372 | <h2>Class Nodes LR</h2> |
| 6dd74de | | | 373 | <pre class="mermaid"> |
| 6dd74de | | | 374 | --- |
| 6dd74de | | | 375 | title: Animal example |
| 6dd74de | | | 376 | --- |
| 6dd74de | | | 377 | classDiagram |
| 6dd74de | | | 378 | direction LR |
| 6dd74de | | | 379 | Animal : +int age |
| 6dd74de | | | 380 | Animal : +String gender |
| 6dd74de | | | 381 | Animal: +isMammal() |
| 6dd74de | | | 382 | Animal: +mate() |
| 6dd74de | | | 383 | class Duck{ |
| 6dd74de | | | 384 | +String beakColor |
| 6dd74de | | | 385 | +swim() |
| 6dd74de | | | 386 | +quack() |
| 6dd74de | | | 387 | } |
| 6dd74de | | | 388 | class Fish{ |
| 6dd74de | | | 389 | -int sizeInFeet |
| 6dd74de | | | 390 | -canEat() |
| 6dd74de | | | 391 | } |
| 6dd74de | | | 392 | class Zebra{ |
| 6dd74de | | | 393 | +bool is_wild |
| 6dd74de | | | 394 | +run() |
| 6dd74de | | | 395 | } |
| 6dd74de | | | 396 | </pre> |
| 6dd74de | | | 397 | </div> |
| 6dd74de | | | 398 | <div class="test"> |
| 6dd74de | | | 399 | <h2>Relations</h2> |
| 6dd74de | | | 400 | <pre class="mermaid"> |
| 6dd74de | | | 401 | classDiagram |
| 6dd74de | | | 402 | classA <|-- classB |
| 6dd74de | | | 403 | classC *-- classD |
| 6dd74de | | | 404 | classE o-- classF |
| 6dd74de | | | 405 | classG <-- classH |
| 6dd74de | | | 406 | classI -- classJ |
| 6dd74de | | | 407 | classK <.. classL |
| 6dd74de | | | 408 | classM <|.. classN |
| 6dd74de | | | 409 | classO .. classP |
| 6dd74de | | | 410 | </pre> |
| 6dd74de | | | 411 | </div> |
| 6dd74de | | | 412 | <div class="test"> |
| 6dd74de | | | 413 | <h2>Two Way Relation</h2> |
| 6dd74de | | | 414 | <pre class="mermaid"> |
| 6dd74de | | | 415 | classDiagram |
| 6dd74de | | | 416 | class Animal { |
| 6dd74de | | | 417 | int size |
| 6dd74de | | | 418 | walk() |
| 6dd74de | | | 419 | } |
| 6dd74de | | | 420 | class Zebra { |
| 6dd74de | | | 421 | int size |
| 6dd74de | | | 422 | walk() |
| 6dd74de | | | 423 | } |
| 6dd74de | | | 424 | Animal o--|> Zebra |
| 6dd74de | | | 425 | |
| 6dd74de | | | 426 | </pre> |
| 6dd74de | | | 427 | </div> |
| 6dd74de | | | 428 | <div class="test"> |
| 6dd74de | | | 429 | <h2>Relations with Labels</h2> |
| 6dd74de | | | 430 | <pre class="mermaid"> |
| 6dd74de | | | 431 | classDiagram |
| 6dd74de | | | 432 | classA <|-- classB : implements |
| 6dd74de | | | 433 | classC *-- classD : composition |
| 6dd74de | | | 434 | classE o-- classF : aggregation |
| 6dd74de | | | 435 | </pre> |
| 6dd74de | | | 436 | </div> |
| 6dd74de | | | 437 | <div class="test"> |
| 6dd74de | | | 438 | <h2>Cardinality / Multiplicity</h2> |
| 6dd74de | | | 439 | <pre class="mermaid"> |
| 6dd74de | | | 440 | classDiagram |
| 6dd74de | | | 441 | Customer "1" --> "*" Ticket |
| 6dd74de | | | 442 | Student "1" --> "1..*" Course |
| 6dd74de | | | 443 | Galaxy --> "many" Star : Contains |
| 6dd74de | | | 444 | </pre> |
| 6dd74de | | | 445 | </div> |
| 6dd74de | | | 446 | <div class="test"> |
| 6dd74de | | | 447 | <h2>Complex Relations with Theme</h2> |
| 6dd74de | | | 448 | <pre class="mermaid"> |
| 6dd74de | | | 449 | --- |
| 6dd74de | | | 450 | config: |
| 6dd74de | | | 451 | theme: forest |
| 6dd74de | | | 452 | look: handDrawn |
| 6dd74de | | | 453 | layout: elk |
| 6dd74de | | | 454 | --- |
| 6dd74de | | | 455 | classDiagram |
| 6dd74de | | | 456 | direction RL |
| 6dd74de | | | 457 | class Student { |
| 6dd74de | | | 458 | -idCard : IdCard |
| 6dd74de | | | 459 | } |
| 6dd74de | | | 460 | class IdCard{ |
| 6dd74de | | | 461 | -id : int |
| 6dd74de | | | 462 | -name : string |
| 6dd74de | | | 463 | } |
| 6dd74de | | | 464 | class Bike{ |
| 6dd74de | | | 465 | -id : int |
| 6dd74de | | | 466 | -name : string |
| 6dd74de | | | 467 | } |
| 6dd74de | | | 468 | Student "1" o--o "1" IdCard : carries |
| 6dd74de | | | 469 | Student "1" o--o "1" Bike : rides |
| 6dd74de | | | 470 | </pre> |
| 6dd74de | | | 471 | </div> |
| 6dd74de | | | 472 | <div class="test"> |
| 6dd74de | | | 473 | <h2>Notes</h2> |
| 6dd74de | | | 474 | <pre class="mermaid"> |
| 6dd74de | | | 475 | classDiagram |
| 6dd74de | | | 476 | note "This is a general note" |
| 6dd74de | | | 477 | note for MyClass "This is a note for a class" |
| 6dd74de | | | 478 | class MyClass |
| 6dd74de | | | 479 | </pre> |
| 6dd74de | | | 480 | </div> |
| 6dd74de | | | 481 | <div class="test"> |
| 6dd74de | | | 482 | <h2>Namespaces</h2> |
| 6dd74de | | | 483 | <pre class="mermaid"> |
| 6dd74de | | | 484 | classDiagram |
| 6dd74de | | | 485 | namespace BaseShapes { |
| 6dd74de | | | 486 | class Triangle |
| 6dd74de | | | 487 | class Rectangle { |
| 6dd74de | | | 488 | double width |
| 6dd74de | | | 489 | double height |
| 6dd74de | | | 490 | } |
| 6dd74de | | | 491 | } |
| 6dd74de | | | 492 | </pre> |
| 6dd74de | | | 493 | </div> |
| 6dd74de | | | 494 | <div class="test"> |
| 6dd74de | | | 495 | <h2>Namespaces</h2> |
| 6dd74de | | | 496 | <pre class="mermaid"> |
| 6dd74de | | | 497 | --- |
| 6dd74de | | | 498 | config: |
| 6dd74de | | | 499 | layout: elk |
| 6dd74de | | | 500 | --- |
| 6dd74de | | | 501 | classDiagram |
| 6dd74de | | | 502 | namespace Namespace1 { |
| 6dd74de | | | 503 | class C1 |
| 6dd74de | | | 504 | class C2 |
| 6dd74de | | | 505 | } |
| 6dd74de | | | 506 | C1 --> C2 |
| 6dd74de | | | 507 | class C3 |
| 6dd74de | | | 508 | class C4 |
| 6dd74de | | | 509 | </pre> |
| 6dd74de | | | 510 | </div> |
| 6dd74de | | | 511 | <div class="test"> |
| 6dd74de | | | 512 | <h2>Full Example</h2> |
| 6dd74de | | | 513 | <pre class="mermaid"> |
| 6dd74de | | | 514 | --- |
| 6dd74de | | | 515 | title: Animal example |
| 6dd74de | | | 516 | config: |
| 6dd74de | | | 517 | layout: dagre |
| 6dd74de | | | 518 | --- |
| 6dd74de | | | 519 | classDiagram |
| 6dd74de | | | 520 | note "From Duck till Zebra" |
| 6dd74de | | | 521 | Animal <|--|> Duck |
| 6dd74de | | | 522 | note for Duck "can fly<br>can swim<br>can dive<br>can help in debugging" |
| 6dd74de | | | 523 | Animal <|-- Fish |
| 6dd74de | | | 524 | Animal <|--|> Zebra |
| 6dd74de | | | 525 | Animal : +int age |
| 6dd74de | | | 526 | Animal : +String gender |
| 6dd74de | | | 527 | Animal: +isMammal() |
| 6dd74de | | | 528 | Animal: +mate() |
| 6dd74de | | | 529 | class Duck{ |
| 6dd74de | | | 530 | +String beakColor |
| 6dd74de | | | 531 | +swim() |
| 6dd74de | | | 532 | +quack() |
| 6dd74de | | | 533 | } |
| 6dd74de | | | 534 | class Fish{ |
| 6dd74de | | | 535 | -int sizeInFeet |
| 6dd74de | | | 536 | -canEat() |
| 6dd74de | | | 537 | } |
| 6dd74de | | | 538 | class Zebra{ |
| 6dd74de | | | 539 | +bool is_wild |
| 6dd74de | | | 540 | +run() |
| 6dd74de | | | 541 | } |
| 6dd74de | | | 542 | cssClass "Duck" test |
| 6dd74de | | | 543 | classDef test fill:#f71 |
| 6dd74de | | | 544 | %%classDef default fill:#f93 |
| 6dd74de | | | 545 | </pre> |
| 6dd74de | | | 546 | </div> |
| 6dd74de | | | 547 | <div class="test"> |
| 6dd74de | | | 548 | <h2>Full Example</h2> |
| 6dd74de | | | 549 | <pre class="mermaid"> |
| 6dd74de | | | 550 | --- |
| 6dd74de | | | 551 | config: |
| 6dd74de | | | 552 | theme: forest |
| 6dd74de | | | 553 | look: handDrawn |
| 6dd74de | | | 554 | --- |
| 6dd74de | | | 555 | classDiagram |
| 6dd74de | | | 556 | note for Outside "Note testing" |
| 6dd74de | | | 557 | namespace Test { |
| 6dd74de | | | 558 | class Outside |
| 6dd74de | | | 559 | } |
| 6dd74de | | | 560 | namespace BaseShapes { |
| 6dd74de | | | 561 | class Triangle |
| 6dd74de | | | 562 | class Rectangle { |
| 6dd74de | | | 563 | double width |
| 6dd74de | | | 564 | double height |
| 6dd74de | | | 565 | } |
| 6dd74de | | | 566 | } |
| 6dd74de | | | 567 | Outside <|--|> Rectangle |
| 6dd74de | | | 568 | style Triangle fill:#f9f,stroke:#333,stroke-width:4px |
| 6dd74de | | | 569 | </pre> |
| 6dd74de | | | 570 | </div> |
| 6dd74de | | | 571 | <div class="test"> |
| 6dd74de | | | 572 | <pre class="mermaid"> |
| 6dd74de | | | 573 | --- |
| 6dd74de | | | 574 | config: |
| 6dd74de | | | 575 | look: handDrawn |
| 6dd74de | | | 576 | layout: elk |
| 6dd74de | | | 577 | --- |
| 6dd74de | | | 578 | classDiagram |
| 6dd74de | | | 579 | Class01 "1" <|--|> "*" AveryLongClass : Cool |
| 6dd74de | | | 580 | <<interface>> Class01 |
| 6dd74de | | | 581 | Class03 "1" *-- "*" Class04 |
| 6dd74de | | | 582 | Class05 "1" o-- "many" Class06 |
| 6dd74de | | | 583 | Class07 "1" .. "*" Class08 |
| 6dd74de | | | 584 | Class09 "1" --> "*" C2 : Where am i? |
| 6dd74de | | | 585 | Class09 "*" --* "*" C3 |
| 6dd74de | | | 586 | Class09 "1" --|> "1" Class07 |
| 6dd74de | | | 587 | NewClass ()--() Class04 |
| 6dd74de | | | 588 | Class09 <|--|> AveryLongClass |
| 6dd74de | | | 589 | Class07 : equals() |
| 6dd74de | | | 590 | Class07 : Object[] elementData |
| 6dd74de | | | 591 | Class01 : size() |
| 6dd74de | | | 592 | Class01 : int chimp |
| 6dd74de | | | 593 | Class01 : int gorilla |
| 6dd74de | | | 594 | Class08 "1" <--> "*" C2: Cool label |
| 6dd74de | | | 595 | class Class10 { |
| 6dd74de | | | 596 | <<service>> |
| 6dd74de | | | 597 | int id |
| 6dd74de | | | 598 | test() |
| 6dd74de | | | 599 | } |
| 6dd74de | | | 600 | Class10 o--o AveryLongClass |
| 6dd74de | | | 601 | Class10 <--> Class07 |
| 6dd74de | | | 602 | </pre> |
| 6dd74de | | | 603 | </div> |
| 6dd74de | | | 604 | <div class="test"> |
| 6dd74de | | | 605 | <pre class="mermaid"> |
| 6dd74de | | | 606 | --- |
| 6dd74de | | | 607 | config: |
| 6dd74de | | | 608 | theme: dark |
| 6dd74de | | | 609 | --- |
| 6dd74de | | | 610 | classDiagram |
| 6dd74de | | | 611 | test ()--() test2 |
| 6dd74de | | | 612 | </pre> |
| 6dd74de | | | 613 | </div> |
| 6dd74de | | | 614 | </div> |
| 6dd74de | | | 615 | |
| 6dd74de | | | 616 | <script type="module"> |
| 6dd74de | | | 617 | import mermaid from './mermaid.esm.mjs'; |
| 6dd74de | | | 618 | import layouts from './mermaid-layout-elk.esm.mjs'; |
| 6dd74de | | | 619 | mermaid.registerLayoutLoaders(layouts); |
| 6dd74de | | | 620 | mermaid.parseError = function (err, hash) { |
| 6dd74de | | | 621 | console.error('Mermaid error: ', err); |
| 6dd74de | | | 622 | }; |
| 6dd74de | | | 623 | mermaid.initialize(); |
| 6dd74de | | | 624 | mermaid.parseError = function (err, hash) { |
| 6dd74de | | | 625 | console.error('In parse error:'); |
| 6dd74de | | | 626 | console.error(err); |
| 6dd74de | | | 627 | }; |
| 6dd74de | | | 628 | </script> |
| 6dd74de | | | 629 | </body> |
| 6dd74de | | | 630 | <style> |
| 6dd74de | | | 631 | .header { |
| 6dd74de | | | 632 | text-decoration: underline; |
| 6dd74de | | | 633 | text-align: center; |
| 6dd74de | | | 634 | } |
| 6dd74de | | | 635 | .node-showcase { |
| 6dd74de | | | 636 | display: grid; |
| 6dd74de | | | 637 | grid-template-columns: 1fr 1fr; |
| 6dd74de | | | 638 | } |
| 6dd74de | | | 639 | .test { |
| 6dd74de | | | 640 | flex-grow: 1; |
| 6dd74de | | | 641 | display: flex; |
| 6dd74de | | | 642 | flex-direction: column; |
| 6dd74de | | | 643 | align-items: center; |
| 6dd74de | | | 644 | gap: 0.4rem; |
| 6dd74de | | | 645 | } |
| 6dd74de | | | 646 | .test > h2 { |
| 6dd74de | | | 647 | margin: 0; |
| 6dd74de | | | 648 | text-align: center; |
| 6dd74de | | | 649 | } |
| 6dd74de | | | 650 | .test > p { |
| 6dd74de | | | 651 | margin-top: -6px; |
| 6dd74de | | | 652 | color: gray; |
| 6dd74de | | | 653 | } |
| 6dd74de | | | 654 | |
| 6dd74de | | | 655 | .diagram-showcase { |
| 6dd74de | | | 656 | display: grid; |
| 6dd74de | | | 657 | grid-template-columns: 1fr; |
| 6dd74de | | | 658 | } |
| 6dd74de | | | 659 | |
| 6dd74de | | | 660 | .styleClass > * > path { |
| 6dd74de | | | 661 | fill: #ff0000 !important; |
| 6dd74de | | | 662 | stroke: #ffff00 !important; |
| 6dd74de | | | 663 | stroke-width: 4px !important; |
| 6dd74de | | | 664 | stroke-dasharray: 2 !important; |
| 6dd74de | | | 665 | } |
| 6dd74de | | | 666 | </style> |
| 6dd74de | | | 667 | </html> |