@diagrammo/dgmo 0.8.22 → 0.8.25

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.
Files changed (90) hide show
  1. package/.claude/commands/dgmo.md +60 -72
  2. package/dist/cli.cjs +123 -116
  3. package/dist/editor.cjs +3 -2
  4. package/dist/editor.cjs.map +1 -1
  5. package/dist/editor.js +3 -2
  6. package/dist/editor.js.map +1 -1
  7. package/dist/highlight.cjs +3 -2
  8. package/dist/highlight.cjs.map +1 -1
  9. package/dist/highlight.js +3 -2
  10. package/dist/highlight.js.map +1 -1
  11. package/dist/index.cjs +1649 -442
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.cts +196 -23
  14. package/dist/index.d.ts +196 -23
  15. package/dist/index.js +1631 -440
  16. package/dist/index.js.map +1 -1
  17. package/dist/internal.cjs +677 -0
  18. package/dist/internal.cjs.map +1 -0
  19. package/dist/internal.d.cts +267 -0
  20. package/dist/internal.d.ts +267 -0
  21. package/dist/internal.js +633 -0
  22. package/dist/internal.js.map +1 -0
  23. package/docs/guide/chart-area.md +17 -17
  24. package/docs/guide/chart-bar-stacked.md +12 -12
  25. package/docs/guide/chart-cycle.md +156 -0
  26. package/docs/guide/chart-doughnut.md +10 -10
  27. package/docs/guide/chart-funnel.md +9 -9
  28. package/docs/guide/chart-heatmap.md +10 -10
  29. package/docs/guide/chart-journey-map.md +179 -0
  30. package/docs/guide/chart-kanban.md +2 -0
  31. package/docs/guide/chart-line.md +19 -19
  32. package/docs/guide/chart-multi-line.md +16 -16
  33. package/docs/guide/chart-pie.md +11 -11
  34. package/docs/guide/chart-polar-area.md +10 -10
  35. package/docs/guide/chart-pyramid.md +111 -0
  36. package/docs/guide/chart-radar.md +9 -9
  37. package/docs/guide/chart-scatter.md +24 -27
  38. package/docs/guide/index.md +3 -3
  39. package/docs/guide/registry.json +5 -0
  40. package/docs/language-reference.md +108 -26
  41. package/fonts/Inter-Bold.ttf +0 -0
  42. package/fonts/Inter-Regular.ttf +0 -0
  43. package/fonts/LICENSE-Inter.txt +92 -0
  44. package/gallery/fixtures/bar-stacked.dgmo +12 -6
  45. package/gallery/fixtures/heatmap.dgmo +12 -6
  46. package/gallery/fixtures/multi-line.dgmo +11 -7
  47. package/gallery/fixtures/pyramid/dikw.dgmo +17 -0
  48. package/gallery/fixtures/pyramid/inverted-funnel.dgmo +16 -0
  49. package/gallery/fixtures/pyramid/minimal.dgmo +5 -0
  50. package/gallery/fixtures/quadrant.dgmo +8 -8
  51. package/gallery/fixtures/scatter.dgmo +12 -12
  52. package/package.json +14 -2
  53. package/src/boxes-and-lines/parser.ts +13 -2
  54. package/src/boxes-and-lines/renderer.ts +22 -13
  55. package/src/chart-type-scoring.ts +162 -0
  56. package/src/chart-types.ts +437 -0
  57. package/src/cli.ts +152 -101
  58. package/src/completion.ts +9 -48
  59. package/src/cycle/layout.ts +19 -28
  60. package/src/cycle/renderer.ts +59 -32
  61. package/src/cycle/types.ts +21 -0
  62. package/src/d3.ts +30 -3
  63. package/src/dgmo-router.ts +98 -73
  64. package/src/echarts.ts +1 -1
  65. package/src/editor/keywords.ts +3 -2
  66. package/src/fonts.ts +3 -2
  67. package/src/gantt/parser.ts +5 -1
  68. package/src/index.ts +37 -3
  69. package/src/infra/parser.ts +3 -3
  70. package/src/internal.ts +20 -0
  71. package/src/journey-map/layout.ts +7 -3
  72. package/src/journey-map/parser.ts +5 -1
  73. package/src/journey-map/renderer.ts +112 -47
  74. package/src/kanban/parser.ts +5 -1
  75. package/src/org/collapse.ts +82 -4
  76. package/src/org/parser.ts +1 -1
  77. package/src/org/renderer.ts +221 -4
  78. package/src/pyramid/parser.ts +172 -0
  79. package/src/pyramid/renderer.ts +684 -0
  80. package/src/pyramid/types.ts +28 -0
  81. package/src/render.ts +2 -8
  82. package/src/sequence/parser.ts +64 -22
  83. package/src/sequence/participant-inference.ts +0 -1
  84. package/src/sequence/renderer.ts +97 -265
  85. package/src/sharing.ts +0 -1
  86. package/src/sitemap/parser.ts +1 -1
  87. package/src/tech-radar/interactive.ts +54 -0
  88. package/src/utils/parsing.ts +1 -0
  89. package/src/utils/tag-groups.ts +35 -5
  90. package/src/wireframe/parser.ts +3 -1
