aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2021-02-03 23:53:12 +0100
committerRuben Beltran del Rio <ruben@unlimited.pizza>2021-02-03 23:53:12 +0100
commit5e8ff4850c4827125fe12788dd5b153c4f636f48 (patch)
treef37c90338f33e7ddc84cc855a20dca1ca503476e /README.md
parent1b85f723b48d38cf345bb9a4f3fd01aa6039b50b (diff)
Add code for first release
Diffstat (limited to 'README.md')
-rw-r--r--README.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9c8daf1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,66 @@
+# Map
+
+A wardley mapping tool: Write some text, get a diagram
+
+## Building
+
+Open the project in Xcode and press buithe run button
+
+## Formatting and Linting
+
+In order to format and lint the code, the project provides a Makefile that
+uses [swift-format][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 Node`
+- `A -> Node`
+
+### Blockers
+
+You can place a blocker in front of a node by using `[Blocker] Node`. eg.
+
+- `[Blocker] My Cool Node`
+- `[Blocker] A`
+
+### Opportunities
+
+You can draw opportunity arrows by using `[Opportunity] Node +x` or
+`[Opportunity] Node -x`. eg.
+
+- `[Opportunity] My Cool Node -10`
+- `[Opportunity] 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.
+
+[swift-format]: https://github.com/apple/swift-format.git