comparison docs/figures/figure-ug01.svg @ 978:8328337d23b2

docs: add new user guide This has also been reviewed to death on evolve-testers. There are still a couple of short sections to write (clearly marked "TODO"), and one example to add. But (if I may be so bold) this is a gigantic improvement over the current docs, so it really should get merged. Incidentally, the figures are all SVG files created with Inkscape. They're not perfect, but they're pretty nice. Anyone who knows a better way to create technical diagrams is welcome to contribute. One wart: there's a test script that accompanies the document and largely duplicates it, but I haven't unified them. I've been concentrating on writing the best possible content, not on fiddling with tools. I suspect that unifying them will be non-trivial, but definitely worth doing.
author Greg Ward <greg@gerg.ca>
date Thu, 05 Jun 2014 22:11:04 -0400
parents
children 091eab1223a4
comparison
equal deleted inserted replaced
977:cc0f0d94bf30 978:8328337d23b2
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4 <svg
5 xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
6 xmlns:dc="http://purl.org/dc/elements/1.1/"
7 xmlns:cc="http://creativecommons.org/ns#"
8 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9 xmlns:svg="http://www.w3.org/2000/svg"
10 xmlns="http://www.w3.org/2000/svg"
11 xmlns:xlink="http://www.w3.org/1999/xlink"
12 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14 width="200"
15 height="150"
16 id="svg2"
17 version="1.1"
18 inkscape:version="0.48.4 r9939"
19 sodipodi:docname="figure-ug01.svg">
20 <defs
21 id="defs4">
22 <marker
23 inkscape:stockid="Arrow1Mstart"
24 orient="auto"
25 refY="0"
26 refX="0"
27 id="Arrow1Mstart"
28 style="overflow:visible">
29 <path
30 id="path3998"
31 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
32 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
33 transform="matrix(0.4,0,0,0.4,4,0)"
34 inkscape:connector-curvature="0" />
35 </marker>
36 <linearGradient
37 inkscape:collect="always"
38 id="linearGradient3976">
39 <stop
40 style="stop-color:#000000;stop-opacity:1;"
41 offset="0"
42 id="stop3978" />
43 <stop
44 style="stop-color:#000000;stop-opacity:0;"
45 offset="1"
46 id="stop3980" />
47 </linearGradient>
48 <marker
49 inkscape:stockid="Arrow2Mend"
50 orient="auto"
51 refY="0"
52 refX="0"
53 id="Arrow2Mend"
54 style="overflow:visible">
55 <path
56 id="path5316"
57 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
58 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
59 transform="scale(-0.6,-0.6)"
60 inkscape:connector-curvature="0" />
61 </marker>
62 <marker
63 inkscape:stockid="Arrow1Lend"
64 orient="auto"
65 refY="0"
66 refX="0"
67 id="Arrow1Lend"
68 style="overflow:visible">
69 <path
70 id="path5292"
71 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
72 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
73 transform="matrix(-0.8,0,0,-0.8,-10,0)"
74 inkscape:connector-curvature="0" />
75 </marker>
76 <marker
77 inkscape:stockid="Arrow1Lstart"
78 orient="auto"
79 refY="0"
80 refX="0"
81 id="Arrow1Lstart"
82 style="overflow:visible">
83 <path
84 id="path5289"
85 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
86 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
87 transform="matrix(0.8,0,0,0.8,10,0)"
88 inkscape:connector-curvature="0" />
89 </marker>
90 <linearGradient
91 inkscape:collect="always"
92 id="linearGradient5253">
93 <stop
94 style="stop-color:#000000;stop-opacity:1;"
95 offset="0"
96 id="stop5255" />
97 <stop
98 style="stop-color:#000000;stop-opacity:0;"
99 offset="1"
100 id="stop5257" />
101 </linearGradient>
102 <linearGradient
103 id="linearGradient5245"
104 osb:paint="solid">
105 <stop
106 style="stop-color:#000000;stop-opacity:1;"
107 offset="0"
108 id="stop5247" />
109 </linearGradient>
110 <linearGradient
111 id="linearGradient5207"
112 osb:paint="solid">
113 <stop
114 style="stop-color:#000000;stop-opacity:1;"
115 offset="0"
116 id="stop5209" />
117 </linearGradient>
118 <linearGradient
119 inkscape:collect="always"
120 xlink:href="#linearGradient5253"
121 id="linearGradient5259"
122 x1="384.79102"
123 y1="262.99402"
124 x2="391.83789"
125 y2="262.99402"
126 gradientUnits="userSpaceOnUse" />
127 <marker
128 inkscape:stockid="Arrow2Mend"
129 orient="auto"
130 refY="0"
131 refX="0"
132 id="Arrow2Mend-6"
133 style="overflow:visible">
134 <path
135 id="path5316-5"
136 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
137 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
138 transform="scale(-0.6,-0.6)"
139 inkscape:connector-curvature="0" />
140 </marker>
141 <linearGradient
142 inkscape:collect="always"
143 xlink:href="#linearGradient3976"
144 id="linearGradient3986"
145 x1="21.490866"
146 y1="78.901947"
147 x2="53.729759"
148 y2="78.901947"
149 gradientUnits="userSpaceOnUse"
150 gradientTransform="translate(1.9995778e-6,24.148893)" />
151 </defs>
152 <sodipodi:namedview
153 id="base"
154 pagecolor="#ffffff"
155 bordercolor="#666666"
156 borderopacity="1.0"
157 inkscape:pageopacity="0.0"
158 inkscape:pageshadow="2"
159 inkscape:zoom="1"
160 inkscape:cx="73.6273"
161 inkscape:cy="87.13832"
162 inkscape:document-units="px"
163 inkscape:current-layer="svg2"
164 showgrid="false"
165 inkscape:window-width="976"
166 inkscape:window-height="802"
167 inkscape:window-x="18"
168 inkscape:window-y="350"
169 inkscape:window-maximized="0"
170 showguides="false"
171 inkscape:snap-global="false"
172 fit-margin-top="0"
173 fit-margin-left="0"
174 fit-margin-right="0"
175 fit-margin-bottom="0">
176 <inkscape:grid
177 type="xygrid"
178 id="grid8451"
179 empspacing="5"
180 visible="true"
181 enabled="true"
182 snapvisiblegridlinesonly="true"
183 originx="0.078084198px"
184 originy="-2924.5747px" />
185 </sodipodi:namedview>
186 <metadata
187 id="metadata7">
188 <rdf:RDF>
189 <cc:Work
190 rdf:about="">
191 <dc:format>image/svg+xml</dc:format>
192 <dc:type
193 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
194 <dc:title />
195 </cc:Work>
196 </rdf:RDF>
197 </metadata>
198 <g
199 inkscape:label="Layer 1"
200 inkscape:groupmode="layer"
201 id="layer1"
202 transform="translate(0.0780842,2022.2125)" />
203 <g
204 id="g6159"
205 transform="matrix(0.9999958,0,0,1,-382.57893,-238.18697)">
206 <rect
207 y="238.83586"
208 x="383.08054"
209 height="18.05327"
210 width="21.481829"
211 id="rect2987"
212 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
213 <text
214 sodipodi:linespacing="125%"
215 id="text5217"
216 y="252.23067"
217 x="390.00699"
218 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
219 xml:space="preserve"><tspan
220 style="stroke:none"
221 y="252.23067"
222 x="390.00699"
223 id="tspan5219"
224 sodipodi:role="line">0</tspan></text>
225 </g>
226 <g
227 id="g3802"
228 transform="translate(10.633744,0.14889301)">
229 <rect
230 y="0.50000465"
231 x="49.866257"
232 height="18.05327"
233 width="21.481739"
234 id="rect2987-4"
235 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
236 <text
237 transform="scale(0.9999979,1.0000021)"
238 sodipodi:linespacing="125%"
239 id="text5217-8"
240 y="13.894781"
241 x="56.792801"
242 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
243 xml:space="preserve"><tspan
244 id="tspan6156"
245 sodipodi:role="line"
246 x="56.792801"
247 y="13.894781">1</tspan></text>
248 </g>
249 <path
250 style="fill:none;stroke:#000000;stroke-width:0.99999791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);display:inline"
251 d="m 21.981735,9.6755275 38.518266,4.2e-6"
252 id="path8263"
253 inkscape:connector-type="polyline"
254 inkscape:connector-curvature="0"
255 inkscape:connection-start-point="d4"
256 inkscape:connection-start="#g6159"
257 inkscape:connection-end="#g3802"
258 inkscape:connection-end-point="d4" />
259 <text
260 xml:space="preserve"
261 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
262 x="46.543751"
263 y="42.826393"
264 id="text5217-8-0"
265 sodipodi:linespacing="125%"
266 transform="scale(0.9999979,1.0000021)"><tspan
267 sodipodi:role="line"
268 id="tspan8594"
269 x="46.543751"
270 y="42.826393">hg commit --amend</tspan></text>
271 <path
272 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
273 d="m 36.655932,74.035228 3.649333,6.320665 3.711171,-6.427764"
274 id="path8598"
275 inkscape:connector-curvature="0" />
276 <g
277 id="g3821"
278 transform="matrix(1,0,0,1.5998137,5.836184,-16.712267)">
279 <path
280 inkscape:connector-curvature="0"
281 id="path8466-5"
282 d="M 35.5,23.60911 35.5,59.5"
283 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
284 <path
285 inkscape:connector-curvature="0"
286 id="path8466-4-7"
287 d="M 33.5,23.60911 33.5,59.5"
288 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
289 </g>
290 <g
291 id="g6159-9"
292 transform="matrix(0.9999958,0,0,1,-382.5698,-144.46361)">
293 <rect
294 y="238.83586"
295 x="383.08054"
296 height="18.05327"
297 width="21.481829"
298 id="rect2987-41"
299 style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
300 <text
301 sodipodi:linespacing="125%"
302 id="text5217-7"
303 y="252.23067"
304 x="390.00699"
305 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
306 xml:space="preserve"><tspan
307 style="stroke:none"
308 y="252.23067"
309 x="390.00699"
310 id="tspan5219-3"
311 sodipodi:role="line">0</tspan></text>
312 </g>
313 <g
314 id="g3916"
315 transform="translate(9.5649648e-7,23.723361)">
316 <rect
317 y="107.72337"
318 x="60.5"
319 height="18.05327"
320 width="21.481739"
321 id="rect2987-4-4"
322 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
323 <text
324 transform="scale(0.9999979,1.0000021)"
325 sodipodi:linespacing="125%"
326 id="text5217-8-7"
327 y="121.11791"
328 x="65.68634"
329 style="font-size:11.9999752px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
330 xml:space="preserve"><tspan
331 y="121.11791"
332 x="65.68634"
333 id="tspan3914"
334 sodipodi:role="line">1'</tspan></text>
335 </g>
336 <g
337 id="g3969"
338 transform="translate(4.0851082,20.999957)">
339 <path
340 transform="matrix(2.0019166,-0.33373336,0.24981576,1.1431983,-230.26746,31.077255)"
341 inkscape:transform-center-y="-0.9468898"
342 inkscape:transform-center-x="-0.82266973"
343 d="m 157.12291,94.440838 c -1.18183,1.454597 -8.91272,-1.300343 -10.79635,-1.00274 -1.88363,0.297602 -2.27986,5.900632 -3.98505,5.130533 -1.7052,-0.7701 -3.74374,-5.759198 -4.73141,-7.362338 -0.98766,-1.603141 -6.98979,-4.377117 -7.06039,-6.057672 -0.0706,-1.680555 6.93719,-0.349919 7.75648,-1.903786 0.81928,-1.553866 0.0513,-8.775377 1.58159,-9.477758 1.53031,-0.70238 3.98957,4.754872 5.63472,5.323605 1.64516,0.568733 10.20851,-0.835155 11.23768,0.484831 1.02916,1.319987 -4.3673,5.790377 -4.35486,7.530709 0.0124,1.740332 5.89943,5.880018 4.71759,7.334616 z"
344 inkscape:randomized="0.15"
345 inkscape:rounded="0.2"
346 inkscape:flatsided="false"
347 sodipodi:arg2="1.268675"
348 sodipodi:arg1="0.64035647"
349 sodipodi:r2="6.7602978"
350 sodipodi:r1="13.520596"
351 sodipodi:cy="85.499779"
352 sodipodi:cx="144.7717"
353 sodipodi:sides="5"
354 id="path3943"
355 style="fill:none;stroke:#686868;stroke-width:0.68990517;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
356 sodipodi:type="star" />
357 <text
358 sodipodi:linespacing="125%"
359 id="text3957"
360 y="84.170212"
361 x="69.021271"
362 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
363 xml:space="preserve"><tspan
364 y="84.170212"
365 x="69.021271"
366 id="tspan3959"
367 sodipodi:role="line">poof!</tspan></text>
368 </g>
369 <path
370 style="fill:none;stroke:url(#linearGradient3986);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0;marker-mid:none;marker-end:none"
371 d="m 21.990865,103.39791 57.925771,-0.005"
372 id="path3974"
373 inkscape:connector-type="polyline"
374 inkscape:connector-curvature="0"
375 inkscape:connection-end-point="d4"
376 inkscape:connection-end="#g3969"
377 inkscape:connection-start-point="d4"
378 inkscape:connection-start="#g6159-9" />
379 <path
380 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend-6)"
381 d="m 21.990865,110.03677 38.509136,23.79872"
382 id="path5012"
383 inkscape:connector-type="polyline"
384 inkscape:connector-curvature="0"
385 inkscape:connection-start="#g6159-9"
386 inkscape:connection-start-point="d4"
387 inkscape:connection-end="#g3916"
388 inkscape:connection-end-point="d4" />
389 <text
390 xml:space="preserve"
391 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
392 x="46.760448"
393 y="58.872295"
394 id="text5223"
395 sodipodi:linespacing="125%"><tspan
396 sodipodi:role="line"
397 id="tspan5227"
398 x="46.760448"
399 y="58.872295">(destructive, not using evolve)</tspan></text>
400 </svg>