]>
Commit | Line | Data |
---|---|---|
5e8ff485 RBR |
1 | # Map |
2 | ||
3 | A wardley mapping tool: Write some text, get a diagram | |
4 | ||
5 | ## Building | |
6 | ||
7 | Open the project in Xcode and press buithe run button | |
8 | ||
9 | ## Formatting and Linting | |
10 | ||
11 | In order to format and lint the code, the project provides a Makefile that | |
12 | uses [swift-format][swift-format]. | |
13 | ||
14 | * To format: `make format` | |
15 | * To lint: `make lint` | |
16 | ||
17 | These commands run on every `.swift` file in the directory. | |
18 | ||
19 | ## Language Reference | |
20 | ||
21 | ### Nodes | |
22 | ||
23 | Nodes should be of the format `Name (x,y)`. The name can contain spaces, and | |
24 | the `x`/`y` can be integers or decimals. All dimensions go from 0 - 100, so | |
25 | 50 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 | ||
33 | Edges 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 | ||
41 | You 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 |
48 | You 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 | ||
56 | If 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 | ||
63 | The parser doesn't enforce position, so if you put axis iii before axis i, | |
64 | you'll get some rendering issues. | |
65 | ||
9acbbf34 RBR |
66 | ### Groups |
67 | ||
8a50acea | 68 | You 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 |
75 | You can add notes `[Note] (x, y) Text` where x and y are numbers, and Text is |
76 | any 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 |