@@ -8,12 +8,12 @@ x-label Year
8
8
  era 1710 -> 1716 Rise (green)
9
9
  era 1716 -> 1720 Decline (red)
10
10
 
11
- 1710: 3
12
- 1712: 5
13
- 1714: 9
14
- 1716: 14
15
- 1718: 8
16
- 1720: 4
11
+ 1710 3
12
+ 1712 5
13
+ 1714 9
14
+ 1716 14
15
+ 1718 8
16
+ 1720 4
17
17
  ```
18
18
 
19
19
  ## Syntax
@@ -24,7 +24,7 @@ series Series Name
24
24
  x-label X Axis Label
25
25
  y-label Y Axis Label
26
26
 
27
- Label: value
27
+ Label value
28
28
  ```
29
29
 
30
30
  ## Era Bands
@@ -38,12 +38,12 @@ x-label Year
38
38
  era 1710 -> 1714 Early Growth (blue)
39
39
  era 1714 -> 1720 Decline (red)
40
40
 
41
- 1710: 3
42
- 1712: 5
43
- 1714: 9
44
- 1716: 14
45
- 1718: 8
46
- 1720: 4
41
+ 1710 3
42
+ 1712 5
43
+ 1714 9
44
+ 1716 14
45
+ 1718 8
46
+ 1720 4
47
47
  ```
48
48
 
49
49
  Era syntax: `era <start> -> <end> Label (color)`
@@ -64,10 +64,10 @@ Era syntax: `era <start> -> <end> Label (color)`
64
64
 
65
65
  ## Data Format
66
66
 
67
- Each data line follows the pattern `Label: value`:
67
+ Each data line follows the pattern `Label value`:
68
68
 
69
69
  ```
70
- 1710: 3
71
- 1712: 5
72
- 1714: 9
70
+ 1710 3
71
+ 1712 5
72
+ 1714 9
73
73
  ```
@@ -4,10 +4,10 @@
4
4
  bar-stacked Cargo by Voyage
5
5
  series Rum, Spices, Silk, Gold
6
6
 
7
- Voyage 1 40, 20, 10, 30
8
- Voyage 2 25, 35, 20, 20
9
- Voyage 3 15, 10, 45, 30
10
- Voyage 4 30, 25, 15, 30
7
+ Voyage 1 40 20 10 30
8
+ Voyage 2 25 35 20 20
9
+ Voyage 3 15 10 45 30
10
+ Voyage 4 30 25 15 30
11
11
  ```
12
12
 
13
13
  ## Syntax
@@ -16,7 +16,7 @@ Voyage 4 30, 25, 15, 30
16
16
  bar-stacked Chart Title
17
17
  series Series1, Series2, Series3
18
18
 
19
- Label value1, value2, value3
19
+ Label value1 value2 value3
20
20
  ```
21
21
 
22
22
  ## Metadata Keys
@@ -30,11 +30,11 @@ Label value1, value2, value3
30
30
 
31
31
  ## Data Format
32
32
 
33
- Each data line provides comma-separated values matching the series order:
33
+ Each data line provides space-separated values matching the series order:
34
34
 
35
35
  ```
