]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index f3509d61b09ee9fd1258da887a2fc534d69a8e69..6031748d5597a73e07b7af5e2cd78bcc3a5f3241 100644 (file)
 
 
     
+    <div class="entry">
+      <div class="title"><a href="https://people.skolelinux.org/pere/blog/Test_framework_for_DocBook_processors___formatters.html">Test framework for DocBook processors / formatters</a></div>
+      <div class="date"> 5th November 2023</div>
+      <div class="body"><p>All the books I have published so far has been using
+<a href="https://docbook.org/">DocBook</a> somewhere in the process.
+For the first book, the source format was DocBook, while for every
+later book it was an intermediate format used as the stepping stone to
+be able to present the same manuscript in several formats, on paper,
+as ebook in ePub format, as a HTML page and as a PDF file either for
+paper production or for Internet consumption.  This is made possible
+with a wide variety of free software tools with DocBook support in
+Debian.  The source format of later books have been docx via rst,
+Markdown, Filemaker and Asciidoc, and for all of these I was able to
+generate a suitable DocBook file for further processing using pandoc,
+a2x and asciidoctor, as well as rendering using
+<a href="https://tracker.debian.org/pkg/xmlto">xmlto</a>,
+<a href="https://tracker.debian.org/pkg/dbtoepub">dbtoepub</a>,
+<a href="https://tracker.debian.org/pkg/dblatex">dblatex</a>,
+<a href="https://tracker.debian.org/pkg/dblatex">docbook-xsl</a> and
+<a href="https://tracker.debian.org/pkg/fop">fop</a>.</p>
+
+<p>Most of the books I have published are translated books, with
+English as the source language.  The use of
+<a href="https://tracker.debian.org/pkg/po4a">po4a</a> to
+handle translations using the gettext PO format has been a blessing,
+but publishing translated books had triggered the need to ensure the
+DocBook tools handle relevant languages correctly.  For every new
+language I have published, I had to submit patches dblatex, dbtoepub
+and docbook-xsl fixing incorrect language and country specific issues
+in the framework themselves.  Typically this has been missing keywords
+like 'figure' or sort ordering of index entries.  After a while it
+became tiresome to only discover issues like this by accident, and I
+decided to write a DocBook "test framework" exercising various
+features of DocBook and allowing me to see all features exercised for
+a given language.  It consist of a set of DocBook files, a version 4
+book, a version 5 book, a v4 book set, a v4 selection of problematic
+tables, one v4 testing sidefloat and finally one v4 testing a book of
+articles.  The DocBook files are accompanied with a set of build rules
+for building PDF using dblatex and docbook-xsl/fop, HTML using xmlto
+or docbook-xsl and epub using dbtoepub.  The result is a set of files
+visualizing footnotes, indexes, table of content list, figures,
+formulas and other DocBook features, allowing for a quick review on
+the completeness of the given locale settings.  To build with a
+different language setting, all one need to do is edit the lang= value
+in the .xml file to pick a different ISO 639 code value and run
+'make'.</p>
+
+<p>The <a href="https://codeberg.org/pere/docbook-example/">test framework
+source code</a> is available from Codeberg, and a generated set of
+presentations of the various examples is available as Codeberg static
+web pages at
+<a href="https://pere.codeberg.page/docbook-example/">https://pere.codeberg.page/docbook-example/</a>.
+Using this test framework I have been able to discover and report
+several bugs and missing features in various tools, and got a lot of
+them fixed.  For example I got Northern Sami keywoards added to both
+docbook-xsl and dblatex, fixed several typos in Norwegian bokmål and
+Norwegian Nynorsk, support for non-ascii title IDs added to pandoc,
+Norwegian index sorting support fixed in xindy and initial Norwegian
+Bokmål support added to dblatex.  Some issues still remains, though.
+Default index sorting rules are still broken in several tools, so the
+Norwegian letters æ, ø and å are more often than not sorted properly
+in the book index.</p>
+
+<p>The test framework recently received some more polish, as part of
+publishing my latest book.  This book contained a lot of fairly
+complex tables, which exposed bugs in some of the tools.  This made me
+add a new test file with various tables, as well as spend some time to
+brush up the build rules.  My goal is for the test framework to
+exercise all DocBook features to make it easier to see which features
+work with different processors, and hopefully get them all to support
+the full set of DocBook features.  Feel free to send patches to extend
+the test set, and test it with your favorite DocBook processor.
+Please visit these two URLs to learn more:</p>
+
+<ul>
+<li><a href="https://codeberg.org/pere/docbook-example/">https://codeberg.org/pere/docbook-example/</a></li>
+<li><a href="https://pere.codeberg.page/docbook-example/">https://pere.codeberg.page/docbook-example/</a></li>
+</ul>
+
+<p>If you want to learn more on Docbook and translations, I recommend
+having a look at the <a href="https://docbook.org/">the DocBook
+web site</a>,
+<a href="https://doccookbook.sourceforge.net/html/en/">the DoCookBook
+site<a/> and my earlier blog post on
+<a href="https://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html">how
+the Skolelinux project process and translate documentation</a>.</p>
+
+<!--
+
+https://github.com/docbook/xslt10-stylesheets/issues/205 (docbook-xsl: sme support)
+https://bugs.debian.org/968437 (xindy: index sorting rules for nb/nn)
+https://bugs.debian.org/856123 (pandoc: markdown to docbook with non-english titles)
+https://bugs.debian.org/864813 (dblatex: missing nb words)
+https://bugs.debian.org/756386 (dblatex: index sorting rules for nb/nn)
+https://bugs.debian.org/796871 (dbtoepub: index sorting rules for nb/nn)
+https://bugs.debian.org/792616 (dblatex: PDF metadata)
+https://bugs.debian.org/686908 (docbook-xsl: index sorting rules for nb/nn)
+https://sourceforge.net/tracker/?func=detail&atid=373747&aid=3556630&group_id=21935 (docbook-xsl: nb/nn support)
+https://bugs.debian.org/684391 (dblatex: initial nb support)
+
+-->
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title"><a href="https://people.skolelinux.org/pere/blog/_Virkninger_av_angrefristloven___hovedfagsoppgaven_som_fikk_endret_en_lov.html">«Virkninger av angrefristloven», hovedfagsoppgaven som fikk endret en lov</a></div>
       <div class="date">29th October 2023</div>
