]> git.r.bdr.sh - rbdr/map/blame - README.md
Add search
[rbdr/map] / README.md
CommitLineData
5e8ff485
RBR
1# Map
2
3A wardley mapping tool: Write some text, get a diagram
4
5## Building
6
7Open the project in Xcode and press buithe run button
8
9## Formatting and Linting
10
11In order to format and lint the code, the project provides a Makefile that
12uses [swift-format][swift-format].
13
14* To format: `make format`
15* To lint: `make lint`
16
17These commands run on every `.swift` file in the directory.
18
19## Language Reference
20
21### Nodes
22
23Nodes should be of the format `Name (x,y)`. The name can contain spaces, and
24the `x`/`y` can be integers or decimals. All dimensions go from 0 - 100, so
2550 means 50% of the way through. eg.
26
27- `Node (1,2)`
28- `My Cool Node (1.0,2.0)`
29- `A (1, 2.0)`
30
31### Edges
32
33Edges connect two nodes. They use the format `Node -- Node` (line only) or
34`Node -> Node` (with arrowhead). eg.
35
36- `Node -- My Cool Node`
37- `A -> Node`
38
39### Blockers
40
41You can place a blocker in front of a node by using `[Blocker] Node`. eg.
42
43- `[Blocker] My Cool Node`
44- `[Blocker] A`
45
9acbbf34 46### Evolution
5e8ff485 47
9acbbf34
RBR
48You can draw evolution arrows by using `[Evolution] Node +x` or
49`[Evolution] Node -x`. eg.
5e8ff485 50
9acbbf34
RBR
51- `[Evolution] My Cool Node -10`
52- `[Evolution] A +15`
5e8ff485
RBR
53
54### Modifying the axes
55
56If you need more space for one of the four segments you can use
57`[I] x`, `[II] x`, or `[III] x`. eg.
58
59- `[I] 15`
60- `[II] 35.5`
61- `[III] 80`
62
63The parser doesn't enforce position, so if you put axis iii before axis i,
64you'll get some rendering issues.
65
9acbbf34
RBR
66### Groups
67
8a50acea 68You can group nodes together by using `[Group] NodeA, NodeB...`. eg.
9acbbf34 69
8a50acea
RBR
70- `[Group] Tinker, Tailor, Soldier`
71- `[Group] Two Words, Three Words Here`
9acbbf34
RBR
72
73### Notes
74
4e7e11cf
RBR
75You can add notes `[Note] (x, y) Text` where x and y are numbers, and Text is
76any text with spaces or `\n`.
9acbbf34 77
4e7e11cf
RBR
78- `[Note] (30, 45) Here we want to call out an explanation or context.`
79- `[Note] (90, 25) We're close to the edge \n so we can multiline it.`
9acbbf34 80
5e8ff485 81[swift-format]: https://github.com/apple/swift-format.git