36
- Voyage 1 40, 20, 10, 30
37
- Voyage 2 25, 35, 20, 20
36
+ Voyage 1 40 20 10 30
37
+ Voyage 2 25 35 20 20
38
38
  ```
39
39
 
40
40
  ## Series Colors
@@ -54,8 +54,8 @@ bar-stacked Port Revenue by Trade
54
54
  orientation-horizontal
55
55
  series Imports(blue), Exports(green), Tariffs(orange)
56
56
 
57
- Port Royal 300, 450, 80
58
- Tortuga 150, 200, 30
59
- Nassau 400, 350, 120
60
- Havana 500, 600, 150
57
+ Port Royal 300 450 80
58
+ Tortuga 150 200 30
59
+ Nassau 400 350 120
60
+ Havana 500 600 150
61
61
  ```
@@ -0,0 +1,156 @@
1
+ # Cycle Diagram
2
+
3
+ ```dgmo
4
+ cycle OODA Loop
5
+
6
+ Observe | color: blue
7
+ Gather raw information from the environment
8
+ Monitor unfolding circumstances
9
+ -Unfold circumstances-> | color: blue
10
+
11
+ Orient | color: green
12
+ Analyze and synthesize observations
13
+ Form a mental model of the situation
14
+ -Form hypothesis-> | color: green
15
+
16
+ Decide | color: orange
17
+ Select a course of action
18
+ -Commit to action-> | color: orange
19
+
20
+ Act | color: red
21
+ Execute the chosen course of action
22
+ Generate results that feed back
23
+ -Generate feedback-> | color: red
24
+ ```
25
+
26
+ ## Overview
27
+
28
+ Cycle diagrams show a circular process flow where nodes are arranged on a circle and directed edges connect each to the next, with the last wrapping back to the first. They are ideal for OODA loops, PDCA cycles, product lifecycles, continuous improvement processes, and any workflow that repeats.
29
+
30
+ ## Syntax
31
+
32
+ ```
33
+ cycle Title
34
+
35
+ NodeLabel
36
+ NodeLabel | color: blue, span: 2
37
+ ```
38
+
39
+ The first line declares the chart type and title. Each top-level line declares a node. Nodes are positioned around a circle in declaration order.
40
+
41
+ ## Nodes
42
+
43
+ Every non-indented, non-directive line is a node:
44
+
45
+ ```
46
+ cycle Seasons
47
+
48
+ Spring | color: green
49
+ Summer | color: yellow
50
+ Autumn | color: orange
51
+ Winter | color: blue
52
+ ```
53
+
54
+ ### Node Pipe Metadata
55
+
56
+ | Key | Type | Default | Description |
57
+ |-----|------|---------|-------------|
58
+ | `color` | palette name | auto | Node fill color |
59
+ | `span` | positive number | `1` | Relative arc distance to next node |
60
+ | `description` | string | — | One-liner shown below the label |
61
+
62
+ ### Descriptions
63
+
64
+ Indented lines under a node add description text. Markdown inline formatting is supported (`**bold**`, `*italic*`, `` `code` ``, `[links](url)`). Bullet points with `- item` render as `• item`.
65
+
66
+ ```
67
+ Observe | color: blue
68
+ Gather raw information from the environment
69
+ Monitor unfolding circumstances
70
+ ```
71
+
72
+ If both `| description: text` and indented lines exist, they concatenate (pipe first, then indented).
73
+
74
+ ## Edges
75
+
76
+ Edges are **implicit** — every node connects to the next, with the last wrapping to the first. The `->` syntax annotates edges with labels, descriptions, and styling:
77
+
78
+ ```
79
+ Observe | color: blue
80
+ -Unfold circumstances-> | color: blue
81
+ Synthesize raw data into context
82
+
83
+ Orient | color: green
84
+ -> | width: 4
85
+ ```
86
+
87
+ Edge lines are indented under their source node. A label goes between `-` and `->`. Pipe metadata supports `color` and `width`.
88
+
89
+ ### Edge Descriptions
90
+
91
+ Indented lines under an edge line add description text:
92
+
93
+ ```
94
+ Observe
95
+ -Analyze->
96
+ Break down observations into components
97
+ Identify **key patterns**
98
+ ```
99
+
100
+ ## Span
101
+
102
+ The `span` metadata controls relative arc distance between nodes. A node with `span: 2` gets twice the arc space to the next node:
103
+
104
+ ```
105
+ cycle Weighted Process
106
+
107
+ Important Step | span: 2
108
+ Quick Step
109
+ Another Step | span: 1.5
110
+ ```
111
+
112
+ ## Directives
113
+
114
+ | Directive | Effect |
115
+ |-----------|--------|
116
+ | `direction-counterclockwise` | Reverse cycle direction (default: clockwise) |
117
+ | `hide-descriptions` | Hide description text on all nodes and edges |
118
+ | `circle-nodes` | Render nodes as circles instead of rounded rectangles |
119
+
120
+ ```
121
+ cycle Simple Loop
122
+
123
+ direction-counterclockwise
124
+
125
+ Plan
126
+ Do
127
+ Check
128
+ Act
129
+ ```
130
+
131
+ ## Complete Example
132
+
133
+ ```dgmo
134
+ cycle PDCA Continuous Improvement
135
+
136
+ Plan | color: blue, span: 1.5
137
+ Define objectives and processes
138
+ Establish expected outcomes
139
+ -Start implementation->
140
+
141
+ Do | color: green
142
+ Execute the plan on a small scale
143
+ Collect data for analysis
144
+ -Gather results->
145
+
146
+ Check | color: orange
147
+ Compare results against expectations
148
+ Identify deviations and root causes
149
+ -Propose changes-> | color: orange
150
+
151
+ Act | color: red
152
+ Standardize successful changes
153
+ Address remaining gaps
154
+ -Feed back into planning-> | color: red
155
+ Begin the next improvement cycle
156
+ ```
@@ -3,11 +3,11 @@
3
3
  ```dgmo
4
4
  doughnut Plunder Distribution
5
5
 
6
- Captain's Share: 40
7
- Quartermaster: 20
8
- Crew Split: 25
9
- Ship Repairs: 10
10
- Provisions: 5
6
+ Captain's Share 40
7
+ Quartermaster 20
8
+ Crew Split 25
9
+ Ship Repairs 10
10
+ Provisions 5
11
11
  ```
