]> pere.pagekite.me Git - homepage.git/blob - blog/Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html
Generated.
[homepage.git] / blog / Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Typesetting a short story using docbook for PDF, HTML and EPUB</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9
10
11 </head>
12 <body>
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <div class="entry">
23 <div class="title">Typesetting a short story using docbook for PDF, HTML and EPUB</div>
24 <div class="date">24th March 2013</div>
25 <div class="body"><p>A few days ago, during a discussion in
26 <a href="http://www.efn.no/">EFN</a> about interesting books to read
27 about copyright and the data retention directive, a suggestion to read
28 the 1968 short story Kodémus by
29 <a href="http://web2.gyldendal.no/toraage/">Tore Åge Bringsværd</a>
30 came up. The text was only available in old paper books, and thus not
31 easily available for current and future generations. Some of the
32 people participating in the discussion contacted the author, and
33 reported back 2013-03-19 that the author was OK with releasing the
34 short story using a <a href="http://www.creativecommons.org/">Creative
35 Commons</a> license. The text was quickly scanned and OCR-ed, and we
36 were ready to start on the editing and typesetting.</p>
37
38 <p>As I already had some experience formatting text in my project to
39 provide a Norwegian version of the Free Culture book by Lawrence
40 Lessig, I chipped in and set up a
41 <a href="http://www.docbook.org/">DocBook</a> processing framework to
42 generate PDF, HTML and EPUB version of the short story. The tools to
43 transform DocBook to different formats are already in my Linux
44 distribution of choice, <a href="http://www.debian.org/">Debian</a>, so
45 all I had to do was to use the
46 <a href="http://dblatex.sourceforge.net/">dblatex</a>,
47 <a href="http://docbook.sourceforge.net/release/xsl/current/epub/README">dbtoepub</a>
48 and <a href="https://fedorahosted.org/xmlto/">xmlto</a> tools to do the
49 conversion. After a few days, we decided to replace dblatex with
50 xsltproc/fop (aka
51 <a href="http://wiki.docbook.org/DocBookXslStylesheets">docbook-xsl</a>),
52 to get the copyright information to show up in the PDF and to get a
53 nicer &lt;variablelist&gt; typesetting, but that is just a minor
54 technical detail.</p>
55
56 <p>There were a few challenges, of course. We want to typeset the
57 short story to look like the original, and that require fairly good
58 control over the layout. The original short story have three
59 parts/scenes separated by a single horizontally centred star (*), and
60 the paragraphs do not contain only flowing text, but dialogs and text
61 that started on a new line in the middle of the paragraph.</p>
62
63 <p>I initially solved the first challenge by using a paragraph with a
64 single star in it, ie &lt;para&gt;*&lt;/para&gt;, but it made sure a
65 placeholder indicated where the scene shifted. This did not look too
66 good without the centring. The next approach was to create a new
67 preprocessor directive &lt;?newscene?&gt;, mapping to "&lt;hr/&gt;"
68 for HTML and "&lt;fo:block text-align="center"&gt;&lt;fo:leader
69 leader-pattern="rule" rule-thickness="0.5pt"/&gt;&lt;/fo:block&gt;"
70 for FO/PDF output (did not try to implement this in dblatex, as we had
71 switched at this time). The HTML XSL file looked like this:</p>
72
73 <p><blockquote><pre>
74 &lt;?xml version='1.0'?&gt;
75 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
76 &lt;xsl:template match="processing-instruction('newscene')"&gt;
77 &lt;hr/&gt;
78 &lt;/xsl:template&gt;
79 &lt;/xsl:stylesheet&gt;
80 </pre></blockquote></p>
81
82 <p>And the FO/PDF XSL file looked like this:</p>
83
84 <p><blockquote><pre>
85 &lt;?xml version='1.0'?&gt;
86 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
87 &lt;xsl:template match="processing-instruction('newscene')"&gt;
88 &lt;fo:block text-align="center"&gt;
89 &lt;fo:leader leader-pattern="rule" rule-thickness="0.5pt"/&gt;
90 &lt;/fo:block&gt;
91 &lt;/xsl:template&gt;
92 &lt;/xsl:stylesheet&gt;
93 </pre></blockquote></p>
94
95 <p>Finally, I came across the &lt;bridgehead&gt; tag, which seem to be
96 a good fit for the task at hand, and I replaced &lt;?newscene?&gt;
97 with &lt;bridgehead&gt;*&lt;/bridgehead&gt;. It isn't centred, but we
98 can fix it with some XSL rule if the current visual layout isn't
99 enough.</p>
100
101 <p>I did not find a good DocBook compliant way to solve the
102 linebreak/paragraph challenge, so I ended up creating a new processor
103 directive &lt;?linebreak?&gt;, mapping to &lt;br/&gt; in HTML, and
104 &lt;fo:block/&gt; in FO/PDF. I suspect there are better ways to do
105 this, and welcome ideas and patches on github. The HTML XSL file now
106 look like this:</p>
107
108 <p><blockquote><pre>
109 &lt;?xml version='1.0'?&gt;
110 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
111 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
112 &lt;br/&gt;
113 &lt;/xsl:template&gt;
114 &lt;/xsl:stylesheet&gt;
115 </pre></blockquote></p>
116
117 <p>And the FO/PDF XSL file looked like this:</p>
118
119 <p><blockquote><pre>
120 &lt;?xml version='1.0'?&gt;
121 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'
122 xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
123 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
124 &lt;fo:block/&gt;
125 &lt;/xsl:template&gt;
126 &lt;/xsl:stylesheet&gt;
127 </pre></blockquote></p>
128
129 <p>One unsolved challenge is our wish to expose different ISBN numbers
130 per publication format, while keeping all of them in some conditional
131 structure in the DocBook source. No idea how to do this, so we ended
132 up listing all the ISBN numbers next to their format in the colophon
133 page.</p>
134
135 <p>If you want to check out the finished result, check out the
136 <a href="https://github.com/sickel/kodemus">source repository at
137 github</a>
138 (<a href="https://github.com/EFN/kodemus">future/new/official
139 repository</a>). We expect it to be ready and announced in a few
140 days.</p>
141 </div>
142
143 <div class="tags">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.</div>
144
145
146 </div>
147
148
149
150
151 <div id="sidebar">
152
153
154
155 <h2>Archive</h2>
156 <ul>
157
158 <li>2019
159 <ul>
160
161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (3)</a></li>
162
163 </ul></li>
164
165 <li>2018
166 <ul>
167
168 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
169
170 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
171
172 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
173
174 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
175
176 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
177
178 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
179
180 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
181
182 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
183
184 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
185
186 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
187
188 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
189
190 </ul></li>
191
192 <li>2017
193 <ul>
194
195 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
196
197 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
198
199 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
200
201 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
202
203 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
204
205 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
206
207 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
208
209 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
210
211 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
212
213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
214
215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
216
217 </ul></li>
218
219 <li>2016
220 <ul>
221
222 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
223
224 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
225
226 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
227
228 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
229
230 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
231
232 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
233
234 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
235
236 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
237
238 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
245
246 </ul></li>
247
248 <li>2015
249 <ul>
250
251 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
252
253 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
254
255 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
256
257 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
258
259 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
260
261 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
262
263 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
264
265 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
266
267 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
268
269 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
270
271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
272
273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
274
275 </ul></li>
276
277 <li>2014
278 <ul>
279
280 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
281
282 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
283
284 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
285
286 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
287
288 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
289
290 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
291
292 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
295
296 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
303
304 </ul></li>
305
306 <li>2013
307 <ul>
308
309 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
310
311 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
312
313 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
314
315 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
316
317 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
318
319 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
320
321 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
322
323 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
324
325 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
326
327 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
328
329 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
330
331 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
332
333 </ul></li>
334
335 <li>2012
336 <ul>
337
338 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
339
340 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
341
342 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
343
344 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
345
346 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
347
348 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
349
350 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
353
354 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
355
356 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
357
358 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
359
360 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
361
362 </ul></li>
363
364 <li>2011
365 <ul>
366
367 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
368
369 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
370
371 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
372
373 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
374
375 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
376
377 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
378
379 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
380
381 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
382
383 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
384
385 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
386
387 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
388
389 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
390
391 </ul></li>
392
393 <li>2010
394 <ul>
395
396 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
397
398 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
399
400 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
401
402 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
403
404 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
419
420 </ul></li>
421
422 <li>2009
423 <ul>
424
425 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
426
427 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
428
429 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
430
431 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
432
433 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
434
435 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
436
437 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
438
439 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
440
441 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
442
443 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
444
445 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
446
447 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
448
449 </ul></li>
450
451 <li>2008
452 <ul>
453
454 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
455
456 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
457
458 </ul></li>
459
460 </ul>
461
462
463
464 <h2>Tags</h2>
465 <ul>
466
467 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
468
469 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
470
471 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
472
473 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
474
475 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (10)</a></li>
476
477 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
478
479 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
480
481 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
482
483 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (166)</a></li>
484
485 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
486
487 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
488
489 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
490
491 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
492
493 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (25)</a></li>
494
495 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
496
497 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (397)</a></li>
498
499 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
500
501 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
502
503 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (33)</a></li>
504
505 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
506
507 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
508
509 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
510
511 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
512
513 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
514
515 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
516
517 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
518
519 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
520
521 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
522
523 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
524
525 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
526
527 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
528
529 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
530
531 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
532
533 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (11)</a></li>
534
535 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (301)</a></li>
536
537 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (192)</a></li>
538
539 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (34)</a></li>
540
541 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
542
543 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (73)</a></li>
544
545 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (108)</a></li>
546
547 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
548
549 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
550
551 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
552
553 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
554
555 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (11)</a></li>
556
557 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
558
559 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (6)</a></li>
560
561 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
562
563 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (55)</a></li>
564
565 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
566
567 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
568
569 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (58)</a></li>
570
571 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
572
573 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
574
575 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (55)</a></li>
576
577 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
578
579 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
580
581 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
582
583 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (15)</a></li>
584
585 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
586
587 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
588
589 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
590
591 </ul>
592
593
594 </div>
595 <p style="text-align: right">
596 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
597 </p>
598
599 </body>
600 </html>