mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-25 00:44:10 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			258 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			258 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| <html lang="en">
 | |
|   <head>
 | |
|     <meta charset="utf-8" />
 | |
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | |
|     <title>Class diagrams Mermaid Quick Test Page</title>
 | |
|     <link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
 | |
|     <style>
 | |
|       div.mermaid {
 | |
|         /* font-family: 'trebuchet ms', verdana, arial; */
 | |
|         font-family: 'Courier New', Courier, monospace !important;
 | |
|       }
 | |
|     </style>
 | |
|   </head>
 | |
| 
 | |
|   <body>
 | |
|     <h1>Class diagram demos</h1>
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     ---
 | |
|     title: Demo Class Diagram
 | |
|     ---
 | |
|     classDiagram
 | |
|       accTitle: Demo Class Diagram
 | |
|       accDescr: This class diagram show the abstract Animal class, and 3 classes that inherit from it: Duck, Fish, and Zebra.
 | |
| 
 | |
|       Animal <|-- Duck
 | |
|       Animal <|-- Fish
 | |
|       Animal <|-- Zebra
 | |
|       Animal : +int age
 | |
|       Animal : +String gender
 | |
|       Animal: +isMammal()
 | |
|       Animal: +mate()
 | |
| 
 | |
|       class Duck{
 | |
|         +String beakColor
 | |
|         +swim()
 | |
|         +quack()
 | |
|       }
 | |
|       class Fish{
 | |
|         -Listint sizeInFeet
 | |
|         -canEat()
 | |
|       }
 | |
|       class Zebra{
 | |
|         +bool is_wild
 | |
|         +run(List~T~, List~OT~)
 | |
|         %% +run-composite(List~T, K~)
 | |
|         +run-nested(List~List~OT~~)
 | |
|       }
 | |
| 
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|     Class01 <|-- AveryLongClass : Cool
 | |
| 
 | |
|     <<interface>> Class01
 | |
|     Class03 "0" *-- "0..n" Class04
 | |
|     Class05 "1" o-- "many" Class06
 | |
|     Class07 .. Class08
 | |
|     Class09 "many" --> "1" C2 : Where am i?
 | |
|     Class09 "0" --* "1..n" C3
 | |
|     Class09 --|> Class07
 | |
|     Class07 : equals()
 | |
|     Class07 : Object[] elementData
 | |
|     Class01 : #size()
 | |
|     Class01 : -int chimp
 | |
|     Class01 : +int gorilla
 | |
|     Class08 <--> C2: Cool label
 | |
|       class Class10 {
 | |
|       <<service>>
 | |
|       int id
 | |
|       size()
 | |
|       }
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|     class Class01~T~
 | |
|     Class01 : #size()
 | |
|     Class01 : -int chimp
 | |
|     Class01 : +int gorilla
 | |
|     Class01 : +abstractAttribute string*
 | |
|     class Class10~T~ {
 | |
|     <<service>>
 | |
|     int id
 | |
|     size()
 | |
|     }
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|     Class01~T~ <|-- AveryLongClass : Cool
 | |
|     <<interface>> Class01
 | |
|     Class03~T~ "0" *-- "0..n" Class04
 | |
|     Class05 "1" o-- "many" Class06
 | |
|     Class07~T~ .. Class08
 | |
|     Class09 "many" --> "1" C2 : Where am i?
 | |
|       Class09 "0" --* "1..n" C3
 | |
|       Class09 --|> Class07
 | |
|       Class07 : equals()
 | |
|       Class07 : Object[] elementData
 | |
|       Class01 : #size()
 | |
|       Class01 : -int chimp
 | |
|       Class01 : +int gorilla
 | |
|       Class08 <--> C2: Cool label
 | |
|         class Class10 {
 | |
|         <<service>>
 | |
|         int id
 | |
|         size()
 | |
|         }
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|     Interface1 ()-- Interface1Impl
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|     direction LR
 | |
|     Animal ()-- Dog
 | |