12
12
 
13
13
  ## Syntax
@@ -15,7 +15,7 @@ Provisions: 5
15
15
  ```
16
16
  doughnut Chart Title
17
17
 
18
- Label: value
18
+ Label value
19
19
  ```
20
20
 
21
21
  ## Metadata Keys
@@ -27,12 +27,12 @@ Label: value
27
27
 
28
28
  ## Data Format
29
29
 
30
- Each data line follows the pattern `Label: value`:
30
+ Each data line follows the pattern `Label value`:
31
31
 
32
32
  ```
33
- Captain's Share: 40
34
- Quartermaster: 20
35
- Crew Split: 25
33
+ Captain's Share 40
34
+ Quartermaster 20
35
+ Crew Split 25
36
36
  ```
37
37
 
38
38
  Segments are automatically colored using the Nord palette.
@@ -3,11 +3,11 @@
3
3
  ```dgmo
4
4
  funnel Pirate Recruitment Pipeline
5
5
 
6
- Port Visitors: 1000
7
- Tavern Recruits: 500
8
- Crew Trials: 200
9
- Sworn Pirates: 100
10
- Veteran Buccaneers: 50
6
+ Port Visitors 1000
7
+ Tavern Recruits 500
8
+ Crew Trials 200
9
+ Sworn Pirates 100
10
+ Veteran Buccaneers 50
11
11
  ```
12
12
 
13
13
  ## Syntax
@@ -15,7 +15,7 @@ Veteran Buccaneers: 50
15
15
  ```
16
16
  funnel Chart Title
17
17
 
18
- Label: value
18
+ Label value
19
19
  ```
