X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/b3a4c250f6c5301261523f92e778595915e14b2a..455ac26983e1dac3bbbb9cd4938bb29f863530eb:/blog/index.rss diff --git a/blog/index.rss b/blog/index.rss index 64c53fe0c4..18f3103163 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -6,6 +6,116 @@ https://people.skolelinux.org/pere/blog/ + + Test framework for DocBook processors / formatters + https://people.skolelinux.org/pere/blog/Test_framework_for_DocBook_processors___formatters.html + https://people.skolelinux.org/pere/blog/Test_framework_for_DocBook_processors___formatters.html + Sun, 5 Nov 2023 13:00:00 +0100 + <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> + + + «Virkninger av angrefristloven», hovedfagsoppgaven som fikk endret en lov https://people.skolelinux.org/pere/blog/_Virkninger_av_angrefristloven___hovedfagsoppgaven_som_fikk_endret_en_lov.html @@ -530,56 +640,6 @@ Traceback (most recent call last): TypeError: a bytes-like object is required, not 'str' </pre> -<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> - - - - - OpenSnitch available in Debian Sid and Bookworm - https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html - https://people.skolelinux.org/pere/blog/OpenSnitch_available_in_Debian_Sid_and_Bookworm.html - Sat, 25 Feb 2023 20:30:00 +0100 - <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>