Wish List for Publican Features
Publican Website Default Pages
- Different formatting for article based on class
DocBook 5 support
- Support different XML DTDs, e.g. DITA, Mallard
- Support non-XML input, e.g. markdown, AsciiDoc
- Support non-PO translations, e.g. XLIFF
Replace gettext fuzzy merge
More ports, e.g. FreeBSD,
Support RevisionFlag attribute
- Hyphenation Support for PDF
- Greater Test Coverage
- Finer grained debug messaging
- Major Features
Wish List for Publican Features
Note: This list is in order of when they were added, not in order of importance.
Publican Website Default Pages A bookmarkable per-product link that explodes the navigation tree and automatically generates a page with the linked title names and version numbers. This would be per language. With the name of each book is a description from the abstract field. A bookmarkable per-product and per-version link that explodes the navigation tree and automatically generates a page with the linked title names. With the name of each book is a description from the abstract field.
Note: Support for Product and Version splash pages, including navigation tree automation, shipped in Publican 2.2!
Different formatting for article based on class
This has been discussed on the list, it's an extremely useful feature that would benefit many users. There is an experimental brand in the repo with a very basic attempt at a new article layout, very raw. This is by far the most requested feature.
DocBook 5 support This is going to hit us sooner or later, we really need to rethink
how we override the templates, particularly sorting what changes we can
get upstream and separating them from changes that upstream don't want.
This affects all users in the long run.
Note: Support for DocBook5 shipped in Publican 4.0.0!
Support different XML DTDs, e.g. DITA, Mallard
This can probably be done by sub classing Builder.pm. Lots of work required on deciding which bits to split in to the sub classes. Could be handy, might not be used.
Support non-XML input, e.g. markdown, AsciiDoc
This could probably take the same approach as supporting othe XML DTDs, but is probably somewhat more invasive. Could be handy, might not be used.
Support non-PO translations, e.g. XLIFF
This can probably be done by sub classing, again. We do have some old code to handle XLIFF, but it needs to be reworked to fit the current code structure. Could be handy, might not be used.
Replace gettext fuzzy merge The only part of gettext we actually use is merging updated
POT files with existing PO files. Replacing this would allow us to drop
the gettext dependency and make supporting other translation formats
easier. Definitely be used, transparent to users though.
Note: Shipped in Publican 3.0 https://bugzilla.redhat.com/show_bug.cgi?id=661569
More ports, e.g. FreeBSD,
Lets try for a wider user base. FreeBSD for instance uses DocBook for their docs, but they aren't as pretty as our output. Should be easy to whip up a brand once the port is done.
Note: Publican 3 works on Mac, see Install Publican on Mac OS X Lion
Replace FOP PLEASE! I've looked at this on and off ever since we started using FOP.
I haven't found anything that can replace it, but it's the number
one source of configuration issues and weird behaviour, so either
supporting another FO processor, or simply replacing it, would be a God
Note: Publican 3.0 shipped with support for wkhtml2pdf
Support RevisionFlag attribute The idea being that when an author modifies a book, they set the
RevisionFlag and if the book is in draft mode then Publican would
highlight that tag.
Note: Publican 4.2 shipped with support for RevisionFlag.
Hyphenation Support for PDF
Currently Publican uses FOP's default of wrap at word, or ragged right, FOP does have some hyphenation modules, but they seem fragile and need some work to get them working. probably very problematical for non-Latin texts.
Glossary Collation Currently publican does not officially support glossaries as they can not be sorted correctly in some languages. We need some smart collation routines to allow proper sorting of translated glossaries.
A nice summary of the problem in Japanese -- "an unsolved problem" -- http://www.localizingjapan.com/blog/2011/02/13/sorting-in-japanese-%E2%80%94-an-unsolved-problem/
Note: Support for using the "sortas" glossary attribute shipped in Publican 4.0.0!
Greater Test Coverage
December 2013 the tests coverage is 69.7%, wider coverage would be good.
---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ blib/lib/Publican.pm 82.8 52.2 37.8 95.7 100.0 1.0 70.2 blib/lib/Publican/Builder.pm 59.6 32.8 32.9 80.8 100.0 0.6 54.2 ...blican/Builder/DocBook.pm 98.5 46.8 40.7 100.0 84.6 67.3 79.6 ...lican/Builder/DocBook4.pm 79.3 46.7 34.9 100.0 100.0 0.5 69.9 ...lican/Builder/DocBook5.pm 67.7 30.0 26.7 97.8 100.0 0.1 58.9 ...ib/Publican/ConfigData.pm 9.8 0.0 0.0 22.2 100.0 0.0 16.9 ...ib/Publican/CreateBook.pm 97.3 65.0 55.0 100.0 100.0 0.1 88.6 ...b/Publican/CreateBrand.pm 98.4 50.0 44.4 100.0 100.0 0.0 89.1 .../lib/Publican/Localise.pm 100.0 n/a n/a 100.0 n/a 0.0 100.0 ...lib/Publican/Translate.pm 75.7 53.8 35.7 89.7 100.0 13.7 67.1 .../lib/Publican/TreeView.pm 86.8 61.5 48.5 100.0 100.0 0.1 77.3 blib/lib/Publican/WebSite.pm 80.9 48.4 31.7 89.8 100.0 0.1 65.6 .../lib/Publican/XmlClean.pm 95.7 71.3 57.7 96.6 100.0 16.2 82.0 blib/script/publican 60.7 44.7 20.5 96.6 n/a 0.2 51.2 Total 82.5 48.4 37.0 93.9 97.2 100.0 69.7
Finer grained debug messaging
Currently the debug messaging is on or off, it would be able to control the verbosity or the modules being debugged ... or both :D
bash-completion As its name suggests, this tool allow using bash tab completion to incorporate command line options.
Note: This feature shipped in Publican 2.2!