20
20
 
21
21
  ## Metadata Keys
@@ -30,9 +30,9 @@ Label: value
30
30
  Each data line defines a stage with its value. Stages are displayed top-to-bottom with widths proportional to their values:
31
31
 
32
32
  ```
33
- Visitors: 1000
34
- Signups: 500
35
- Purchases: 100
33
+ Visitors 1000
34
+ Signups 500
35
+ Purchases 100
36
36
  ```
37
37
 
38
38
  List stages from largest to smallest for a classic funnel shape.
@@ -4,12 +4,12 @@
4
4
  heatmap Pirate Activity by Sea Region
5
5
  columns Jan, Feb, Mar, Apr, May, Jun
6
6
 
7
- Caribbean: 5, 4, 5, 3, 4, 5
8
- Atlantic: 2, 3, 2, 4, 3, 2
9
- Mediterranean: 3, 2, 1, 2, 3, 4
10
- Indian Ocean: 4, 5, 4, 5, 4, 3
11
- South China Sea: 1, 2, 3, 2, 1, 2
12
- West Africa: 3, 3, 4, 3, 5, 4
7
+ Caribbean 5 4 5 3 4 5
8
+ Atlantic 2 3 2 4 3 2
9
+ Mediterranean 3 2 1 2 3 4
10
+ Indian Ocean 4 5 4 5 4 3
11
+ South China Sea 1 2 3 2 1 2
12
+ West Africa 3 3 4 3 5 4
13
13
  ```
14
14
 
15
15
  ## Syntax
@@ -18,7 +18,7 @@ West Africa: 3, 3, 4, 3, 5, 4
18
18
  heatmap Chart Title
19
19
  columns Col1, Col2, Col3
20
20
 
21
- Row Label: value1, value2, value3
21
+ Row Label value1 value2 value3
22
22
  ```
23
23
 
24
24
  ## Metadata Keys
@@ -31,11 +31,11 @@ Row Label: value1, value2, value3
31
31
 
32
32
  ## Data Format
33
33
 
34
- Each data line defines a row with comma-separated values matching the column count:
34
+ Each data line defines a row with space-separated values matching the column count:
35
35
 
36
36
  ```
37
- Caribbean: 5, 4, 5, 3, 4, 5
38
- Atlantic: 2, 3, 2, 4, 3, 2
37
+ Caribbean 5 4 5 3 4 5
38
+ Atlantic 2 3 2 4 3 2
39
39
  ```
40
40
 
41
41
  The row label becomes the Y axis label. Cell colors are scaled automatically based on value range.
