mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-12-18 18:27:28 +01:00
Compare commits
3 Commits
renovate/t
...
docs/updat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13035ebe74 | ||
|
|
99c626c88e | ||
|
|
e8ba79c6a9 |
5
.changeset/hot-forks-look.md
Normal file
5
.changeset/hot-forks-look.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
'mermaid': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
chore: Add installation and registration instructions for tidy-tree layout to mindmap documentation
|
||||||
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@@ -89,7 +89,7 @@ jobs:
|
|||||||
continue-on-error: ${{ github.event_name == 'push' }}
|
continue-on-error: ${{ github.event_name == 'push' }}
|
||||||
run: pnpm run docs:verify
|
run: pnpm run docs:verify
|
||||||
|
|
||||||
- uses: testomatio/check-tests@8d7e741fd2c9e46c8e8a3b27207731b0658e0fbe # stable
|
- uses: testomatio/check-tests@0ea638fcec1820cf2e7b9854fdbdd04128a55bd4 # stable
|
||||||
with:
|
with:
|
||||||
framework: cypress
|
framework: cypress
|
||||||
tests: './cypress/e2e/**/**.spec.js'
|
tests: './cypress/e2e/**/**.spec.js'
|
||||||
|
|||||||
@@ -6,13 +6,78 @@
|
|||||||
|
|
||||||
# Tidy-tree Layout
|
# Tidy-tree Layout
|
||||||
|
|
||||||
The **tidy-tree** layout arranges nodes in a hierarchical, tree-like structure. It is especially useful for diagrams where parent-child relationships are important, such as mindmaps.
|
The **tidy-tree** layout provides a bidirectional tidy tree layout engine for Mermaid based on the non-layered-tidy-tree-layout algorithm.
|
||||||
|
|
||||||
## Features
|
> **Note:** The Tidy Tree Layout engine will not be available in all providers that support mermaid by default. Websites will need to install the `@mermaid-js/layout-tidy-tree` package to use the Tidy Tree layout engine.
|
||||||
|
|
||||||
- Organizes nodes in a tidy, non-overlapping tree
|
## Installation and Setup
|
||||||
- Ideal for mindmaps and hierarchical data
|
|
||||||
- Automatically adjusts spacing for readability
|
The tidy-tree layout must be installed and registered before use.
|
||||||
|
|
||||||
|
### With bundlers
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install @mermaid-js/layout-tidy-tree
|
||||||
|
```
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import mermaid from 'mermaid';
|
||||||
|
import tidyTreeLayouts from '@mermaid-js/layout-tidy-tree';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
```
|
||||||
|
|
||||||
|
### With CDN
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script type="module">
|
||||||
|
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
||||||
|
import tidyTreeLayouts from 'https://cdn.jsdelivr.net/npm/@mermaid-js/layout-tidy-tree@0/dist/mermaid-layout-tidy-tree.esm.min.mjs';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Registering Multiple Layouts
|
||||||
|
|
||||||
|
You can register multiple layout engines by calling `registerLayoutLoaders` multiple times:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import mermaid from 'mermaid';
|
||||||
|
import tidyTreeLayouts from '@mermaid-js/layout-tidy-tree';
|
||||||
|
import elkLayouts from '@mermaid-js/layout-elk';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
mermaid.registerLayoutLoaders(elkLayouts);
|
||||||
|
```
|
||||||
|
|
||||||
|
Or with CDN:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script type="module">
|
||||||
|
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
||||||
|
import tidyTreeLayouts from 'https://cdn.jsdelivr.net/npm/@mermaid-js/layout-tidy-tree@0/dist/mermaid-layout-tidy-tree.esm.min.mjs';
|
||||||
|
import elkLayouts from 'https://cdn.jsdelivr.net/npm/@mermaid-js/layout-elk@0/dist/mermaid-layout-elk.esm.min.mjs';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
mermaid.registerLayoutLoaders(elkLayouts);
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
After registering the layout, add a configuration block at the top of your diagram:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
config:
|
||||||
|
layout: tidy-tree
|
||||||
|
---
|
||||||
|
mindmap
|
||||||
|
root((mindmap))
|
||||||
|
A
|
||||||
|
B
|
||||||
|
```
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,77 @@
|
|||||||
# Tidy-tree Layout
|
# Tidy-tree Layout
|
||||||
|
|
||||||
The **tidy-tree** layout arranges nodes in a hierarchical, tree-like structure. It is especially useful for diagrams where parent-child relationships are important, such as mindmaps.
|
The **tidy-tree** layout provides a bidirectional tidy tree layout engine for Mermaid based on the non-layered-tidy-tree-layout algorithm.
|
||||||
|
|
||||||
## Features
|
> **Note:** The Tidy Tree Layout engine will not be available in all providers that support mermaid by default. Websites will need to install the `@mermaid-js/layout-tidy-tree` package to use the Tidy Tree layout engine.
|
||||||
|
|
||||||
- Organizes nodes in a tidy, non-overlapping tree
|
## Installation and Setup
|
||||||
- Ideal for mindmaps and hierarchical data
|
|
||||||
- Automatically adjusts spacing for readability
|
The tidy-tree layout must be installed and registered before use.
|
||||||
|
|
||||||
|
### With bundlers
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install @mermaid-js/layout-tidy-tree
|
||||||
|
```
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import mermaid from 'mermaid';
|
||||||
|
import tidyTreeLayouts from '@mermaid-js/layout-tidy-tree';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
```
|
||||||
|
|
||||||
|
### With CDN
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script type="module">
|
||||||
|
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
||||||
|
import tidyTreeLayouts from 'https://cdn.jsdelivr.net/npm/@mermaid-js/layout-tidy-tree@0/dist/mermaid-layout-tidy-tree.esm.min.mjs';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Registering Multiple Layouts
|
||||||
|
|
||||||
|
You can register multiple layout engines by calling `registerLayoutLoaders` multiple times:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import mermaid from 'mermaid';
|
||||||
|
import tidyTreeLayouts from '@mermaid-js/layout-tidy-tree';
|
||||||
|
import elkLayouts from '@mermaid-js/layout-elk';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
mermaid.registerLayoutLoaders(elkLayouts);
|
||||||
|
```
|
||||||
|
|
||||||
|
Or with CDN:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script type="module">
|
||||||
|
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
||||||
|
import tidyTreeLayouts from 'https://cdn.jsdelivr.net/npm/@mermaid-js/layout-tidy-tree@0/dist/mermaid-layout-tidy-tree.esm.min.mjs';
|
||||||
|
import elkLayouts from 'https://cdn.jsdelivr.net/npm/@mermaid-js/layout-elk@0/dist/mermaid-layout-elk.esm.min.mjs';
|
||||||
|
|
||||||
|
mermaid.registerLayoutLoaders(tidyTreeLayouts);
|
||||||
|
mermaid.registerLayoutLoaders(elkLayouts);
|
||||||
|
</script>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
After registering the layout, add a configuration block at the top of your diagram:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
config:
|
||||||
|
layout: tidy-tree
|
||||||
|
---
|
||||||
|
mindmap
|
||||||
|
root((mindmap))
|
||||||
|
A
|
||||||
|
B
|
||||||
|
```
|
||||||
|
|
||||||
## Example Usage
|
## Example Usage
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user