comparison docs/figures/figure-ug03.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-ug03.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 <marker
37 inkscape:stockid="Arrow2Mend"
38 orient="auto"
39 refY="0"
40 refX="0"
41 id="Arrow2Mend"
42 style="overflow:visible">
43 <path
44 id="path5316"
45 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
46 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"
47 transform="scale(-0.6,-0.6)"
48 inkscape:connector-curvature="0" />
49 </marker>
50 <marker
51 inkscape:stockid="Arrow1Lend"
52 orient="auto"
53 refY="0"
54 refX="0"
55 id="Arrow1Lend"
56 style="overflow:visible">
57 <path
58 id="path5292"
59 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
60 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
61 transform="matrix(-0.8,0,0,-0.8,-10,0)"
62 inkscape:connector-curvature="0" />
63 </marker>
64 <marker
65 inkscape:stockid="Arrow1Lstart"
66 orient="auto"
67 refY="0"
68 refX="0"
69 id="Arrow1Lstart"
70 style="overflow:visible">
71 <path
72 id="path5289"
73 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
74 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
75 transform="matrix(0.8,0,0,0.8,10,0)"
76 inkscape:connector-curvature="0" />
77 </marker>
78 <linearGradient
79 inkscape:collect="always"
80 id="linearGradient5253">
81 <stop
82 style="stop-color:#000000;stop-opacity:1;"
83 offset="0"
84 id="stop5255" />
85 <stop
86 style="stop-color:#000000;stop-opacity:0;"
87 offset="1"
88 id="stop5257" />
89 </linearGradient>
90 <linearGradient
91 id="linearGradient5245"
92 osb:paint="solid">
93 <stop
94 style="stop-color:#000000;stop-opacity:1;"
95 offset="0"
96 id="stop5247" />
97 </linearGradient>
98 <linearGradient
99 id="linearGradient5207"
100 osb:paint="solid">
101 <stop
102 style="stop-color:#000000;stop-opacity:1;"
103 offset="0"
104 id="stop5209" />
105 </linearGradient>
106 <linearGradient
107 inkscape:collect="always"
108 xlink:href="#linearGradient5253"
109 id="linearGradient5259"
110 x1="384.79102"
111 y1="262.99402"
112 x2="391.83789"
113 y2="262.99402"
114 gradientUnits="userSpaceOnUse" />
115 <marker
116 inkscape:stockid="Arrow2Mend"
117 orient="auto"
118 refY="0"
119 refX="0"
120 id="Arrow2Mend-6"
121 style="overflow:visible">
122 <path
123 id="path5316-5"
124 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
125 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"
126 transform="scale(-0.6,-0.6)"
127 inkscape:connector-curvature="0" />
128 </marker>
129 <marker
130 inkscape:stockid="Arrow2Mend"
131 orient="auto"
132 refY="0"
133 refX="0"
134 id="Arrow2Mend-7"
135 style="overflow:visible">
136 <path
137 id="path5316-3"
138 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
139 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"
140 transform="scale(-0.6,-0.6)"
141 inkscape:connector-curvature="0" />
142 </marker>
143 </defs>
144 <sodipodi:namedview
145 id="base"
146 pagecolor="#ffffff"
147 bordercolor="#666666"
148 borderopacity="1.0"
149 inkscape:pageopacity="0.0"
150 inkscape:pageshadow="2"
151 inkscape:zoom="2.4712371"
152 inkscape:cx="72.857038"
153 inkscape:cy="79.643357"
154 inkscape:document-units="px"
155 inkscape:current-layer="svg2"
156 showgrid="false"
157 inkscape:window-width="976"
158 inkscape:window-height="802"
159 inkscape:window-x="179"
160 inkscape:window-y="330"
161 inkscape:window-maximized="0"
162 showguides="false"
163 inkscape:snap-global="false"
164 fit-margin-top="0"
165 fit-margin-left="0"
166 fit-margin-right="0"
167 fit-margin-bottom="0">
168 <inkscape:grid
169 type="xygrid"
170 id="grid8451"
171 empspacing="5"
172 visible="true"
173 enabled="true"
174 snapvisiblegridlinesonly="true"
175 originx="0.078084198px"
176 originy="-2924.5747px" />
177 </sodipodi:namedview>
178 <metadata
179 id="metadata7">
180 <rdf:RDF>
181 <cc:Work
182 rdf:about="">
183 <dc:format>image/svg+xml</dc:format>
184 <dc:type
185 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
186 <dc:title />
187 </cc:Work>
188 </rdf:RDF>
189 </metadata>
190 <g
191 inkscape:label="Layer 1"
192 inkscape:groupmode="layer"
193 id="layer1"
194 transform="translate(0.0780842,2022.2125)" />
195 <g
196 id="g6622"
197 transform="translate(0,18)">
198 <g
199 id="g6602">
200 <rect
201 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"
202 id="rect2987"
203 width="21.481739"
204 height="18.05327"
205 x="0.49999696"
206 y="0.64889121" />
207 <text
208 xml:space="preserve"
209 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"
210 x="7.4264359"
211 y="14.043668"
212 id="text5217"
213 sodipodi:linespacing="125%"
214 transform="scale(0.9999979,1.0000021)"><tspan
215 sodipodi:role="line"
216 id="tspan5219"
217 x="7.4264359"
218 y="14.043668"
219 style="stroke:none">3</tspan></text>
220 </g>
221 <g
222 id="g6612">
223 <rect
224 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"
225 id="rect2987-4"
226 width="21.481739"
227 height="18.05327"
228 x="60.5"
229 y="0.64889765" />
230 <text
231 xml:space="preserve"
232 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"
233 x="67.426567"
234 y="14.043674"
235 id="text5217-8"
236 sodipodi:linespacing="125%"
237 transform="scale(0.9999979,1.0000021)"><tspan
238 y="14.043674"
239 x="67.426567"
240 sodipodi:role="line"
241 id="tspan3900">4</tspan></text>
242 </g>
243 <path
244 inkscape:connector-curvature="0"
245 inkscape:connector-type="polyline"
246 id="path8263"
247 d="m 21.981735,9.6755275 38.518266,4.2e-6"
248 style="fill:none;stroke:#000000;stroke-width:0.99999791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);display:inline" />
249 </g>
250 <g
251 id="g6397"
252 transform="translate(1.2139669,17.353636)">
253 <text
254 transform="scale(0.9999979,1.0000021)"
255 sodipodi:linespacing="125%"
256 id="text5217-8-0"
257 y="53.910118"
258 x="46.543751"
259 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"
260 xml:space="preserve"><tspan
261 y="53.910118"
262 x="46.543751"
263 id="tspan8594"
264 sodipodi:role="line">hg prune .</tspan></text>
265 <g
266 id="g6372">
267 <path
268 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
269 d="m 36.655932,74.035228 3.649333,6.320665 3.711171,-6.427764"
270 id="path8598"
271 inkscape:connector-curvature="0" />
272 <g
273 id="g3821"
274 transform="matrix(1,0,0,1.5998137,5.836184,-16.712267)">
275 <path
276 inkscape:connector-curvature="0"
277 id="path8466-5"
278 d="M 35.5,23.60911 35.5,59.5"
279 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
280 <path
281 inkscape:connector-curvature="0"
282 id="path8466-4-7"
283 d="M 33.5,23.60911 33.5,59.5"
284 style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
285 </g>
286 </g>
287 </g>
288 <g
289 id="g6607">
290 <rect
291 y="101.77834"
292 x="0.49999696"
293 height="18.05327"
294 width="21.481739"
295 id="rect2987-7"
296 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" />
297 <text
298 transform="scale(0.9999979,1.0000021)"
299 sodipodi:linespacing="125%"
300 id="text5217-9"
301 y="115.1729"
302 x="7.4264359"
303 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"
304 xml:space="preserve"><tspan
305 id="tspan3904"
306 style="stroke:none"
307 y="115.1729"
308 x="7.4264359"
309 sodipodi:role="line">3</tspan></text>
310 </g>
311 <g
312 id="g6617">
313 <rect
314 y="101.77834"
315 x="60.500004"
316 height="18.05327"
317 width="21.481739"
318 id="rect2987-4-2"
319 style="fill:none;stroke:#000000;stroke-width:0.99999791;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.99999791,1.99999583;stroke-dashoffset:0" />
320 <text
321 transform="scale(0.9999979,1.0000021)"
322 sodipodi:linespacing="125%"
323 id="text5217-8-2"
324 y="115.1729"
325 x="67.426567"
326 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"
327 xml:space="preserve"><tspan
328 id="tspan3908"
329 sodipodi:role="line"
330 x="67.426567"
331 y="115.1729">4</tspan></text>
332 </g>
333 <path
334 style="fill:none;stroke:#000000;stroke-width:0.99999791px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);display:inline"
335 d="m 21.981736,110.80498 38.518268,0"
336 id="path8263-2"
337 inkscape:connector-type="polyline"
338 inkscape:connector-curvature="0"
339 inkscape:connection-start="#g6607"
340 inkscape:connection-start-point="d4"
341 inkscape:connection-end="#g6617"
342 inkscape:connection-end-point="d4" />
343 <text
344 xml:space="preserve"
345 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;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"
346 x="120.84515"
347 y="108.62753"
348 id="text4799"
349 sodipodi:linespacing="100%"><tspan
350 sodipodi:role="line"
351 id="tspan4801"
352 x="120.84515"
353 y="108.62753"
354 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Italic">obsolete,</tspan><tspan
355 sodipodi:role="line"
356 x="120.84515"
357 y="118.62753"
358 id="tspan4155"
359 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Italic">hidden,</tspan><tspan
360 sodipodi:role="line"
361 x="120.84515"
362 y="128.62753"
363 id="tspan4157"
364 style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;font-family:Sans;-inkscape-font-specification:Sans Italic">no successors</tspan></text>
365 <text
366 xml:space="preserve"
367 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"
368 x="87.810272"
369 y="8.7751856"
370 id="text4353"
371 sodipodi:linespacing="125%"><tspan
372 sodipodi:role="line"
373 id="tspan4355"
374 x="87.810272"
375 y="8.7751856">working dir</tspan></text>
376 <text
377 xml:space="preserve"
378 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"
379 x="20.528839"
380 y="144.07831"
381 id="text4353-8"
382 sodipodi:linespacing="125%"><tspan
383 sodipodi:role="line"
384 id="tspan4355-6"
385 x="20.528839"
386 y="144.07831">working dir</tspan></text>
387 <path
388 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-7)"
389 d="m 20.030453,140.89525 c -8.427525,-2.11036 -7.688456,-10.62543 -7.688456,-18.00718"
390 id="path5792"
391 inkscape:connector-curvature="0" />
392 <path
393 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-mid:none;marker-end:url(#Arrow2Mend-7)"
394 d="M 118.5641,115.19962 C 102.21283,112.97531 103.7629,98.729709 86.191648,105.48788"
395 id="path5986"
396 inkscape:connector-curvature="0" />
397 <path
398 style="color:#000000;fill:none;stroke:#707070;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;marker-end:url(#Arrow2Mend-7)"
399 d="M 85.382337,4.3239755 C 75.008244,4.2518573 73.079961,8.1306941 70.814734,16.058989"
400 id="path6831"
401 inkscape:connector-curvature="0" />
402 </svg>