@@ -0,0 +1,179 @@
1
+ # Journey Map
2
+
3
+ ```dgmo
4
+ journey-map Coffee Shop Visit
5
+
6
+ [Order]
7
+ Walk in | 4
8
+ Wait in line | 2
9
+ Order drink | 4
10
+
11
+ [Wait]
12
+ Find a seat | 3
13
+ Wait for drink | 2
14
+
15
+ [Enjoy]
16
+ Get drink | 5
17
+ ```
18
+
19
+ ## Overview
20
+
21
+ Journey maps visualize a user's experience across a process or service, plotting emotional highs and lows as a continuous curve. Each step has a score (1–5, high is good) that drives the emotion landscape. Phases group related steps, annotations capture pain points, opportunities, and thoughts, and tags add cross-cutting dimensions like channel or touchpoint.
22
+
23
+ Journey maps are ideal for UX research, customer experience mapping, service design, and identifying friction points.
24
+
25
+ ## Syntax
26
+
27
+ ```
28
+ journey-map Title
29
+
30
+ persona Name
31
+
32
+ [Phase Name]
33
+ Step Name | score
34
+ Step Name | score Emotion
35
+ ```
36
+
37
+ The first line must be `journey-map` followed by a title. Phases use bracket syntax at indent 0. Steps are indented within phases.
38
+
39
+ ## Persona
40
+
41
+ Declares the journey's protagonist:
42
+
43
+ ```
44
+ persona Tech-Savvy Shopper
45
+ 28yo developer, price-sensitive, does extensive research
46
+ ```
47
+
48
+ Name is everything after `persona `. Indented lines add description text. Only one persona per diagram.
49
+
50
+ ## Phases
51
+
52
+ Phases group steps into logical stages:
53
+
54
+ ```
55
+ [Research]
56
+ Compare specs | 4
57
+ Watch reviews | 5
58
+
59
+ [Purchase]
60
+ Add to cart | 3
61
+ Complete payment | 3
62
+ ```
63
+
64
+ Phases are optional — steps can appear at root level for a flat continuous flow.
65
+
66
+ ## Steps
67
+
68
+ Steps appear indented within phases (or at indent 0 in flat mode).
69
+
70
+ ### Score Syntax
71
+
72
+ The score goes in the pipe, separating step name from data:
73
+
74
+ ```
75
+ Step Name | 4 // bare score
76
+ Step Name | 4 Delighted // score + emotion label
77
+ Step Name | 4, ch: Web // score + tag metadata
78
+ Step Name | 4 Delighted, ch: Web // score + label + metadata
79
+ Step Name | score: 4, ch: Web // explicit score key
80
+ Step Name // no pipe = scoreless step
81
+ ```
82
+
83
+ - **Score scale**: 1–5 integer (high = good)
84
+ - **Emotion label**: optional single word after the score (e.g., `Frustrated`, `Delighted`, `Neutral`)
85
+ - **Scoreless steps**: render as cards but produce no emotion curve point
86
+
87
+ ## Annotations
88
+
89
+ Deeper-indented lines under a step add context:
90
+
91
+ ```
92
+ Forced account creation | 1 Frustrated
93
+ pain: Wants guest checkout
94
+ opportunity: Add guest checkout option
95
+ thought: Why do I need an account?
96
+ description: User abandoned cart twice
97
+ ```
98
+
99
+ | Prefix | Rendering |
100
+ |--------|-----------|
101
+ | `pain:` | Pain point (red accent) |
102
+ | `opportunity:` | Improvement opportunity (green accent) |
103
+ | `thought:` | User thought (italic) |
104
+ | `description:` | General context text |
105
+
106
+ Multiple annotations per step are allowed.
107
+
108
+ ## Tag Groups
109
+
110
+ Tags add color-coded dimensions like channel or touchpoint:
111
+
112
+ ```
113
+ tag Channel ch
114
+ Web(blue)
115
+ Mobile(purple)
116
+ In-Person(green)
117
+
118
+ [Research]
119
+ Compare specs | 4, ch: Web
120
+ Ask friends | 4, ch: In-Person
121
+ ```
122
+
123
+ Reference tag values in step pipes via the alias.
124
+
125
+ ## Flat Mode
126
+
127
+ Steps at root level (no `[Phase]` brackets) render as a continuous horizontal strip:
128
+
129
+ ```dgmo
130
+ journey-map Quick Feedback
131
+
132
+ Opened app | 4
133
+ Searched for feature | 3
134
+ Hit error | 1 Frustrated
135
+ pain: No helpful error message
136
+ Contacted support | 2
137
+ Got resolution | 5 Relieved
138
+ ```
139
+
140
+ ## Directives
141
+
142
+ | Directive | Effect |
143
+ |-----------|--------|
144
+ | `no-legend` | Hide the score legend |
145
+ | `active-tag GroupName` | Set the active tag group for coloring |
146
+
147
+ ## Complete Example
148
+
149
+ ```dgmo
150
+ journey-map Buying a Laptop
151
+
152
+ persona Tech-Savvy Shopper
153
+ 28yo developer, price-sensitive, does extensive research
154
+
155
+ tag Channel ch
156
+ Web(blue)
157
+ Mobile(purple)
158
+ Email(teal)
159
+ In-Person(green)
160
+
161
+ [Research]
162
+ Compare specs | 4, ch: Web
163
+ description: Checked 12 laptops across 4 review sites
164
+ Watch reviews | 5 Engaged, ch: Mobile
165
+ Ask friends | 4, ch: In-Person
166
+
167
+ [Purchase]
168
+ Add to cart | 3, ch: Web
169
+ Forced account creation | 1 Frustrated, ch: Web
170
+ pain: Wants guest checkout
171
+ pain: Password requirements too strict
172
+ Complete payment | 3, ch: Web
173
+
174
+ [Delivery]
175
+ Track package | 4, ch: Mobile
176
+ Unboxing | 5 Delighted, ch: In-Person
177
+ opportunity: Include setup guide
178
+ thought: Excited to try it out
179
+ ```
@@ -59,6 +59,8 @@ Card Title | key: Value, key: Value
59
59
 
