Copyright © 2013 Red Hat, Inc. This material may only be distributed subject to the terms and conditions set forth in the GNU Free Documentation License (GFDL), V1.2 or later (the latest version is presently available at http://www.gnu.org/licenses/fdl.txt).
Abstract
This document describes the enhancements and fixes included in Publican 4.1.
Publican is available for download at https://fedorahosted.org/publican/.
The Publican User Guide is available at http://jfearn.fedorapeople.org/en-US/Publican/4.0/html/Users_Guide/index.html.
Publican 4 Release Notes
Publican 4.1 includes a number of bug fixes and enhancements for PDF generation with wkhtmltopdf:
Previously, Publican's PDF generation failed when no <author>
elements was present in the <authorgroup>
of a document. This precluded documents that were attributed only to a <corpauthor>
or <editor>
. Publican 4.1 no longer requires an <author>
to be defined for a document. BZ#1050975
Previously, when rendering PDF files with wkhtmltopdf, Publican created entries in the table of contents for individual letters of the alphabet within <glossary>
and <index>
elements. Publican 4.1 creates only a table of contents entry for the glossary or index itself, not the letters within it. BZ#1058545
Previously, there was a blank page missing after the cover of a PDF, meaning that Publican was presenting title-page information on the verso of the document cover. Publican 4.1 introduces a blank page here so that when printed, the title page correctly appears on the recto of the leaf. BZ#1050770
PDF files rendered with wkhtmltopdf contained unexpected font rendering when opened with Adobe Acrobat if the document source contained PNG images that contained transparency. Publican 4.1 contains a patch to change the colourspace of a PDF page that contains such an image so that Adobe Acrobat renders the page correctly. BZ#1038393; see also upstream bug against wkhtmltopdf issue 1577
PDF files could not be searched within Adobe Acrobat (that is, Ctrl+F did not return results). This issue was fixed in wkhtmltopdf 0.12. Publican 4.1 now uses this later version of the tool. BZ#1065810
Previously, Publican did not support the <entrytbl>
element in DocBook, because FOP could not render it. In Publican 4.1, this element is now supported. Additionally, the error message for tables with incorrect values set in the <cols>
element now outputs the number of entries found, instead of a hash.BZ#1069405
Previously, Publican did not include the contents of <td>
elements in PO files. As a result, the content of tables that use HTML markup was not available for translation. Now, the content of <td>
elements is available in PO files that Publican generates and matches on, and can be translated like any other translatable element. BZ#1059938
Previously, Publican only supported <simplelist>
elements with 300 children or fewer. Publican 4.1 supports <simplelist>
elements with up to 10,000 children. BZ#1035525
Previously, Publican did not support the linenumbering="numbered"
attribute for DocBook 5. This support is now available in Publican 4.1. BZ#1074709
Publican 4.1 includes a number of style fixes and refinements, including:
applying proportional bold italic styles consistently. BZ#1054462
differentiating the numbering of items in <orderedlist>
s nested within each other. BZ#1080236
correctly aligning procedure <step>
s and <substeps>
s. BZ#1080236
Publican 4.1 presents the contents of the <releaseinfo>
element (when present) through to the cover of a document. This support allows writers to present detailed information about the release of a document in a prominent position. BZ#1050789
Previously, Publican inserted a stray space after the content of a <productname>
element. This was especially noticeable when the productname preceded punctuation. In documents produced with Publican 4.1, the stray space no longer appears. BZ#1039382
Publican 4.0 introduced a bug where RPM packaging of a document for desktop use only (that is, publican package --desktop) failed because the spec file, as generated, was invalid. Publican 4.1 uses the same mechanism to generate desktop RPMs as it uses to generate web RPMs, correcting the problem. BZ#1081087
Publican 4.1 uses a template to embed product navigation elements into splash pages. BZ#1081300
Previously, Publican shipped two files (web/jquery.min.js
and web/jquery.jcarrousel.min.js
) as minified JavaScipt files. Providing these files in minified form made it harder for people distributing Publican to meet their obligations under the General Public License and the packaging requirements of various Linux distributions. The Publican source tarball now contains the non-minified versions of these files, although the minified versions are the ones installed with the software. BZ#1062109
The Publican 4.0 spec file did not explicitly require the version of the XML::TreeBuilder module that it needs (5.1). Combined with a situation where XML::TreeBuilder 4.0 provided itself unversioned, upgrades to Publican 4.0 on RPM-based systems did not also upgrade XML::TreeBuilder. and Publican would not work. Publican 4.1 explicitly requires XML::TreeBuilder 5.1, so updates to Publican will also install the required version of that module. BZ#1053609
Previously, Publican did not set an id on <term>
elements, which meant that they could not be linked to directly. In Publican 4.1, <term>
elements have ids and can be linked to. BZ#1050836
Previously, Publican stripped XML processing instructions out of PO files when they were merged into the XML of the source language. In Publican 4.1, processing instructions are preserved when generating the translated XML files. BZ#1045463
Previously, Publican only used its chunk_section_depth
parameter to determine structure for its HTML outputs. This meant that the section depth displayed in the table of contents in a PDF file was not controllable. Publican 4.1 passes the chunk_section_depth
parameter to wkhtmltopdf and uses it to determine the depth of entries presented in the table of contents of the PDF. BZ#1044848
Previously, if Publican attempted to load a config file that was empty or contained only comments, it would die and only return a generic error message to the user. Publican 4.1 loads brand default.cfg
and overrides.cfg
files without error, and dies with a descriptive error message if it tries to load an empty document config file. BZ#1037037
Previously, Publican did not enforce API compatibility between documents packaged with Publican and a Publican-driven website. As a result, old documentation packages could be installed on a webserver but the documents would not be incorporated into the website navigation because the syntax of the publican install_book would be incorrect. Publican now provides an API version in its spec file, and requires this API in the documentation packages that it produces. Attempts to install packages on a webserver with a different API will fail because of an unmet dependency. BZ#1029293
Publican 4.1 supports --previous
as a new option for publican update_po. This passes the PO merging to msgmerge and preserves the previous msgid as comments in the PO files. BZ#1034836
Publican 4.1 adds a provides
parameter for documentation packages so that they provide package names with POSIX-style language codes alongside the XML-style language codes that Publican uses. For example, the Publican-Users_Guide-4.1-en-US package also provides a versioned Publican-Users_Guide-4.1-en_US. BZ#1083102
Publican 4.1 ensures that the contents of tables do not exceed the page width of a document, wrapping text even in places where it ordinarily wouldn't, so that it preserves the table presentation. BZ#1082444
Previously, Publican only offered its desktop HTML output in single-page format. Publican 4.1 adds the dt_format
to allow documents or brands to specify the format that should be provided in the desktop RPM. BZ#1081808