Map
A wardley mapping tool: Write some text, get a diagram
Building
Open the project in Xcode and press the run button (or make build)
Testing
Open the project in Xcode and press the test button (or make test)
Formatting and Linting
In order to format and lint the code, the project provides a Makefile that uses swift-format.
- To format:
make format - To lint:
make lint
These commands run on every .swift file in the directory.
Language Reference
Nodes
Nodes should be of the format Name (x,y). The name can contain spaces, and
the x/y can be integers or decimals. All dimensions go from 0 - 100, so
50 means 50% of the way through. eg.
Node (1,2)My Cool Node (1.0,2.0)A (1, 2.0)
Edges
Edges connect two nodes. They use the format Node -- Node (line only) or
Node -> Node (with arrowhead). eg.
Node -- My Cool NodeA -> Node
Blockers
You can place a blocker in front of a node by using [Blocker] Node. eg.
[Blocker] My Cool Node[Blocker] A
Evolution
You can draw evolution arrows by using [Evolution] Node +x or
[Evolution] Node -x. eg.
[Evolution] My Cool Node -10[Evolution] A +15
Modifying the axes
If you need more space for one of the four segments you can use
[I] x, [II] x, or [III] x. eg.
[I] 15[II] 35.5[III] 80
The parser doesn't enforce position, so if you put axis iii before axis i, you'll get some rendering issues.
Groups
You can group nodes together by using [Group] NodeA, NodeB.... eg.
[Group] Tinker, Tailor, Soldier[Group] Two Words, Three Words Here
Notes
You can add notes [Note] (x, y) Text where x and y are numbers, and Text is
any text with spaces or \n.
[Note] (30, 45) Here we want to call out an explanation or context.[Note] (90, 25) We're close to the edge \n so we can multiline it.