]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
index 64c53fe0c44ed0d1446eb73e475bd62c858350a3..18f31031630d7c86432bf2977f1dc3a697c1cf8c 100644 (file)
@@ -6,6 +6,116 @@
                 <link>https://people.skolelinux.org/pere/blog/</link>
                 <atom:link href="https://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>Test framework for DocBook processors / formatters</title>
+               <link>https://people.skolelinux.org/pere/blog/Test_framework_for_DocBook_processors___formatters.html</link>
+               <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/Test_framework_for_DocBook_processors___formatters.html</guid>
+                <pubDate>Sun, 5 Nov 2023 13:00:00 +0100</pubDate>
+               <description>&lt;p&gt;All the books I have published so far has been using
+&lt;a href=&quot;https://docbook.org/&quot;&gt;DocBook&lt;/a&gt; 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
+&lt;a href=&quot;https://tracker.debian.org/pkg/xmlto&quot;&gt;xmlto&lt;/a&gt;,
+&lt;a href=&quot;https://tracker.debian.org/pkg/dbtoepub&quot;&gt;dbtoepub&lt;/a&gt;,
+&lt;a href=&quot;https://tracker.debian.org/pkg/dblatex&quot;&gt;dblatex&lt;/a&gt;,
+&lt;a href=&quot;https://tracker.debian.org/pkg/dblatex&quot;&gt;docbook-xsl&lt;/a&gt; and
+&lt;a href=&quot;https://tracker.debian.org/pkg/fop&quot;&gt;fop&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;Most of the books I have published are translated books, with
+English as the source language.  The use of
+&lt;a href=&quot;https://tracker.debian.org/pkg/po4a&quot;&gt;po4a&lt;/a&gt; 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 &#39;figure&#39; 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 &quot;test framework&quot; 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
+&#39;make&#39;.&lt;/p&gt;
+
+&lt;p&gt;The &lt;a href=&quot;https://codeberg.org/pere/docbook-example/&quot;&gt;test framework
+source code&lt;/a&gt; is available from Codeberg, and a generated set of
+presentations of the various examples is available as Codeberg static
+web pages at
+&lt;a href=&quot;https://pere.codeberg.page/docbook-example/&quot;&gt;https://pere.codeberg.page/docbook-example/&lt;/a&gt;.
+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.&lt;/p&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&quot;https://codeberg.org/pere/docbook-example/&quot;&gt;https://codeberg.org/pere/docbook-example/&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;https://pere.codeberg.page/docbook-example/&quot;&gt;https://pere.codeberg.page/docbook-example/&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;If you want to learn more on Docbook and translations, I recommend
+having a look at the &lt;a href=&quot;https://docbook.org/&quot;&gt;the DocBook
+web site&lt;/a&gt;,
+&lt;a href=&quot;https://doccookbook.sourceforge.net/html/en/&quot;&gt;the DoCookBook
+site&lt;a/&gt; and my earlier blog post on
+&lt;a href=&quot;https://people.skolelinux.org/pere/blog/From_English_wiki_to_translated_PDF_and_epub_via_Docbook.html&quot;&gt;how
+the Skolelinux project process and translate documentation&lt;/a&gt;.&lt;/p&gt;
+
+&lt;!--
+
+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&amp;atid=373747&amp;aid=3556630&amp;group_id=21935 (docbook-xsl: nb/nn support)
+https://bugs.debian.org/684391 (dblatex: initial nb support)
+
+--&gt;
+
+&lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+&lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>«Virkninger av angrefristloven», hovedfagsoppgaven som fikk endret en lov</title>
                <link>https://people.skolelinux.org/pere/blog/_Virkninger_av_angrefristloven___hovedfagsoppgaven_som_fikk_endret_en_lov.html</link>
@@ -530,56 +640,6 @@ Traceback (most recent call last):
 TypeError: a bytes-like object is required, not &#39;str&#39;
 &lt;/pre&gt;
  
-&lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
-activities, please send Bitcoin donations to my address
-&lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
-</description>
-       </item>
-       
-       <item>
-               <title>OpenSnitch available in Debian Sid and Bookworm</title>
-               <link>https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html</link>
-               <guid isPermaLink="true">https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html</guid>
-                <pubDate>Sat, 25 Feb 2023 20:30:00 +0100</pubDate>
-               <description>&lt;p&gt;Thanks to the efforts of the OpenSnitch lead developer Gustavo
-Iñiguez Goya allowing me to sponsor the upload,
-&lt;a href=&quot;https://tracker.debian.org/pkg/opensnitch&quot;&gt;the interactive
-application firewall OpenSnitch&lt;/a&gt; is now available in Debian
-Testing, soon to become the next stable release of Debian.&lt;/p&gt;
-
-&lt;p&gt;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.&lt;/p&gt;
-
-&lt;p&gt;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.&lt;/p&gt;
-
-&lt;p&gt;During testing I ran into an
-&lt;a href=&quot;https://github.com/evilsocket/opensnitch/issues/813&quot;&gt;issue
-with Minecraft server broadcasts disappearing&lt;/a&gt;, which was quickly
-resolved by the developer with a patch and a proposed configuration
-change.  I&#39;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.&lt;/p&gt;
 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
 activities, please send Bitcoin donations to my address
 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;