@diagrammo/dgmo 0.8.11 → 0.8.13
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/dist/cli.cjs +115 -719
- package/dist/index.cjs +196 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +194 -54
- package/dist/index.js.map +1 -1
- package/docs/guide/chart-arc.md +71 -0
- package/docs/guide/chart-area.md +73 -0
- package/docs/guide/chart-bar-stacked.md +61 -0
- package/docs/guide/chart-bar.md +62 -0
- package/docs/guide/chart-boxes-and-lines.md +243 -0
- package/docs/guide/chart-c4.md +300 -0
- package/docs/guide/chart-chord.md +43 -0
- package/docs/guide/chart-class.md +204 -0
- package/docs/guide/chart-doughnut.md +38 -0
- package/docs/guide/chart-er.md +218 -0
- package/docs/guide/chart-flowchart.md +102 -0
- package/docs/guide/chart-function.md +56 -0
- package/docs/guide/chart-funnel.md +38 -0
- package/docs/guide/chart-gantt.md +368 -0
- package/docs/guide/chart-heatmap.md +41 -0
- package/docs/guide/chart-infra.md +694 -0
- package/docs/guide/chart-kanban.md +156 -0
- package/docs/guide/chart-line.md +79 -0
- package/docs/guide/chart-multi-line.md +84 -0
- package/docs/guide/chart-org.md +209 -0
- package/docs/guide/chart-pie.md +39 -0
- package/docs/guide/chart-polar-area.md +38 -0
- package/docs/guide/chart-quadrant.md +69 -0
- package/docs/guide/chart-radar.md +38 -0
- package/docs/guide/chart-sankey.md +103 -0
- package/docs/guide/chart-scatter.md +94 -0
- package/docs/guide/chart-sequence.md +332 -0
- package/docs/guide/chart-sitemap.md +248 -0
- package/docs/guide/chart-slope.md +56 -0
- package/docs/guide/chart-state.md +171 -0
- package/docs/guide/chart-timeline.md +229 -0
- package/docs/guide/chart-venn.md +81 -0
- package/docs/guide/chart-wordcloud.md +66 -0
- package/docs/guide/colors.md +283 -0
- package/docs/guide/index.md +55 -0
- package/docs/guide/keyboard-shortcuts.md +49 -0
- package/docs/guide/registry.json +51 -0
- package/gallery/fixtures/boxes-and-lines.dgmo +4 -6
- package/gallery/fixtures/er.dgmo +36 -0
- package/gallery/fixtures/kanban.dgmo +27 -0
- package/package.json +1 -1
- package/src/boxes-and-lines/parser.ts +2 -0
- package/src/boxes-and-lines/renderer.ts +12 -4
- package/src/c4/parser.ts +5 -1
- package/src/completion.ts +17 -2
- package/src/d3.ts +140 -71
- package/src/echarts.ts +1 -1
- package/src/er/parser.ts +5 -1
- package/src/gantt/parser.ts +8 -0
- package/src/gantt/renderer.ts +6 -7
- package/src/gantt/types.ts +1 -0
- package/src/infra/parser.ts +4 -0
- package/src/kanban/parser.ts +4 -1
- package/src/kanban/renderer.ts +1 -1
- package/src/org/parser.ts +3 -0
- package/src/sequence/parser.ts +2 -0
- package/src/sequence/renderer.ts +8 -6
- package/src/sharing.ts +18 -9
- package/src/sitemap/parser.ts +2 -0
- package/src/utils/legend-layout.ts +7 -3
- package/src/utils/tag-groups.ts +64 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Kanban Board
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
kanban Plunder Sprint 7
|
|
5
|
+
|
|
6
|
+
tag Priority
|
|
7
|
+
Urgent(red)
|
|
8
|
+
High(orange)
|
|
9
|
+
Low(green) default
|
|
10
|
+
|
|
11
|
+
tag Crew alias c
|
|
12
|
+
Blackbeard(red)
|
|
13
|
+
Anne Bonny(purple)
|
|
14
|
+
Calico Jack(teal)
|
|
15
|
+
|
|
16
|
+
[Awaiting Orders](red)
|
|
17
|
+
Recruit gunners at Tortuga | priority: High, c: Calico Jack
|
|
18
|
+
Chart new trade route | priority: Urgent, c: Anne Bonny
|
|
19
|
+
Scout the Windward Passage
|
|
20
|
+
Avoid Royal Navy patrols
|
|
21
|
+
Resupply rum and powder | priority: Low, c: Calico Jack
|
|
22
|
+
|
|
23
|
+
[Underway](orange) | wip: 2
|
|
24
|
+
Forge letters of marque | priority: High, c: Anne Bonny
|
|
25
|
+
Raid merchant convoy | priority: Urgent, c: Blackbeard
|
|
26
|
+
Three ships spotted off Nassau
|
|
27
|
+
|
|
28
|
+
[Done](green)
|
|
29
|
+
Bribe the harbour master | priority: High, c: Anne Bonny
|
|
30
|
+
Repair hull damage | priority: Low, c: Blackbeard
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Overview
|
|
34
|
+
|
|
35
|
+
Kanban boards visualize work items as cards organized into columns. Columns typically represent workflow stages (To Do, In Progress, Done). Cards can carry tags for color-coded categorization and freeform detail text.
|
|
36
|
+
|
|
37
|
+
**Drag-and-drop:** In the app, drag cards between columns or reorder within a column. The editor text updates automatically.
|
|
38
|
+
|
|
39
|
+
## Syntax
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
kanban Board Title
|
|
43
|
+
|
|
44
|
+
[Column Name]
|
|
45
|
+
Card Title
|
|
46
|
+
Card Title | key: Value, key: Value
|
|
47
|
+
Freeform detail text
|
|
48
|
+
Another detail line
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Settings
|
|
52
|
+
|
|
53
|
+
| Key | Description | Default |
|
|
54
|
+
| ------- | ---------------- | ------- |
|
|
55
|
+
| `chart` | Must be `kanban` | — |
|
|
56
|
+
| `title` | Board title | None |
|
|
57
|
+
|
|
58
|
+
## Columns
|
|
59
|
+
|
|
60
|
+
Columns are defined with `[Column Name]` syntax. All cards between one column header and the next belong to that column.
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
[To Do]
|
|
64
|
+
[In Progress]
|
|
65
|
+
[Done]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### WIP Limits
|
|
69
|
+
|
|
70
|
+
Add `| wip: N` after a column header to set a work-in-progress limit. A warning appears when the limit is exceeded:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
[In Progress] | wip: 3
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Cards
|
|
77
|
+
|
|
78
|
+
Each non-indented line within a column creates a card. Cards can have tags and detail lines.
|
|
79
|
+
|
|
80
|
+
### Tags
|
|
81
|
+
|
|
82
|
+
Tags follow the card title, separated by `|`. Multiple tags are comma-separated:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Build login | priority: High, assignee: Alice
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Detail Lines
|
|
89
|
+
|
|
90
|
+
Indented lines under a card are freeform detail text:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Build login | priority: High
|
|
94
|
+
OAuth + email/password support
|
|
95
|
+
Needs design review first
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Card Colors
|
|
99
|
+
|
|
100
|
+
Add a color suffix to a card title:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
Urgent fix(red)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Tag Groups
|
|
107
|
+
|
|
108
|
+
Tag groups define categories with color-coded values. They appear before columns and use the `tag` directive:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
tag Priority
|
|
112
|
+
High(red)
|
|
113
|
+
Medium(yellow)
|
|
114
|
+
Low(green) default
|
|
115
|
+
|
|
116
|
+
tag Assignee alias a
|
|
117
|
+
Alice(blue)
|
|
118
|
+
Bob(purple)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
- `default` marks the fallback value for cards without an explicit tag
|
|
122
|
+
- `alias` provides a short name for the tag (e.g., `a` instead of `assignee`)
|
|
123
|
+
- Colors are shown as dots on each card
|
|
124
|
+
|
|
125
|
+
## Complete Example
|
|
126
|
+
|
|
127
|
+
```dgmo
|
|
128
|
+
kanban Product Roadmap
|
|
129
|
+
|
|
130
|
+
tag Status
|
|
131
|
+
Blocked(red)
|
|
132
|
+
Active(green) default
|
|
133
|
+
|
|
134
|
+
tag Team alias t
|
|
135
|
+
Frontend(blue)
|
|
136
|
+
Backend(purple)
|
|
137
|
+
Design(yellow)
|
|
138
|
+
|
|
139
|
+
[Backlog]
|
|
140
|
+
Dark mode support | t: Frontend
|
|
141
|
+
API rate limiting | t: Backend
|
|
142
|
+
Research token bucket vs sliding window
|
|
143
|
+
|
|
144
|
+
[In Progress] | wip: 3
|
|
145
|
+
User dashboard | t: Frontend, status: Active
|
|
146
|
+
Charts and metrics overview
|
|
147
|
+
Auth refactor | t: Backend, status: Active
|
|
148
|
+
|
|
149
|
+
[Review]
|
|
150
|
+
Payment integration | t: Backend, status: Blocked
|
|
151
|
+
Waiting on Stripe webhook setup
|
|
152
|
+
|
|
153
|
+
[Done]
|
|
154
|
+
Onboarding flow | t: Design
|
|
155
|
+
Landing page | t: Frontend
|
|
156
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Line Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
line Ship Speed Over Voyage
|
|
5
|
+
series Knots
|
|
6
|
+
x-label Day
|
|
7
|
+
y-label Speed
|
|
8
|
+
|
|
9
|
+
era Day 1 -> Day 3 Rough Seas (red)
|
|
10
|
+
era Day 3 -> Day 7 Fair Winds (blue)
|
|
11
|
+
|
|
12
|
+
Day 1: 8
|
|
13
|
+
Day 2: 10
|
|
14
|
+
Day 3: 7
|
|
15
|
+
Day 4: 12
|
|
16
|
+
Day 5: 9
|
|
17
|
+
Day 6: 11
|
|
18
|
+
Day 7: 6
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Syntax
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
line Chart Title
|
|
25
|
+
series Series Name
|
|
26
|
+
x-label X Axis Label
|
|
27
|
+
y-label Y Axis Label
|
|
28
|
+
|
|
29
|
+
Label: value
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Era Bands
|
|
33
|
+
|
|
34
|
+
Annotate named time periods with a shaded background band and label:
|
|
35
|
+
|
|
36
|
+
```dgmo
|
|
37
|
+
line U.S. Strategic Petroleum Reserve
|
|
38
|
+
y-label Million Barrels
|
|
39
|
+
|
|
40
|
+
era '77 -> '81 Carter (blue)
|
|
41
|
+
era '81 -> '89 Reagan (red)
|
|
42
|
+
era '89 -> '93 Bush (red)
|
|
43
|
+
|
|
44
|
+
'77: 7
|
|
45
|
+
'78: 67
|
|
46
|
+
'79: 91
|
|
47
|
+
'80: 108
|
|
48
|
+
'81: 230
|
|
49
|
+
'82: 294
|
|
50
|
+
'83: 379
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Era syntax: `era <start> -> <end> Label (color)`
|
|
54
|
+
|
|
55
|
+
- `start` and `end` must exactly match data point labels
|
|
56
|
+
- Color is optional; omit for the palette default
|
|
57
|
+
- Named colors: `red`, `blue`, `green`, `orange`, `purple`, `teal`, etc.
|
|
58
|
+
- Multiple eras can overlap — both render without error
|
|
59
|
+
|
|
60
|
+
## Metadata Keys
|
|
61
|
+
|
|
62
|
+
| Key | Description | Required |
|
|
63
|
+
| --------- | ----------------------------------------- | -------- |
|
|
64
|
+
| `chart` | Must be `line` | Yes |
|
|
65
|
+
| `title` | Chart title displayed above the chart | No |
|
|
66
|
+
| `series` | Name of the data series (shown in legend) | No |
|
|
67
|
+
| `x-label` | Label for the X axis | No |
|
|
68
|
+
| `y-label` | Label for the Y axis | No |
|
|
69
|
+
| `color` | Override the line color | No |
|
|
70
|
+
|
|
71
|
+
## Data Format
|
|
72
|
+
|
|
73
|
+
Each data line follows the pattern `Label: value`:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Day 1: 8
|
|
77
|
+
Day 2: 10
|
|
78
|
+
Day 3: 7
|
|
79
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Multi-Line Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
line Monthly Captures by Fleet
|
|
5
|
+
series Blackbeard(red), Roberts(blue), Vane(green)
|
|
6
|
+
x-label Month
|
|
7
|
+
//y-label Captures
|
|
8
|
+
|
|
9
|
+
era Jan -> Mar Atlantic Season
|
|
10
|
+
era Mar -> Jun Caribbean Season (teal)
|
|
11
|
+
|
|
12
|
+
Jan: 3, 5, 2
|
|
13
|
+
Feb: 4, 3, 4
|
|
14
|
+
Mar: 2, 7, 3
|
|
15
|
+
Apr: 6, 4, 1
|
|
16
|
+
May: 5, 6, 5
|
|
17
|
+
Jun: 3, 8, 2
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Syntax
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
line Chart Title
|
|
24
|
+
series Series1(color), Series2(color), Series3(color)
|
|
25
|
+
x-label X Axis Label
|
|
26
|
+
|
|
27
|
+
Label: value1, value2, value3
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Metadata Keys
|
|
31
|
+
|
|
32
|
+
| Key | Description | Required |
|
|
33
|
+
| --------- | ---------------------------------------------------------------- | -------- |
|
|
34
|
+
| `chart` | Must be `line` (or `multi-line` as an alias) | Yes |
|
|
35
|
+
| `title` | Chart title displayed above the chart | No |
|
|
36
|
+
| `series` | Comma-separated series names with optional colors in parentheses | Yes |
|
|
37
|
+
| `x-label` | Label for the X axis | No |
|
|
38
|
+
| `y-label` | Label for the Y axis | No |
|
|
39
|
+
|
|
40
|
+
## Data Format
|
|
41
|
+
|
|
42
|
+
Each data line provides comma-separated values matching the series order:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Jan: 3, 5, 2
|
|
46
|
+
Feb: 4, 3, 4
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The number of values per line must match the number of series names.
|
|
50
|
+
|
|
51
|
+
## Era Bands
|
|
52
|
+
|
|
53
|
+
Annotate named time periods with a shaded background band and label:
|
|
54
|
+
|
|
55
|
+
```dgmo
|
|
56
|
+
line Monthly Captures by Fleet
|
|
57
|
+
series Blackbeard(red), Roberts(blue)
|
|
58
|
+
x-label Month
|
|
59
|
+
|
|
60
|
+
era Jan -> Mar Q1 (green)
|
|
61
|
+
era Apr -> Jun Q2 (orange)
|
|
62
|
+
|
|
63
|
+
Jan: 3, 5
|
|
64
|
+
Feb: 4, 3
|
|
65
|
+
Mar: 2, 7
|
|
66
|
+
Apr: 6, 4
|
|
67
|
+
May: 5, 6
|
|
68
|
+
Jun: 3, 8
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Era syntax: `era <start> -> <end> Label (color)`
|
|
72
|
+
|
|
73
|
+
- `start` and `end` must exactly match data point labels
|
|
74
|
+
- Color is optional; omit for the palette default
|
|
75
|
+
- Era bands render on the first series only
|
|
76
|
+
|
|
77
|
+
## Series Colors
|
|
78
|
+
|
|
79
|
+
Colors can be specified in parentheses after each series name using named colors:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
series Gold(yellow), Silver(gray), Bronze(orange)
|
|
83
|
+
series Fleet A(red), Fleet B(blue)
|
|
84
|
+
```
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Org Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
org The Dread Fleet
|
|
5
|
+
sub-node-label Crew
|
|
6
|
+
show-sub-node-count
|
|
7
|
+
|
|
8
|
+
tag Rank alias r
|
|
9
|
+
Captain(red)
|
|
10
|
+
FirstMate(orange)
|
|
11
|
+
Quartermaster(yellow)
|
|
12
|
+
Bosun(green)
|
|
13
|
+
Gunner(teal)
|
|
14
|
+
Sailor(blue) default
|
|
15
|
+
Jester(cyan)
|
|
16
|
+
Swab(purple)
|
|
17
|
+
|
|
18
|
+
tag Ship alias s
|
|
19
|
+
Revenge(blue) default
|
|
20
|
+
Serpent(green)
|
|
21
|
+
Phantom(purple)
|
|
22
|
+
|
|
23
|
+
tag Status alias st
|
|
24
|
+
Loyal(green) default
|
|
25
|
+
Turncoat(red)
|
|
26
|
+
NewRecruit(yellow)
|
|
27
|
+
|
|
28
|
+
Blackbeard| r: Captain, s: Revenge
|
|
29
|
+
Anne Bonny| r: FirstMate
|
|
30
|
+
[Gun Deck]
|
|
31
|
+
Cannonball Pete| r: Gunner
|
|
32
|
+
Smokey Jack| r: Gunner, st: NewRecruit
|
|
33
|
+
Powder Meg| r: Swab, st: NewRecruit
|
|
34
|
+
[Boarding Party]
|
|
35
|
+
Cutlass Jim| r: Bosun
|
|
36
|
+
Red Mary
|
|
37
|
+
One-Eyed Dan| st: Turncoat
|
|
38
|
+
Calico Rackham| r: Quartermaster
|
|
39
|
+
[Cargo Hold]
|
|
40
|
+
Barnacle Bob
|
|
41
|
+
Slippery Sal| st: Turncoat
|
|
42
|
+
Long John| r: FirstMate, s: Serpent
|
|
43
|
+
[Rigging Crew]
|
|
44
|
+
Monkey Fist| r: Bosun
|
|
45
|
+
Pegleg Pete
|
|
46
|
+
Crow Jane
|
|
47
|
+
[Navigation]
|
|
48
|
+
Stargazer Quinn| r: Quartermaster
|
|
49
|
+
Compass Rose| st: NewRecruit
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Overview
|
|
53
|
+
|
|
54
|
+
Org charts use **indentation** to define reporting hierarchy. Each person is a line of text, and metadata like `role:` appears indented beneath them. Children are indented under their manager.
|
|
55
|
+
|
|
56
|
+
## Syntax
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
org Chart Title
|
|
60
|
+
|
|
61
|
+
Person Name
|
|
62
|
+
role: Job Title
|
|
63
|
+
|
|
64
|
+
Direct Report
|
|
65
|
+
role: Job Title
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Settings
|
|
69
|
+
|
|
70
|
+
| Key | Description | Default |
|
|
71
|
+
| ------- | ------------- | ------- |
|
|
72
|
+
| `chart` | Must be `org` | Yes |
|
|
73
|
+
| `title` | Chart title | None |
|
|
74
|
+
|
|
75
|
+
## Nodes
|
|
76
|
+
|
|
77
|
+
Each non-indented (or less-indented) text line creates a person node. Deeper indentation creates a child (direct report):
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
CEO
|
|
81
|
+
VP of Engineering
|
|
82
|
+
Senior Engineer
|
|
83
|
+
Junior Engineer
|
|
84
|
+
VP of Sales
|
|
85
|
+
Account Executive
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Metadata
|
|
89
|
+
|
|
90
|
+
Add key-value pairs indented under a node:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Alice Park
|
|
94
|
+
role: Senior Engineer
|
|
95
|
+
location: New York
|
|
96
|
+
focus: APIs
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Metadata renders as secondary text on the node card.
|
|
100
|
+
|
|
101
|
+
### Compact Pipe Syntax
|
|
102
|
+
|
|
103
|
+
For concise entries, use `|` to put metadata on a single line:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Alice Park | role: Senior Engineer | location: NY
|
|
107
|
+
Bob Torres | role: Junior Engineer | location: CO
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Containers (Teams)
|
|
111
|
+
|
|
112
|
+
Use `[Team Name]` to create a container that groups its children visually:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
Alex Chen
|
|
116
|
+
role: CTO
|
|
117
|
+
|
|
118
|
+
[Platform Team]
|
|
119
|
+
goal: Core infrastructure and APIs
|
|
120
|
+
|
|
121
|
+
Alice Park | role: Senior Engineer
|
|
122
|
+
Bob Torres | role: Junior Engineer
|
|
123
|
+
|
|
124
|
+
[Frontend Team]
|
|
125
|
+
goal: Ship new design system by Q3
|
|
126
|
+
|
|
127
|
+
Carol Wu | role: Senior Engineer
|
|
128
|
+
Dave Kim | role: Junior Engineer
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Containers render as labeled boxes. They can have metadata like `goal:` and `charter:` which display below the container label.
|
|
132
|
+
|
|
133
|
+
## Node Colors
|
|
134
|
+
|
|
135
|
+
Add a color name in parentheses:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
[Platform Team(blue)]
|
|
139
|
+
[Frontend Team(green)]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Tag Groups
|
|
143
|
+
|
|
144
|
+
Define color-coded tags for metadata values like location or status. Tag groups must appear before org content:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
org Acme Corp
|
|
148
|
+
|
|
149
|
+
tag Location
|
|
150
|
+
NY(blue)
|
|
151
|
+
LA(yellow)
|
|
152
|
+
Remote(purple)
|
|
153
|
+
|
|
154
|
+
tag Status
|
|
155
|
+
FTE(green)
|
|
156
|
+
Contractor(orange)
|
|
157
|
+
|
|
158
|
+
Jane Smith
|
|
159
|
+
role: CEO
|
|
160
|
+
location: NY
|
|
161
|
+
status: FTE
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
- `tag GroupName` starts a tag group
|
|
165
|
+
- `alias` provides a shorthand for metadata keys (e.g., `tag Location alias l`)
|
|
166
|
+
- `default` marks the fallback value for nodes without that metadata
|
|
167
|
+
- When a node's metadata value matches a tag entry, it renders with that tag's color as a badge
|
|
168
|
+
|
|
169
|
+
## Comments
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
// This line is ignored by the parser
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Collapse / Expand
|
|
176
|
+
|
|
177
|
+
In the app, click a node that has children to focus it. Click again to collapse its subtree — a "+N hidden" label shows how many nodes are hidden. Click once more to expand. Containers can be collapsed independently.
|
|
178
|
+
|
|
179
|
+
Keyboard: Tab to focus a node, Enter or Space to toggle.
|
|
180
|
+
|
|
181
|
+
## Complete Example
|
|
182
|
+
|
|
183
|
+
```dgmo
|
|
184
|
+
org Engineering Division
|
|
185
|
+
|
|
186
|
+
Alex Chen
|
|
187
|
+
role: CTO
|
|
188
|
+
|
|
189
|
+
[Platform Team]
|
|
190
|
+
goal: Core infrastructure and APIs
|
|
191
|
+
charter: Platform reliability and developer experience
|
|
192
|
+
|
|
193
|
+
Alice Park | role: Senior Engineer | location: NY
|
|
194
|
+
Bob Torres | role: Junior Engineer | location: CO
|
|
195
|
+
|
|
196
|
+
[Frontend Team]
|
|
197
|
+
goal: Ship new design system by Q3
|
|
198
|
+
|
|
199
|
+
Carol Wu
|
|
200
|
+
role: Senior Engineer
|
|
201
|
+
Dave Kim
|
|
202
|
+
role: Junior Engineer
|
|
203
|
+
|
|
204
|
+
[Data Team]
|
|
205
|
+
goal: ML pipeline and analytics
|
|
206
|
+
|
|
207
|
+
Eve Martinez
|
|
208
|
+
role: Data Scientist
|
|
209
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Pie Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
pie Crew Roles Distribution
|
|
5
|
+
|
|
6
|
+
Sailors: 45
|
|
7
|
+
Gunners: 20
|
|
8
|
+
Marines: 15
|
|
9
|
+
Officers: 8
|
|
10
|
+
Specialists: 7
|
|
11
|
+
Cooks & Surgeons: 5
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Syntax
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
pie Chart Title
|
|
18
|
+
|
|
19
|
+
Label: value
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Metadata Keys
|
|
23
|
+
|
|
24
|
+
| Key | Description | Required |
|
|
25
|
+
| ------- | ------------------------------------- | -------- |
|
|
26
|
+
| `chart` | Must be `pie` | Yes |
|
|
27
|
+
| `title` | Chart title displayed above the chart | No |
|
|
28
|
+
|
|
29
|
+
## Data Format
|
|
30
|
+
|
|
31
|
+
Each data line follows the pattern `Label: value`:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Sailors: 45
|
|
35
|
+
Gunners: 20
|
|
36
|
+
Officers: 8
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Slices are automatically colored using the Nord palette.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Polar Area Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
polar-area Captain's Skills
|
|
5
|
+
|
|
6
|
+
Navigation: 90
|
|
7
|
+
Swordsmanship: 75
|
|
8
|
+
Leadership: 85
|
|
9
|
+
Cunning: 95
|
|
10
|
+
Seamanship: 80
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Syntax
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
polar-area Chart Title
|
|
17
|
+
|
|
18
|
+
Label: value
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Metadata Keys
|
|
22
|
+
|
|
23
|
+
| Key | Description | Required |
|
|
24
|
+
| ------- | ------------------------------------- | -------- |
|
|
25
|
+
| `chart` | Must be `polar-area` | Yes |
|
|
26
|
+
| `title` | Chart title displayed above the chart | No |
|
|
27
|
+
|
|
28
|
+
## Data Format
|
|
29
|
+
|
|
30
|
+
Each data line follows the pattern `Label: value`:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Navigation: 90
|
|
34
|
+
Swordsmanship: 75
|
|
35
|
+
Leadership: 85
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Segments are automatically colored using the Nord palette.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Quadrant Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
quadrant Crew Performance Assessment
|
|
5
|
+
x-label Low Skill, High Skill
|
|
6
|
+
y-label Low Loyalty, High Loyalty
|
|
7
|
+
|
|
8
|
+
top-right Promote (green)
|
|
9
|
+
top-left Train (yellow)
|
|
10
|
+
bottom-left Maroon (red)
|
|
11
|
+
bottom-right Watch Closely (purple)
|
|
12
|
+
|
|
13
|
+
Quartermaster 0.9, 0.95
|
|
14
|
+
Navigator 0.85, 0.8
|
|
15
|
+
Gunner 0.7, 0.6
|
|
16
|
+
Surgeon 0.8, 0.75
|
|
17
|
+
Boatswain 0.6, 0.85
|
|
18
|
+
Cook 0.4, 0.9
|
|
19
|
+
New Recruit 0.2, 0.5
|
|
20
|
+
Troublemaker 0.65, 0.2
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Syntax
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
quadrant Chart Title
|
|
27
|
+
x-label Low Label, High Label
|
|
28
|
+
y-label Low Label, High Label
|
|
29
|
+
|
|
30
|
+
top-right Quadrant Label (color)
|
|
31
|
+
top-left Quadrant Label (color)
|
|
32
|
+
bottom-left Quadrant Label (color)
|
|
33
|
+
bottom-right Quadrant Label (color)
|
|
34
|
+
|
|
35
|
+
Item Name x, y
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Metadata Keys
|
|
39
|
+
|
|
40
|
+
| Key | Description | Required |
|
|
41
|
+
| -------------- | ------------------------------------------------------- | -------- |
|
|
42
|
+
| `chart` | Must be `quadrant` | Yes |
|
|
43
|
+
| `title` | Chart title displayed above the chart | No |
|
|
44
|
+
| `x-label` | Two comma-separated labels for X axis (low, high) | No |
|
|
45
|
+
| `y-label` | Two comma-separated labels for Y axis (low, high) | No |
|
|
46
|
+
| `top-right` | Label for the top-right quadrant with optional color | No |
|
|
47
|
+
| `top-left` | Label for the top-left quadrant with optional color | No |
|
|
48
|
+
| `bottom-left` | Label for the bottom-left quadrant with optional color | No |
|
|
49
|
+
| `bottom-right` | Label for the bottom-right quadrant with optional color | No |
|
|
50
|
+
|
|
51
|
+
## Data Format
|
|
52
|
+
|
|
53
|
+
Each data point specifies X and Y coordinates between 0 and 1:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Item A 0.9, 0.95
|
|
57
|
+
Item B 0.4, 0.3
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Quadrant Colors
|
|
61
|
+
|
|
62
|
+
Colors can be specified in parentheses after each quadrant label:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
top-right Promote (green)
|
|
66
|
+
top-left Train (yellow)
|
|
67
|
+
bottom-left Maroon (red)
|
|
68
|
+
bottom-right Watch Closely (purple)
|
|
69
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Radar Chart
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
radar Ship Combat Rating
|
|
5
|
+
|
|
6
|
+
Firepower: 85
|
|
7
|
+
Speed: 70
|
|
8
|
+
Armor: 60
|
|
9
|
+
Maneuverability: 90
|
|
10
|
+
Crew Morale: 75
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Syntax
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
radar Chart Title
|
|
17
|
+
|
|
18
|
+
Label: value
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Metadata Keys
|
|
22
|
+
|
|
23
|
+
| Key | Description | Required |
|
|
24
|
+
| ------- | ------------------------------------- | -------- |
|
|
25
|
+
| `chart` | Must be `radar` | Yes |
|
|
26
|
+
| `title` | Chart title displayed above the chart | No |
|
|
27
|
+
|
|
28
|
+
## Data Format
|
|
29
|
+
|
|
30
|
+
Each data line defines one axis of the radar with its value:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Firepower: 85
|
|
34
|
+
Speed: 70
|
|
35
|
+
Armor: 60
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Values are plotted on axes radiating from the center, connected by a filled polygon.
|