33This is a Go implementation of [ markdeep.mini.js] 's ASCII diagram
44generation.
55
6- ## Example
6+ ## Usage
77
8- This SVG:
8+ ``` bash
9+ $ go get github.com/blampe/goat
10+ $ goat my-cool-diagram.txt > my-cool-diagram.svg
11+ ```
912
10- ![ Complicated Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/complicated.svg )
13+ ## TODO
14+
15+ * Dashed lines signaled by ` : ` or ` = ` .
16+ * Bold lines signaled by ???.
17+
18+ ## Examples
19+
20+ Here are some SVGs and the ASCII input they were generated from:
21+
22+ ### Trees
23+
24+ ![ Trees Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/trees.svg )
25+
26+ ```
27+ . . . .--- 1 .-- 1 / 1
28+ / \ | | .---+ .-+ +
29+ / \ .---+---. .--+--. | '--- 2 | '-- 2 / \ 2
30+ + + | | | | ---+ ---+ +
31+ / \ / \ .-+-. .-+-. .+. .+. | .--- 3 | .-- 3 \ / 3
32+ / \ / \ | | | | | | | | '---+ '-+ +
33+ 1 2 3 4 1 2 3 4 1 2 3 4 '--- 4 '-- 4 \ 4
34+ ```
35+
36+ ### Overlaps
37+
38+ ![ Overlaps Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/overlaps.svg )
39+
40+ ```
41+ .-. .-. .-. .-. .-. .-.
42+ | | | | | | | | | | | |
43+ .---------. .--+---+--. .--+---+--. .--| |--. .--+ +--. .------|--.
44+ | | | | | | | | | | | | | | | | | |
45+ '---------' '--+---+--' '--+---+--' '--| |--' '--+ +--' '--|------'
46+ | | | | | | | | | | | |
47+ '-' '-' '-' '-' '-' '-'
48+ ```
49+
50+ ### Line Decorations
51+
52+ ![ Line Decorations Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/line-decorations.svg )
53+
54+ ```
55+ ________ o * * .--------------.
56+ *---+--. | | o o | ^ \ / | .----------. |
57+ | | '--* -+- | | v / \ / | | <------. | |
58+ | '-----> .---(---' --->*<--- / .+->*<--o----' | | | | |
59+ <--' ^ ^ | | | | | ^ \ | '--------' | |
60+ \/ *-----' o |<----->| '-----' |__| v '------------' |
61+ /\ *---------------'
62+ ```
63+
64+ ### Line Ends
65+
66+ ![ Line Ends Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/line-ends.svg )
67+
68+ ```
69+ o--o *--o / / * o o o o o * * * * o o o o * * * * o o o o * * * *
70+ o--* *--* v v ^ ^ | | | | | | | | \ \ \ \ \ \ \ \ / / / / / / / /
71+ o--> *--> * o / / o * v ' o * v ' o * v \ o * v \ o * v / o * v /
72+ o--- *---
73+ ^ ^ ^ ^ . . . . ^ ^ ^ ^ \ \ \ \ ^ ^ ^ ^ / / / /
74+ | | * o \ \ * o | | | | | | | | \ \ \ \ \ \ \ \ / / / / / / / /
75+ v v ^ ^ v v ^ ^ o * v ' o * v ' o * v \ o * v \ o * v / o * v /
76+ * o | | * o \ \
77+
78+ <--o <--* <--> <--- ---o ---* ---> ---- *<-- o<-- -->o -->*
79+ ```
80+
81+ ### Dot Grids
1182
12- Was rendered from this input:
83+ ![ Dot Grids Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/dot-grids.svg )
84+
85+ ```
86+ o o o o o * * * * * * * o o * o o o * * * o o o · * · · · · · ·
87+ o o o o o * * * * * o o o o * o o o o * * * * * o * * · * * · · · · · ·
88+ o o o o o * * * * * o * o o o o o o o o * * * * * o o o o o · o · · o · · * * ·
89+ o o o o o * * * * * o * o o o o o o o * * * * o * o o · · · · o · · * ·
90+ o o o o o * * * * * * * * * o o o o * * * o * o · · · · · · · *
91+ ```
92+
93+ ### Large Nodes
94+
95+ ![ Large Node Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/large-nodes.svg )
96+
97+ ```
98+ .---. .-. .-. .-. .-.
99+ | A +----->| 1 +<---->| 2 |<----+ 4 +------------------. | 8 |
100+ '---' '-' '+' '-' | '-'
101+ | ^ | ^
102+ v | v |
103+ .-. .-+-. .-. .-+-. .-. .+. .---.
104+ | 3 +---->| B |<----->| 5 +---->| C +---->| 6 +---->| 7 |<---->| D |
105+ '-' '---' '-' '---' '-' '-' '---'
106+ ```
107+
108+ ### Small Grids
109+
110+ ![ Small Grids Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/small-grids.svg )
111+
112+ ```
113+ ___ ___ .---+---+---+---+---. .---+---+---+---. .---. .---.
114+ ___/ \___/ \ | | | | | | / \ / \ / \ / \ / | +---+ |
115+ / \___/ \___/ +---+---+---+---+---+ +---+---+---+---+ +---+ +---+
116+ \___/ b \___/ \ | | | b | | | \ / \a/ \b/ \ / \ | +---+ |
117+ / a \___/ \___/ +---+---+---+---+---+ +---+---+---+---+ +---+ b +---+
118+ \___/ \___/ \ | | a | | | | / \ / \ / \ / \ / | a +---+ |
119+ \___/ \___/ '---+---+---+---+---' '---+---+---+---' '---' '---'
120+ ```
121+
122+ ### Big Grids
123+
124+ ![ Big Grids Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/big-grids.svg )
125+
126+ ```
127+ .----. .----.
128+ / \ / \ .-----+-----+-----.
129+ + +----+ +----. | | | | .-----+-----+-----+-----+
130+ \ / \ / \ | | | | / / / / /
131+ +----+ B +----+ + +-----+-----+-----+ +-----+-----+-----+-----+
132+ / \ / \ / | | | | / / / / /
133+ + A +----+ +----+ | | B | | +-----+-----+-----+-----+
134+ \ / \ / \ +-----+-----+-----+ / / A / B / /
135+ '----+ +----+ + | | | | +-----+-----+-----+-----+
136+ \ / \ / | A | | | / / / / /
137+ '----' '----' '-----+-----+-----' '-----+-----+-----+-----+
138+ ```
139+
140+ ### Complicated
141+
142+ ![ Complicated Example] ( https://cdn.rawgit.com/blampe/goat/master/examples/complicated.svg )
13143
14144```
15145+-------------------+ ^ .---.
16- | A Box | <-- --> | .-. | |
17- | | v | * |<--- | |
146+ | A Box |__.--.__ __. --> | .-. | |
147+ | | '--' v | * |<--- | |
18148+-------------------+ '-' | |
19149 Round *---(-. |
20150 .-----------------. .-------. .----------. .-------. | | |
@@ -40,18 +170,4 @@ Was rendered from this input:
40170
41171More examples are available [ here] ( examples ) .
42172
43- ## Usage
44-
45- ``` bash
46- $ go get github.com/blampe/goat
47- $ goat my-cool-diagram.txt > my-cool-diagram.svg
48- ```
49-
50- ## TODO
51-
52- * Dashed lines signaled by ` : ` or ` = ` .
53- * Bold lines signaled by ???.
54- * Draw half-steps (` _.- ` ) correctly.
55- * Angled triangles.
56-
57173[ markdeep.mini.js ] : http://casual-effects.com/markdeep/
0 commit comments