|     Animal ()-- Cat
 | |
|     note for Cat "should have no members area"
 | |
|     Dog : bark()
 | |
|     Dog : species()
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|     direction RL
 | |
|     Fruit ()-- Apple
 | |
|     Apple : color()
 | |
|     Apple : -int leafCount()
 | |
|     Fruit ()-- Pineapple
 | |
|     Pineapple : color()
 | |
|     Pineapple : -int leafCount()
 | |
|     Pineapple : -int spikeCount()
 | |
|     </pre>
 | |
|     <hr />
 | |
| 
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|       class Person {
 | |
|         +ID : Guid
 | |
|         +FirstName : string
 | |
|         +LastName : string
 | |
|         -privateProperty : string
 | |
|         #ProtectedProperty : string
 | |
|         ~InternalProperty : string
 | |
|         ~AnotherInternalProperty : List~List~string~~
 | |
|       }
 | |
|       class People List~List~Person~~
 | |
|     </pre>
 | |
|     <hr />
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|       namespace Company.Project.Module {
 | |
|         class GenericClass~T~ {
 | |
|           +addItem(item: T)
 | |
|           +getItem() T
 | |
|         }
 | |
|       }
 | |
|     </pre>
 | |
|     <hr />
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|       namespace Company.Project.Module.SubModule {
 | |
|         class Report {
 | |
|           +generatePDF(data: List)
 | |
|           +generateCSV(data: List)
 | |
|         }
 | |
|       }
 | |
|       namespace Company.Project.Module {
 | |
|         class Admin {
 | |
|           +generateReport()
 | |
|         }
 | |
|       }
 | |
|       Admin --> Report : generates
 | |
|     </pre>
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|       namespace Company.Project.Module {
 | |
|         class User {
 | |
|           +login(username: String, password: String)
 | |
|           +logout()
 | |
|         }
 | |
|         class Admin {
 | |
|           +addUser(user: User)
 | |
|           +removeUser(user: User)
 | |
|           +generateReport()
 | |
|         }
 | |
|         class Report {
 | |
|           +generatePDF(reportData: List)
 | |
|           +generateCSV(reportData: List)
 | |
|         }
 | |
|       }
 | |
|       Admin --> User : manages
 | |
|       Admin --> Report : generates
 | |
|     </pre>
 | |
|     <hr />
 | |
|     <pre class="mermaid">
 | |
|     classDiagram
 | |
|       namespace Shapes {
 | |
|         class Shape {
 | |
|           +calculateArea() double
 | |
|         }
 | |
|         class Circle {
 | |
|           +double radius
 | |
|         }
 | |
|         class Square {
 | |
|           +double side
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       Shape <|-- Circle
 | |
|       Shape <|-- Square
 | |
| 
 | |
|       namespace Vehicles {
 | |
|         class Vehicle {
 | |
|           +String brand
 | |
|         }
 | |
|         class Car {
 | |
|           +int horsepower
 | |
|         }
 | |
|         class Bike {
 | |
|           +boolean hasGears
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       Vehicle <|-- Car
 | |
|       Vehicle <|-- Bike
 | |
|       Car --> Circle : "Logo Shape"
 | |
|       Bike --> Square : "Logo Shape"
 | |
| 
 | |
|     </pre>
 | |
|     <script type="module">
 | |
|       import mermaid from './mermaid.esm.mjs';
 | |
|       mermaid.initialize({
 | |
|         theme: 'default',
 | |
|         // themeCSS: '.node rect { fill: red; }',
 | |
|         logLevel: 3,
 | |
|         securityLevel: 'loose',
 | |
|         flowchart: { curve: 'basis' },
 | |
|         gantt: { axisFormat: '%m/%d/%Y' },
 | |
|         sequence: { actorMargin: 50 },
 | |
|         // sequenceDiagram: { actorMargin: 300 } // deprecated
 | |
|       });
 | |
|     </script>
 | |
|   </body>
 | |
| </html>
 | 