@@ -603,62 +719,6 @@ activities, please send Bitcoin donations to my address
     </div>
     <div class="padding"></div>
     
-    <div class="entry">
-      <div class="title"><a href="https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html">OpenSnitch available in Debian Sid and Bookworm</a></div>
-      <div class="date">25th February 2023</div>
-      <div class="body"><p>Thanks to the efforts of the OpenSnitch lead developer Gustavo
-Iñiguez Goya allowing me to sponsor the upload,
-<a href="https://tracker.debian.org/pkg/opensnitch">the interactive
-application firewall OpenSnitch</a> is now available in Debian
-Testing, soon to become the next stable release of Debian.</p>
-
-<p>This is a package which set up a network firewall on one or more
-machines, which is controlled by a graphical user interface that will
-ask the user if a program should be allowed to connect to the local
-network or the Internet.  If some background daemon is trying to dial
-home, it can be blocked from doing so with a simple mouse click, or by
-default simply by not doing anything when the GUI question dialog pop
-up.  A list of all programs discovered using the network is provided
-in the GUI, giving the user an overview of how the machine(s) programs
-use the network.</p>
-
-<p>OpenSnitch was uploaded for NEW processing about a month ago, and I
-had little hope of it getting accepted and shaping up in time for the
-package freeze, but the Debian ftpmasters proved to be amazingly quick
-at checking out the package and it was accepted into the archive about
-week after the first upload.  It is now team maintained under the Go
-language team umbrella.  A few fixes to the default setup is only in
-Sid, and should migrate to Testing/Bookworm in a week.</p>
-
-<p>During testing I ran into an
-<a href="https://github.com/evilsocket/opensnitch/issues/813">issue
-with Minecraft server broadcasts disappearing</a>, which was quickly
-resolved by the developer with a patch and a proposed configuration
-change.  I've been told this was caused by the Debian packages default
-use if /proc/ information to track down kernel status, instead of the
-newer eBPF module that can be used.  The reason is simply that
-upstream and I have failed to find a way to build the eBPF modules for
-OpenSnitch without a complete configured Linux kernel source tree,
-which as far as we can tell is unavailable as a build dependency in
-Debian.  We tried unsuccessfully so far to use the kernel-headers
-package.  It would be great if someone could provide some clues how to
-build eBPF modules on build daemons in Debian, possibly without the full
-kernel source.</p>
-<p>As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
     <p style="text-align: right;"><a href="index.rss"><img src="https://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
     <div id="sidebar">
       
@@ -686,6 +746,8 @@ activities, please send Bitcoin donations to my address
 
 <li><a href="https://people.skolelinux.org/pere/blog/archive/2023/10/">October (1)</a></li>
 
+<li><a href="https://people.skolelinux.org/pere/blog/archive/2023/11/">November (1)</a></li>
+
 </ul></li>
 
 <li>2022
@@ -1100,7 +1162,7 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (194)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (195)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
 
@@ -1110,11 +1172,11 @@ activities, please send Bitcoin donations to my address
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (31)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (32)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (451)</a></li>
+ <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (452)</a></li>
 
  <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>