@groupby/ai-dev 0.5.10 → 0.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/teams/fhr-neowise/commands/address-pr.md +120 -0
- package/teams/fhr-neowise/commands/ready-pr.md +70 -0
- package/teams/fhr-neowise/commands/review-pr.md +111 -0
- package/teams/fhr-neowise/commands/tdd-implementation.md +86 -0
- package/teams/fhr-neowise/commands/write-plan.md +23 -0
- package/teams/fhr-neowise/commands/write-pr.md +21 -0
- package/teams/fhr-neowise/commands/write-spec.md +25 -0
- package/teams/fhr-neowise/skills/agent-routing/SKILL.md +72 -0
- package/teams/fhr-neowise/skills/code-review/SKILL.md +83 -0
- package/teams/fhr-neowise/skills/code-review/review-template.md +90 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/SKILL.md +94 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/BEST_PRACTICES.md +96 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/architecture.md +434 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/block.md +753 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/c4.md +619 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/classDiagram.md +1186 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/config-configuration.md +72 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/config-directives.md +342 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/config-layouts.md +40 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/config-math.md +96 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/config-theming.md +246 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/config-tidy-tree.md +89 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/cynefin.md +279 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/entityRelationshipDiagram.md +670 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/eventmodeling.md +475 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/examples.md +301 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/flowchart.md +2116 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/gantt.md +725 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/gitgraph.md +2138 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/ishikawa.md +66 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/kanban.md +161 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/mindmap.md +335 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/packet.md +153 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/pie.md +93 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/quadrantChart.md +267 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/radar.md +269 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/railroad.md +337 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/requirementDiagram.md +495 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/sankey.md +415 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/sequenceDiagram.md +1195 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/stateDiagram.md +670 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/timeline.md +571 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/treeView.md +321 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/treemap.md +353 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/userJourney.md +42 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/venn.md +134 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/wardley.md +732 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/xyChart.md +312 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/references/zenuml.md +474 -0
- package/teams/fhr-neowise/skills/mermaid-diagram/scripts/sync_docs.py +138 -0
- package/teams/fhr-neowise/skills/pull-request-authoring/COMPLEX.template.md +52 -0
- package/teams/fhr-neowise/skills/pull-request-authoring/NON-CODE.template.md +15 -0
- package/teams/fhr-neowise/skills/pull-request-authoring/SIMPLE.template.md +20 -0
- package/teams/fhr-neowise/skills/pull-request-authoring/SKILL.md +102 -0
- package/teams/fhr-neowise/skills/spec-investigation/SKILL.md +139 -0
- package/teams/fhr-neowise/skills/spec-investigation/TEMPLATE.spec.md +74 -0
- package/teams/fhr-neowise/skills/tdd-workflow/SKILL.md +137 -0
- package/teams/fhr-neowise/skills/write-plan/SKILL.md +285 -0
- package/teams/fhr-neowise/skills/write-plan/assets/TEMPLATE.checklist.json +79 -0
- package/teams/fhr-neowise/skills/write-plan/assets/TEMPLATE.plan.md +158 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
> **Warning**
|
|
2
|
+
>
|
|
3
|
+
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
|
|
4
|
+
>
|
|
5
|
+
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/ishikawa.md](../../packages/mermaid/src/docs/syntax/ishikawa.md).
|
|
6
|
+
|
|
7
|
+
# Ishikawa diagram (v11.12.3+)
|
|
8
|
+
|
|
9
|
+
Ishikawa diagrams are used to represent causes of a specific event (or a problem).
|
|
10
|
+
They are also known as fishbone diagrams, herringbone diagrams or cause-and-effect diagrams.
|
|
11
|
+
The diagram resembles a fish skeleton, with the main problem at the head and the causes branching off from the spine.
|
|
12
|
+
|
|
13
|
+
> **Warning**
|
|
14
|
+
> This is a new diagram type in Mermaid. Its syntax may evolve in future versions.
|
|
15
|
+
|
|
16
|
+
## Syntax
|
|
17
|
+
|
|
18
|
+
```mermaid-example
|
|
19
|
+
ishikawa-beta
|
|
20
|
+
Blurry Photo
|
|
21
|
+
Process
|
|
22
|
+
Out of focus
|
|
23
|
+
Shutter speed too slow
|
|
24
|
+
Protective film not removed
|
|
25
|
+
Beautification filter applied
|
|
26
|
+
User
|
|
27
|
+
Shaky hands
|
|
28
|
+
Equipment
|
|
29
|
+
LENS
|
|
30
|
+
Inappropriate lens
|
|
31
|
+
Damaged lens
|
|
32
|
+
Dirty lens
|
|
33
|
+
SENSOR
|
|
34
|
+
Damaged sensor
|
|
35
|
+
Dirty sensor
|
|
36
|
+
Environment
|
|
37
|
+
Subject moved too quickly
|
|
38
|
+
Too dark
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
```mermaid
|
|
42
|
+
ishikawa-beta
|
|
43
|
+
Blurry Photo
|
|
44
|
+
Process
|
|
45
|
+
Out of focus
|
|
46
|
+
Shutter speed too slow
|
|
47
|
+
Protective film not removed
|
|
48
|
+
Beautification filter applied
|
|
49
|
+
User
|
|
50
|
+
Shaky hands
|
|
51
|
+
Equipment
|
|
52
|
+
LENS
|
|
53
|
+
Inappropriate lens
|
|
54
|
+
Damaged lens
|
|
55
|
+
Dirty lens
|
|
56
|
+
SENSOR
|
|
57
|
+
Damaged sensor
|
|
58
|
+
Dirty sensor
|
|
59
|
+
Environment
|
|
60
|
+
Subject moved too quickly
|
|
61
|
+
Too dark
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- The first line is the event (problem) of the diagram.
|
|
65
|
+
- Subsequent lines are causes of the event.
|
|
66
|
+
- "Fishbone" structure is indicated by indentation.
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
> **Warning**
|
|
2
|
+
>
|
|
3
|
+
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
|
|
4
|
+
>
|
|
5
|
+
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/kanban.md](../../packages/mermaid/src/docs/syntax/kanban.md).
|
|
6
|
+
|
|
7
|
+
# Mermaid Kanban Diagram Documentation
|
|
8
|
+
|
|
9
|
+
Mermaid’s Kanban diagram allows you to create visual representations of tasks moving through different stages of a workflow. This guide explains how to use the Kanban diagram syntax, based on the provided example.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
A Kanban diagram in Mermaid starts with the kanban keyword, followed by the definition of columns (stages) and tasks within those columns.
|
|
14
|
+
|
|
15
|
+
```mermaid-example
|
|
16
|
+
kanban
|
|
17
|
+
column1[Column Title]
|
|
18
|
+
task1[Task Description]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
```mermaid
|
|
22
|
+
kanban
|
|
23
|
+
column1[Column Title]
|
|
24
|
+
task1[Task Description]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Defining Columns
|
|
28
|
+
|
|
29
|
+
Columns represent the different stages in your workflow, such as “Todo,” “In Progress,” “Done,” etc. Each column is defined using a unique identifier and a title enclosed in square brackets.
|
|
30
|
+
|
|
31
|
+
**Syntax:**
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
columnId[Column Title]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- columnId: A unique identifier for the column.
|
|
38
|
+
- \[Column Title]: The title displayed on the column header.
|
|
39
|
+
|
|
40
|
+
Like this `id1[Todo]`
|
|
41
|
+
|
|
42
|
+
## Adding Tasks to Columns
|
|
43
|
+
|
|
44
|
+
Tasks are listed under their respective columns with an indentation. Each task also has a unique identifier and a description enclosed in square brackets.
|
|
45
|
+
|
|
46
|
+
**Syntax:**
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
taskId[Task Description]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
• taskId: A unique identifier for the task.
|
|
54
|
+
• [Task Description]: The description of the task.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Example:**
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
docs[Create Documentation]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Adding Metadata to Tasks
|
|
64
|
+
|
|
65
|
+
You can include additional metadata for each task using the @{ ... } syntax. Metadata can contain key-value pairs like assigned, ticket, priority, etc. This will be rendered added to the rendering of the node.
|
|
66
|
+
|
|
67
|
+
## Supported Metadata Keys
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
• assigned: Specifies who is responsible for the task.
|
|
71
|
+
• ticket: Links the task to a ticket or issue number.
|
|
72
|
+
• priority: Indicates the urgency of the task. Allowed values: 'Very High', 'High', 'Low' and 'Very Low'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```mermaid-example
|
|
76
|
+
kanban
|
|
77
|
+
todo[Todo]
|
|
78
|
+
id3[Update Database Function]@{ ticket: MC-2037, assigned: 'knsv', priority: 'High' }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```mermaid
|
|
82
|
+
kanban
|
|
83
|
+
todo[Todo]
|
|
84
|
+
id3[Update Database Function]@{ ticket: MC-2037, assigned: 'knsv', priority: 'High' }
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Configuration Options
|
|
88
|
+
|
|
89
|
+
You can customize the Kanban diagram using a configuration block at the beginning of your markdown file. This is useful for setting global settings like a base URL for tickets. Currently there is one configuration option for kanban diagrams `ticketBaseUrl`. This can be set as in the following example:
|
|
90
|
+
|
|
91
|
+
```yaml
|
|
92
|
+
---
|
|
93
|
+
config:
|
|
94
|
+
kanban:
|
|
95
|
+
ticketBaseUrl: 'https://yourproject.atlassian.net/browse/#TICKET#'
|
|
96
|
+
---
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
When the kanban item has an assigned ticket number the ticket number in the diagram will have a link to an external system where the ticket is defined. The `ticketBaseUrl` sets the base URL to the external system and #TICKET# is replaced with the ticket value from task metadata to create a valid link.
|
|
100
|
+
|
|
101
|
+
## Full Example
|
|
102
|
+
|
|
103
|
+
Below is the full Kanban diagram based on the provided example:
|
|
104
|
+
|
|
105
|
+
```mermaid-example
|
|
106
|
+
---
|
|
107
|
+
config:
|
|
108
|
+
kanban:
|
|
109
|
+
ticketBaseUrl: 'https://mermaidchart.atlassian.net/browse/#TICKET#'
|
|
110
|
+
---
|
|
111
|
+
kanban
|
|
112
|
+
Todo
|
|
113
|
+
[Create Documentation]
|
|
114
|
+
docs[Create Blog about the new diagram]
|
|
115
|
+
[In progress]
|
|
116
|
+
id6[Create renderer so that it works in all cases. We also add some extra text here for testing purposes. And some more just for the extra flare.]
|
|
117
|
+
id9[Ready for deploy]
|
|
118
|
+
id8[Design grammar]@{ assigned: 'knsv' }
|
|
119
|
+
id10[Ready for test]
|
|
120
|
+
id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }
|
|
121
|
+
id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }
|
|
122
|
+
id11[Done]
|
|
123
|
+
id5[define getData]
|
|
124
|
+
id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char]@{ ticket: MC-2036, priority: 'Very High'}
|
|
125
|
+
id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }
|
|
126
|
+
|
|
127
|
+
id12[Can't reproduce]
|
|
128
|
+
id3[Weird flickering in Firefox]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
```mermaid
|
|
132
|
+
---
|
|
133
|
+
config:
|
|
134
|
+
kanban:
|
|
135
|
+
ticketBaseUrl: 'https://mermaidchart.atlassian.net/browse/#TICKET#'
|
|
136
|
+
---
|
|
137
|
+
kanban
|
|
138
|
+
Todo
|
|
139
|
+
[Create Documentation]
|
|
140
|
+
docs[Create Blog about the new diagram]
|
|
141
|
+
[In progress]
|
|
142
|
+
id6[Create renderer so that it works in all cases. We also add some extra text here for testing purposes. And some more just for the extra flare.]
|
|
143
|
+
id9[Ready for deploy]
|
|
144
|
+
id8[Design grammar]@{ assigned: 'knsv' }
|
|
145
|
+
id10[Ready for test]
|
|
146
|
+
id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }
|
|
147
|
+
id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }
|
|
148
|
+
id11[Done]
|
|
149
|
+
id5[define getData]
|
|
150
|
+
id2[Title of diagram is more than 100 chars when user duplicates diagram with 100 char]@{ ticket: MC-2036, priority: 'Very High'}
|
|
151
|
+
id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }
|
|
152
|
+
|
|
153
|
+
id12[Can't reproduce]
|
|
154
|
+
id3[Weird flickering in Firefox]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
In conclusion, creating a Kanban diagram in Mermaid is a straightforward process that effectively visualizes your workflow. Start by using the kanban keyword to initiate the diagram. Define your columns with unique identifiers and titles to represent different stages of your project. Under each column, list your tasks—also with unique identifiers—and provide detailed descriptions as needed. Remember that proper indentation is crucial; tasks must be indented under their parent columns to maintain the correct structure.
|
|
158
|
+
|
|
159
|
+
You can enhance your diagram by adding optional metadata to tasks using the @{ ... } syntax, which allows you to include additional context such as assignee, ticket numbers, and priority levels. For further customization, utilize the configuration block at the top of your file to set global options like ticketBaseUrl for linking tickets directly from your diagram.
|
|
160
|
+
|
|
161
|
+
By adhering to these guidelines—ensuring unique identifiers, proper indentation, and utilizing metadata and configuration options—you can create a comprehensive and customized Kanban board that effectively maps out your project’s workflow using Mermaid.
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
> **Warning**
|
|
2
|
+
>
|
|
3
|
+
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
|
|
4
|
+
>
|
|
5
|
+
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/mindmap.md](../../packages/mermaid/src/docs/syntax/mindmap.md).
|
|
6
|
+
|
|
7
|
+
# Mindmap
|
|
8
|
+
|
|
9
|
+
> Mindmap: This is an experimental diagram for now. The syntax and properties can change in future releases. The syntax is stable except for the icon integration which is the experimental part.
|
|
10
|
+
|
|
11
|
+
"A mind map is a diagram used to visually organize information into a hierarchy, showing relationships among pieces of the whole. It is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those major ideas." Wikipedia
|
|
12
|
+
|
|
13
|
+
### An example of a mindmap.
|
|
14
|
+
|
|
15
|
+
```mermaid-example
|
|
16
|
+
mindmap
|
|
17
|
+
root((mindmap))
|
|
18
|
+
Origins
|
|
19
|
+
Long history
|
|
20
|
+
::icon(fa fa-book)
|
|
21
|
+
Popularisation
|
|
22
|
+
British popular psychology author Tony Buzan
|
|
23
|
+
Research
|
|
24
|
+
On effectiveness<br/>and features
|
|
25
|
+
On Automatic creation
|
|
26
|
+
Uses
|
|
27
|
+
Creative techniques
|
|
28
|
+
Strategic planning
|
|
29
|
+
Argument mapping
|
|
30
|
+
Tools
|
|
31
|
+
Pen and paper
|
|
32
|
+
Mermaid
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```mermaid
|
|
37
|
+
mindmap
|
|
38
|
+
root((mindmap))
|
|
39
|
+
Origins
|
|
40
|
+
Long history
|
|
41
|
+
::icon(fa fa-book)
|
|
42
|
+
Popularisation
|
|
43
|
+
British popular psychology author Tony Buzan
|
|
44
|
+
Research
|
|
45
|
+
On effectiveness<br/>and features
|
|
46
|
+
On Automatic creation
|
|
47
|
+
Uses
|
|
48
|
+
Creative techniques
|
|
49
|
+
Strategic planning
|
|
50
|
+
Argument mapping
|
|
51
|
+
Tools
|
|
52
|
+
Pen and paper
|
|
53
|
+
Mermaid
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Syntax
|
|
58
|
+
|
|
59
|
+
The syntax for creating Mindmaps is simple and relies on indentation for setting the levels in the hierarchy.
|
|
60
|
+
|
|
61
|
+
In the following example you can see how there are 3 different levels. One with starting at the left of the text and another level with two rows starting at the same column, defining the node A. At the end there is one more level where the text is indented further than the previous lines defining the nodes B and C.
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
mindmap
|
|
65
|
+
Root
|
|
66
|
+
A
|
|
67
|
+
B
|
|
68
|
+
C
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
In summary is a simple text outline where there is one node at the root level called `Root` which has one child `A`. `A` in turn has two children `B`and `C`. In the diagram below we can see this rendered as a mindmap.
|
|
72
|
+
|
|
73
|
+
```mermaid-example
|
|
74
|
+
mindmap
|
|
75
|
+
Root
|
|
76
|
+
A
|
|
77
|
+
B
|
|
78
|
+
C
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```mermaid
|
|
82
|
+
mindmap
|
|
83
|
+
Root
|
|
84
|
+
A
|
|
85
|
+
B
|
|
86
|
+
C
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
In this way we can use a text outline to generate a hierarchical mindmap.
|
|
90
|
+
|
|
91
|
+
## Different shapes
|
|
92
|
+
|
|
93
|
+
Mermaid mindmaps can show nodes using different shapes. When specifying a shape for a node the syntax is similar to flowchart nodes, with an id followed by the shape definition and with the text within the shape delimiters. Where possible we try/will try to keep the same shapes as for flowcharts, even though they are not all supported from the start.
|
|
94
|
+
|
|
95
|
+
Mindmap can show the following shapes:
|
|
96
|
+
|
|
97
|
+
### Square
|
|
98
|
+
|
|
99
|
+
```mermaid-example
|
|
100
|
+
mindmap
|
|
101
|
+
id[I am a square]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```mermaid
|
|
105
|
+
mindmap
|
|
106
|
+
id[I am a square]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Rounded square
|
|
110
|
+
|
|
111
|
+
```mermaid-example
|
|
112
|
+
mindmap
|
|
113
|
+
id(I am a rounded square)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
```mermaid
|
|
117
|
+
mindmap
|
|
118
|
+
id(I am a rounded square)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Circle
|
|
122
|
+
|
|
123
|
+
```mermaid-example
|
|
124
|
+
mindmap
|
|
125
|
+
id((I am a circle))
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```mermaid
|
|
129
|
+
mindmap
|
|
130
|
+
id((I am a circle))
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Bang
|
|
134
|
+
|
|
135
|
+
```mermaid-example
|
|
136
|
+
mindmap
|
|
137
|
+
id))I am a bang((
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
```mermaid
|
|
141
|
+
mindmap
|
|
142
|
+
id))I am a bang((
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Cloud
|
|
146
|
+
|
|
147
|
+
```mermaid-example
|
|
148
|
+
mindmap
|
|
149
|
+
id)I am a cloud(
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
```mermaid
|
|
153
|
+
mindmap
|
|
154
|
+
id)I am a cloud(
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Hexagon
|
|
158
|
+
|
|
159
|
+
```mermaid-example
|
|
160
|
+
mindmap
|
|
161
|
+
id{{I am a hexagon}}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```mermaid
|
|
165
|
+
mindmap
|
|
166
|
+
id{{I am a hexagon}}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Default
|
|
170
|
+
|
|
171
|
+
```mermaid-example
|
|
172
|
+
mindmap
|
|
173
|
+
I am the default shape
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
```mermaid
|
|
177
|
+
mindmap
|
|
178
|
+
I am the default shape
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
More shapes will be added, beginning with the shapes available in flowcharts.
|
|
182
|
+
|
|
183
|
+
# Icons and classes
|
|
184
|
+
|
|
185
|
+
## Icons
|
|
186
|
+
|
|
187
|
+
As with flowcharts you can add icons to your nodes but with an updated syntax. The styling for the font based icons are added during the integration so that they are available for the web page. _This is not something a diagram author can do but has to be done with the site administrator or the integrator_. Once the icon fonts are in place you add them to the mind map nodes using the `::icon()` syntax. You place the classes for the icon within the parenthesis like in the following example where icons for material design and [Font Awesome 5](https://fontawesome.com/v5/search?o=r&m=free) are displayed. The intention is that this approach should be used for all diagrams supporting icons. **Experimental feature:** This wider scope is also the reason Mindmaps are experimental as this syntax and approach could change.
|
|
188
|
+
|
|
189
|
+
```mermaid-example
|
|
190
|
+
mindmap
|
|
191
|
+
Root
|
|
192
|
+
A
|
|
193
|
+
::icon(fa fa-book)
|
|
194
|
+
B(B)
|
|
195
|
+
::icon(mdi mdi-skull-outline)
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
```mermaid
|
|
199
|
+
mindmap
|
|
200
|
+
Root
|
|
201
|
+
A
|
|
202
|
+
::icon(fa fa-book)
|
|
203
|
+
B(B)
|
|
204
|
+
::icon(mdi mdi-skull-outline)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Classes
|
|
208
|
+
|
|
209
|
+
Again the syntax for adding classes is similar to flowcharts. You can add classes using a triple colon following a number of css classes separated by space. In the following example one of the nodes has two custom classes attached urgent turning the background red and the text white and large increasing the font size:
|
|
210
|
+
|
|
211
|
+
```mermaid-example
|
|
212
|
+
mindmap
|
|
213
|
+
Root
|
|
214
|
+
A[A]
|
|
215
|
+
:::urgent large
|
|
216
|
+
B(B)
|
|
217
|
+
C
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
```mermaid
|
|
221
|
+
mindmap
|
|
222
|
+
Root
|
|
223
|
+
A[A]
|
|
224
|
+
:::urgent large
|
|
225
|
+
B(B)
|
|
226
|
+
C
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
_These classes need to be supplied by the site administrator._
|
|
230
|
+
|
|
231
|
+
## Unclear indentation
|
|
232
|
+
|
|
233
|
+
The actual indentation does not really matter only compared with the previous rows. If we take the previous example and disrupt it a little we can see how the calculations are performed. Let us start with placing C with a smaller indentation than `B` but larger then `A`.
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
mindmap
|
|
237
|
+
Root
|
|
238
|
+
A
|
|
239
|
+
B
|
|
240
|
+
C
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
This outline is unclear as `B` clearly is a child of `A` but when we move on to `C` the clarity is lost. `C` is neither a child of `B` with a higher indentation nor does it have the same indentation as `B`. The only thing that is clear is that the first node with smaller indentation, indicating a parent, is A. Then Mermaid relies on this known truth and compensates for the unclear indentation and selects `A` as a parent of `C` leading till the same diagram with `B` and `C` as siblings.
|
|
244
|
+
|
|
245
|
+
```mermaid-example
|
|
246
|
+
mindmap
|
|
247
|
+
Root
|
|
248
|
+
A
|
|
249
|
+
B
|
|
250
|
+
C
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
```mermaid
|
|
254
|
+
mindmap
|
|
255
|
+
Root
|
|
256
|
+
A
|
|
257
|
+
B
|
|
258
|
+
C
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## Markdown Strings
|
|
262
|
+
|
|
263
|
+
The "Markdown Strings" feature enhances mind maps by offering a more versatile string type, which supports text formatting options such as bold and italics, and automatically wraps text within labels.
|
|
264
|
+
|
|
265
|
+
```mermaid-example
|
|
266
|
+
mindmap
|
|
267
|
+
id1["`**Root** with
|
|
268
|
+
a second line
|
|
269
|
+
Unicode works too: 🤓`"]
|
|
270
|
+
id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"]
|
|
271
|
+
id3[Regular labels still works]
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
```mermaid
|
|
275
|
+
mindmap
|
|
276
|
+
id1["`**Root** with
|
|
277
|
+
a second line
|
|
278
|
+
Unicode works too: 🤓`"]
|
|
279
|
+
id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"]
|
|
280
|
+
id3[Regular labels still works]
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Formatting:
|
|
284
|
+
|
|
285
|
+
- For bold text, use double asterisks \*\* before and after the text.
|
|
286
|
+
- For italics, use single asterisks \* before and after the text.
|
|
287
|
+
- With traditional strings, you needed to add <br> tags for text to wrap in nodes. However, markdown strings automatically wrap text when it becomes too long and allows you to start a new line by simply using a newline character instead of a <br> tag.
|
|
288
|
+
|
|
289
|
+
## Integrating with your library/website.
|
|
290
|
+
|
|
291
|
+
Mindmap uses the experimental lazy loading & async rendering features which could change in the future. From version 9.4.0 this diagram is included in mermaid but use lazy loading in order to keep the size of mermaid down. This is important in order to be able to add additional diagrams going forward.
|
|
292
|
+
|
|
293
|
+
You can still use the pre 9.4.0 method to add mermaid with mindmaps to a web page:
|
|
294
|
+
|
|
295
|
+
```html
|
|
296
|
+
<script type="module">
|
|
297
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9.3.0/dist/mermaid.esm.min.mjs';
|
|
298
|
+
import mindmap from 'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-mindmap@9.3.0/dist/mermaid-mindmap.esm.min.mjs';
|
|
299
|
+
await mermaid.registerExternalDiagrams([mindmap]);
|
|
300
|
+
</script>
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
From version 9.4.0 you can simplify this code to:
|
|
304
|
+
|
|
305
|
+
```html
|
|
306
|
+
<script type="module">
|
|
307
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
|
308
|
+
</script>
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
You can also refer the [implementation in the live editor](https://github.com/mermaid-js/mermaid-live-editor/blob/develop/src/lib/util/mermaid.ts) to see how the async loading is done.
|
|
312
|
+
|
|
313
|
+
<!---
|
|
314
|
+
cspell:locale en,en-gb
|
|
315
|
+
cspell:ignore Buzan
|
|
316
|
+
--->
|
|
317
|
+
|
|
318
|
+
## Layouts
|
|
319
|
+
|
|
320
|
+
Mermaid also supports a Tidy Tree layout for mindmaps.
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
---
|
|
324
|
+
config:
|
|
325
|
+
layout: tidy-tree
|
|
326
|
+
---
|
|
327
|
+
mindmap
|
|
328
|
+
root((mindmap is a long thing))
|
|
329
|
+
A
|
|
330
|
+
B
|
|
331
|
+
C
|
|
332
|
+
D
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Instructions to add and register tidy-tree layout are present in [Tidy Tree Configuration](/config/tidy-tree)
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
> **Warning**
|
|
2
|
+
>
|
|
3
|
+
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
|
|
4
|
+
>
|
|
5
|
+
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/packet.md](../../packages/mermaid/src/docs/syntax/packet.md).
|
|
6
|
+
|
|
7
|
+
# Packet Diagram (v11.0.0+)
|
|
8
|
+
|
|
9
|
+
## Introduction
|
|
10
|
+
|
|
11
|
+
A packet diagram is a visual representation used to illustrate the structure and contents of a network packet. Network packets are the fundamental units of data transferred over a network.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
This diagram type is particularly useful for developers, network engineers, educators, and students who require a clear and concise way to represent the structure of network packets.
|
|
16
|
+
|
|
17
|
+
## Syntax
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
packet
|
|
21
|
+
start: "Block name" %% Single-bit block
|
|
22
|
+
start-end: "Block name" %% Multi-bit blocks
|
|
23
|
+
... More Fields ...
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Bits Syntax (v11.7.0+)
|
|
27
|
+
|
|
28
|
+
Using start and end bit counts can be difficult, especially when modifying a design. For this we add a bit count field, which starts from the end of the previous field automagically. Use `+<count>` to set the number of bits, thus:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
packet
|
|
32
|
+
+1: "Block name" %% Single-bit block
|
|
33
|
+
+8: "Block name" %% 8-bit block
|
|
34
|
+
9-15: "Manually set start and end, it's fine to mix and match"
|
|
35
|
+
... More Fields ...
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
```mermaid-example
|
|
41
|
+
---
|
|
42
|
+
title: "TCP Packet"
|
|
43
|
+
---
|
|
44
|
+
packet
|
|
45
|
+
0-15: "Source Port"
|
|
46
|
+
16-31: "Destination Port"
|
|
47
|
+
32-63: "Sequence Number"
|
|
48
|
+
64-95: "Acknowledgment Number"
|
|
49
|
+
96-99: "Data Offset"
|
|
50
|
+
100-105: "Reserved"
|
|
51
|
+
106: "URG"
|
|
52
|
+
107: "ACK"
|
|
53
|
+
108: "PSH"
|
|
54
|
+
109: "RST"
|
|
55
|
+
110: "SYN"
|
|
56
|
+
111: "FIN"
|
|
57
|
+
112-127: "Window"
|
|
58
|
+
128-143: "Checksum"
|
|
59
|
+
144-159: "Urgent Pointer"
|
|
60
|
+
160-191: "(Options and Padding)"
|
|
61
|
+
192-255: "Data (variable length)"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```mermaid
|
|
65
|
+
---
|
|
66
|
+
title: "TCP Packet"
|
|
67
|
+
---
|
|
68
|
+
packet
|
|
69
|
+
0-15: "Source Port"
|
|
70
|
+
16-31: "Destination Port"
|
|
71
|
+
32-63: "Sequence Number"
|
|
72
|
+
64-95: "Acknowledgment Number"
|
|
73
|
+
96-99: "Data Offset"
|
|
74
|
+
100-105: "Reserved"
|
|
75
|
+
106: "URG"
|
|
76
|
+
107: "ACK"
|
|
77
|
+
108: "PSH"
|
|
78
|
+
109: "RST"
|
|
79
|
+
110: "SYN"
|
|
80
|
+
111: "FIN"
|
|
81
|
+
112-127: "Window"
|
|
82
|
+
128-143: "Checksum"
|
|
83
|
+
144-159: "Urgent Pointer"
|
|
84
|
+
160-191: "(Options and Padding)"
|
|
85
|
+
192-255: "Data (variable length)"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```mermaid-example
|
|
89
|
+
packet
|
|
90
|
+
title UDP Packet
|
|
91
|
+
+16: "Source Port"
|
|
92
|
+
+16: "Destination Port"
|
|
93
|
+
32-47: "Length"
|
|
94
|
+
48-63: "Checksum"
|
|
95
|
+
64-95: "Data (variable length)"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```mermaid
|
|
99
|
+
packet
|
|
100
|
+
title UDP Packet
|
|
101
|
+
+16: "Source Port"
|
|
102
|
+
+16: "Destination Port"
|
|
103
|
+
32-47: "Length"
|
|
104
|
+
48-63: "Checksum"
|
|
105
|
+
64-95: "Data (variable length)"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Details of Syntax
|
|
109
|
+
|
|
110
|
+
- **Ranges**: Each line after the title represents a different field in the packet. The range (e.g., `0-15`) indicates the bit positions in the packet.
|
|
111
|
+
- **Field Description**: A brief description of what the field represents, enclosed in quotes.
|
|
112
|
+
|
|
113
|
+
## Configuration
|
|
114
|
+
|
|
115
|
+
Please refer to the [configuration](/config/schema-docs/config-defs-packet-diagram-config.html) guide for details.
|
|
116
|
+
|
|
117
|
+
<!--
|
|
118
|
+
|
|
119
|
+
Theme variables are not currently working due to a mermaid bug. The passed values are not being propagated into styles function.
|
|
120
|
+
|
|
121
|
+
## Theme Variables
|
|
122
|
+
|
|
123
|
+
| Property | Description | Default Value |
|
|
124
|
+
| ---------------- | -------------------------- | ------------- |
|
|
125
|
+
| byteFontSize | Font size of the bytes | '10px' |
|
|
126
|
+
| startByteColor | Color of the starting byte | 'black' |
|
|
127
|
+
| endByteColor | Color of the ending byte | 'black' |
|
|
128
|
+
| labelColor | Color of the labels | 'black' |
|
|
129
|
+
| labelFontSize | Font size of the labels | '12px' |
|
|
130
|
+
| titleColor | Color of the title | 'black' |
|
|
131
|
+
| titleFontSize | Font size of the title | '14px' |
|
|
132
|
+
| blockStrokeColor | Color of the block stroke | 'black' |
|
|
133
|
+
| blockStrokeWidth | Width of the block stroke | '1' |
|
|
134
|
+
| blockFillColor | Fill color of the block | '#efefef' |
|
|
135
|
+
|
|
136
|
+
## Example on config and theme
|
|
137
|
+
|
|
138
|
+
```mermaid-example
|
|
139
|
+
---
|
|
140
|
+
config:
|
|
141
|
+
packet:
|
|
142
|
+
showBits: true
|
|
143
|
+
themeVariables:
|
|
144
|
+
packet:
|
|
145
|
+
startByteColor: red
|
|
146
|
+
---
|
|
147
|
+
packet
|
|
148
|
+
0-15: "Source Port"
|
|
149
|
+
16-31: "Destination Port"
|
|
150
|
+
32-63: "Sequence Number"
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
-->
|