60
60
  Columns are defined with `[Column Name]` syntax. All cards between one column header and the next belong to that column.
61
61
 
62
+ Kanban columns model a workflow pipeline. Cards move left to right as work progresses. Each column should answer "what stage is this work in?" If something isn't a stage — like acceptance criteria, decision gates, or definitions of done — model it as a tag on cards rather than a separate column.
63
+
62
64
  ```
63
65
  [To Do]
64
66
  [In Progress]
@@ -9,13 +9,13 @@ y-label Speed
9
9
  era Day 1 -> Day 3 Rough Seas (red)
10
10
  era Day 3 -> Day 7 Fair Winds (blue)
11
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
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
19
  ```
20
20
 
21
21
  ## Syntax
@@ -26,7 +26,7 @@ series Series Name
26
26
  x-label X Axis Label
27
27
  y-label Y Axis Label
28
28
 
29
- Label: value
29
+ Label value
30
30
  ```
31
31
 
32
32
  ## Era Bands
@@ -41,13 +41,13 @@ era '77 -> '81 Carter (blue)
41
41
  era '81 -> '89 Reagan (red)
42
42
  era '89 -> '93 Bush (red)
43
43
 
44
- '77: 7
45
- '78: 67
46
- '79: 91
47
- '80: 108
48
- '81: 230
49
- '82: 294
50
- '83: 379
44
+ '77 7
45
+ '78 67
46
+ '79 91
47
+ '80 108
48
+ '81 230
49
+ '82 294
50
+ '83 379
51
51
  ```
52
52
 
53
53
  Era syntax: `era <start> -> <end> Label (color)`
@@ -70,10 +70,10 @@ Era syntax: `era <start> -> <end> Label (color)`
70
70
 
71
71
  ## Data Format
72
72
 
73
- Each data line follows the pattern `Label: value`:
73
+ Each data line follows the pattern `Label value`:
74
74
 
75
75
  ```
76
- Day 1: 8
77
- Day 2: 10
78
- Day 3: 7
76
+ Day 1 8
77
+ Day 2 10
78
+ Day 3 7
79
79
  ```
@@ -9,12 +9,12 @@ x-label Month
9
9
  era Jan -> Mar Atlantic Season
10
10
  era Mar -> Jun Caribbean Season (teal)
11
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
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
18
  ```
19
19
 
20
20
  ## Syntax
@@ -24,7 +24,7 @@ line Chart Title
24
24
  series Series1(color), Series2(color), Series3(color)
25
25
  x-label X Axis Label
26
26
 
27
- Label: value1, value2, value3
27
+ Label value1 value2 value3
28
28
  ```
29
29
 
30
30
  ## Metadata Keys
@@ -39,11 +39,11 @@ Label: value1, value2, value3
39
39
 
40
40
  ## Data Format
41
41
 
42
- Each data line provides comma-separated values matching the series order:
42
+ Each data line provides space-separated values matching the series order:
43
43
 
44
44
  ```
45
- Jan: 3, 5, 2
46
- Feb: 4, 3, 4
45
+ Jan 3 5 2
46
+ Feb 4 3 4
47
47
  ```
48
48
 
49
49
  The number of values per line must match the number of series names.
@@ -60,12 +60,12 @@ x-label Month
60
60
  era Jan -> Mar Q1 (green)
61
61
  era Apr -> Jun Q2 (orange)
62
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
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
69
  ```
70
70
 
71
71
  Era syntax: `era <start> -> <end> Label (color)`