]> git.r.bdr.sh - rbdr/map/blob - README.md
9c8daf122eeb7a25f27d8d9994e7259e62064425
[rbdr/map] / README.md
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 ### Opportunities
47
48 You can draw opportunity arrows by using `[Opportunity] Node +x` or
49 `[Opportunity] Node -x`. eg.
50
51 - `[Opportunity] My Cool Node -10`
52 - `[Opportunity] 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 [swift-format]: https://github.com/apple/swift-format.git