]>
Commit | Line | Data |
---|---|---|
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 | ||
46 | ### Evolution | |
47 | ||
48 | You can draw evolution arrows by using `[Evolution] Node +x` or | |
49 | `[Evolution] Node -x`. eg. | |
50 | ||
51 | - `[Evolution] My Cool Node -10` | |
52 | - `[Evolution] A +15` | |
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 | ||
66 | ### Groups | |
67 | ||
68 | You can group nodes together by using `[Group] NodeA NodeB...`. eg. | |
69 | ||
70 | - `[Group] Tinker Tailor Soldier` | |
71 | ||
72 | ### Notes | |
73 | ||
74 | You can add notes by using `[Note] (x,y) Text`. eg. | |
75 | ||
76 | - `[Note] (10, 20.1) This is a note, it will wrap itself` | |
77 | - `[Note] (10, 20.1) This is a note,\nwith a forced wrap` | |
78 | ||
79 | [swift-format]: https://github.com/apple/swift-format.git |