mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-21 08:19:43 +02:00
MC-2029: Added demo page with architecture neo
This commit is contained in:
280
demos/architecture-neo.html
Normal file
280
demos/architecture-neo.html
Normal file
@@ -0,0 +1,280 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<title>Architecture 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>Architecture diagram demo</h1>
|
||||
<h2>Simple diagram with groups</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
group api(cloud)[API]
|
||||
|
||||
service db(database)[Database] in api
|
||||
service disk1(disk)[Storage] in api
|
||||
service disk2(disk)[Storage] in api
|
||||
service server(server)[Server] in api
|
||||
service gateway(internet)[Gateway]
|
||||
|
||||
db:L -- R:server
|
||||
disk1:T -- B:server
|
||||
disk2:T -- B:db
|
||||
server:T -- B:gateway
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>Groups within groups</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
group api[API]
|
||||
group public[Public API] in api
|
||||
group private[Private API] in api
|
||||
|
||||
|
||||
service serv1(server)[Server] in public
|
||||
|
||||
|
||||
service serv2(server)[Server] in private
|
||||
service db(database)[Database] in private
|
||||
|
||||
service gateway(internet)[Gateway] in api
|
||||
|
||||
serv1:B -- T:serv2
|
||||
|
||||
serv2:L -- R:db
|
||||
|
||||
serv1:L -- R:gateway
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>Default icon (?) from unknown icon name</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service unknown(iconnamedoesntexist)[Unknown Icon]
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>Split Direction</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service db(database)[Database]
|
||||
service s3(disk)[Storage]
|
||||
service serv1(server)[Server 1]
|
||||
service serv2(server)[Server 2]
|
||||
service disk(disk)[Disk]
|
||||
|
||||
db:L -- R:s3
|
||||
serv1:L -- T:s3
|
||||
serv2:L -- B:s3
|
||||
serv1:T -- B:disk
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>Arrow Tests</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service servC(server)[Server 1]
|
||||
service servL(server)[Server 2]
|
||||
service servR(server)[Server 3]
|
||||
service servT(server)[Server 4]
|
||||
service servB(server)[Server 5]
|
||||
|
||||
servC:L <--> R:servL
|
||||
servC:R <--> L:servR
|
||||
servC:T <--> B:servT
|
||||
servC:B <--> T:servB
|
||||
|
||||
servL:T <--> L:servT
|
||||
servL:B <--> L:servB
|
||||
servR:T <--> R:servT
|
||||
servR:B <--> R:servB
|
||||
</pre>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service servC(server)[Server 1]
|
||||
service servL(server)[Server 2]
|
||||
service servR(server)[Server 3]
|
||||
service servT(server)[Server 4]
|
||||
service servB(server)[Server 5]
|
||||
|
||||
servC:L <--> R:servL
|
||||
servC:R <--> L:servR
|
||||
servC:T <--> B:servT
|
||||
servC:B <--> T:servB
|
||||
|
||||
servT:L <--> T:servL
|
||||
servB:L <--> B:servL
|
||||
servT:R <--> T:servR
|
||||
servB:R <--> B:servR
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>Group Edges</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
group left_group(cloud)[Left]
|
||||
group right_group(cloud)[Right]
|
||||
group top_group(cloud)[Top]
|
||||
group bottom_group(cloud)[Bottom]
|
||||
group center_group(cloud)[Center]
|
||||
|
||||
service left_disk(disk)[Disk] in left_group
|
||||
service right_disk(disk)[Disk] in right_group
|
||||
service top_disk(disk)[Disk] in top_group
|
||||
service bottom_disk(disk)[Disk] in bottom_group
|
||||
service center_disk(disk)[Disk] in center_group
|
||||
|
||||
left_disk{group}:R <--> L:center_disk{group}
|
||||
right_disk{group}:L <--> R:center_disk{group}
|
||||
top_disk{group}:B <--> T:center_disk{group}
|
||||
bottom_disk{group}:T <--> B:center_disk{group}
|
||||
</pre
|
||||
>
|
||||
<hr />
|
||||
|
||||
<h2>Edge Label Test</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service servC(server)[Server 1]
|
||||
service servL(server)[Server 2]
|
||||
service servR(server)[Server 3]
|
||||
service servT(server)[Server 4]
|
||||
service servB(server)[Server 5]
|
||||
|
||||
servC:L -[Label]- R:servL
|
||||
servC:R -[Label]- L:servR
|
||||
servC:T -[Label]- B:servT
|
||||
servC:B -[Label]- T:servB
|
||||
|
||||
servL:T -[Label]- L:servT
|
||||
servL:B -[Label]- L:servB
|
||||
servR:T -[Label]- R:servT
|
||||
servR:B -[Label]- R:servB
|
||||
</pre>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service servC(server)[Server 1]
|
||||
service servL(server)[Server 2]
|
||||
service servR(server)[Server 3]
|
||||
service servT(server)[Server 4]
|
||||
service servB(server)[Server 5]
|
||||
|
||||
servC:L -[Label that is Long]- R:servL
|
||||
servC:R -[Label that is Long]- L:servR
|
||||
servC:T -[Label that is Long]- B:servT
|
||||
servC:B -[Label that is Long]- T:servB
|
||||
|
||||
servL:T -[Label that is Long]- L:servT
|
||||
servL:B -[Label that is Long]- L:servB
|
||||
servR:T -[Label that is Long]- R:servT
|
||||
servR:B -[Label that is Long]- R:servB
|
||||
</pre>
|
||||
|
||||
<hr />
|
||||
<h2>Junction Demo</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service left_disk(disk)[Disk]
|
||||
service top_disk(disk)[Disk]
|
||||
service bottom_disk(disk)[Disk]
|
||||
service top_gateway(internet)[Gateway]
|
||||
service bottom_gateway(internet)[Gateway]
|
||||
junction juncC
|
||||
junction juncR
|
||||
|
||||
left_disk:R -- L:juncC
|
||||
top_disk:B -- T:juncC
|
||||
bottom_disk:T -- B:juncC
|
||||
juncC:R -- L:juncR
|
||||
top_gateway:B -- T:juncR
|
||||
bottom_gateway:T -- B:juncR
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>Junction Demo Groups</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
group left
|
||||
group right
|
||||
service left_disk(disk)[Disk] in left
|
||||
service top_disk(disk)[Disk] in left
|
||||
service bottom_disk(disk)[Disk] in left
|
||||
service top_gateway(internet)[Gateway] in right
|
||||
service bottom_gateway(internet)[Gateway] in right
|
||||
junction juncC in left
|
||||
junction juncR in right
|
||||
|
||||
left_disk:R -- L:juncC
|
||||
top_disk:B -- T:juncC
|
||||
bottom_disk:T -- B:juncC
|
||||
|
||||
|
||||
top_gateway:B <-- T:juncR
|
||||
bottom_gateway:T <-- B:juncR
|
||||
|
||||
juncC{group}:R --> L:juncR{group}
|
||||
</pre>
|
||||
<hr />
|
||||
|
||||
<h2>External Icons Demo</h2>
|
||||
<pre class="mermaid">
|
||||
architecture-beta
|
||||
service s3(logos:aws-s3)[Cloud Store]
|
||||
service ec2(logos:aws-ec2)[Server]
|
||||
service api(logos:aws-api-gateway)[Api Gateway]
|
||||
service fa(fa:image)[Font Awesome Icon]
|
||||
</pre>
|
||||
|
||||
<script type="module">
|
||||
import mermaid from './mermaid.esm.mjs';
|
||||
mermaid.initialize({
|
||||
theme: 'neo',
|
||||
// handDrawnSeed: 12,
|
||||
// look: 'handDrawn',
|
||||
// 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
|
||||
// layout: 'dagre',
|
||||
// layout: 'elk',
|
||||
// layout: 'fixed',
|
||||
// htmlLabels: false,
|
||||
//flowchart: { titleTopMargin: 10 },
|
||||
|
||||
// fontFamily: 'Caveat',
|
||||
// fontFamily: 'Kalam',
|
||||
// fontFamily: 'courier',
|
||||
// fontFamily: 'arial',
|
||||
// sequence: {
|
||||
// actorFontFamily: 'courier',
|
||||
// noteFontFamily: 'courier',
|
||||
// messageFontFamily: 'courier',
|
||||
// },
|
||||
// fontSize: 12,
|
||||
// logLevel: 3,
|
||||
// securityLevel: 'loose',
|
||||
});
|
||||
mermaid.registerIconPacks([
|
||||
{
|
||||
name: 'logos',
|
||||
loader: () =>
|
||||
fetch('https://unpkg.com/@iconify-json/logos/icons.json').then((res) => res.json()),
|
||||
},
|
||||
{
|
||||
name: 'fa',
|
||||
loader: () =>
|
||||
fetch('https://unpkg.com/@iconify-json/fa6-regular/icons.json').then((res) =>
|
||||
res.json()
|
||||
),
|
||||
},
|
||||
]);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@@ -91,6 +91,9 @@
|
||||
<li>
|
||||
<h2><a href="./architecture.html">Architecture</a></h2>
|
||||
</li>
|
||||
<li>
|
||||
<h2><a href="./architecture-neo.html">Architecture-NEO</a></h2>
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user