PUBLICAN(1)
π PUBLICAN(1) π
okay bestie, welcome to publican β the User Contributed Perl Documentation one, aka the whole entire manual for the publican tool. grab a boba, we're doing this. π§β¨
β¨ NAME β¨
publican β a DocBook XML publishing tool. that's it, that's the vibe. it publishes things, DocBook XML things, and it slays while doing it. π
πΈ VERSION πΈ
This document describes publican version 4.0. yes, four point oh. iconic behavior.
π¦ SYNOPSIS π¦
so here's how you talk to her:
publican <command options>
publican <action> <action options>
π Command Options
--helpβ Display help message. she'll tell you what's up.--manβ Display the man page. (you're literally reading it rn, hi π)--help_actionsβ Display a list of valid actions. the menu of options, fr fr.-vβ Display the version of Publican. little lowercase v, big knowledge.
π Valid actions are:
add_revisionβ Add an entry to the revision historybuildβ Transform XML to other formats (pdf, html, html-single, drupal-book, etc)cleanβ Remove all temporary files and directoriesclean_idsβ Run clean ids for source XMLclean_setβ Remove local copies of remote set bookscopy_web_brandβ Copy a brand's installed web content to another sitecreateβ Create a new book, set, or articlecreate_brandβ Create a new brandcreate_siteβ Create a new WebSite in the supplied location.help_configβ Display help text for the configuration fileinstall_bookβ Install a book in to a WebSite.install_brandβ Install a brand to the supplied locationlang_statsβ report PO statisticsmigrate_siteβ Migrate a website DataBase from Publican < 3 to Publican 3.packageβ Package a language for shippingprint_bannedβ Print a list of banned DocBook tagsprint_knownβ Print a list of QA'd DocBook tagsprint_treeβ Print a tree of thexi:includesprint_unusedβ Print a list of unused XML filesprint_unused_imagesβ Print a list of unused Image filesremove_bookβ Remove a book from a WebSite.renameβ Rename a publican bookreportβ Print a readability report for the source text.site_statsβ Report on the contents of a WebSitetrans_dropβ Snapshot the source language for use in translation.update_dbβ Add or remove database entries. Used for processing pre-build books, such as when building packages.update_poβ Update the PO filesupdate_potβ Update the POT filesupdate_siteβ Update an existing sites templates.zt_pullβ Pull translations from Zanata.zt_pushβ Push translations to Zanata.
Run: bin/publican <action> --help for details on action usage π«Ά
π INTERFACE π
bestie, this is the big one. every single action, every single flag, all of it. buckle up. π
π add_revision
Add an entry to the revision history. like leaving a little note in the group chat but, y'know, for your book's version history.
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--lang=<LANG>β The language the XML will be written in--revnumber=<REVNUMBER>β Revision number to use for a revision.--date=<DATE>β Date to use for a revision.--member=<MEMBER>β An entry to be added to the revision. Can be specified multiple times.--firstname=<FIRSTNAME>β firstname to use for a revision.--surname=<SURNAME>β surname to use for a revision.--email=<EMAIL>β email to use for a revision.
π₯ build
Transform XML to other formats (pdf, html, html-single, drupal-book, etc). this is THE moment, the main character action, the glow-up from XML to literally anything else. β¨
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--formats=<FORMATS>β Comma-separated list of formats, for example:html,pdf,html-single,html-desktop,txt,epub--langs=<LANGS>β Comma-separated list of languages, for example:en-US,de-DE,all--publishβ Set up built content for publishing--embedtocβ Embed the web site TOC object in the generated HTML--distributed_setβ This flag tells publican the data being processed is a distributed set. Note: do not usedistributed_seton the command line. Publican uses this flag when calling itself to process distributed sets. This is the only safe way this flag can be used.--novalidβ Do not run the DTD validation--src_dir=<SRC_DIR>β Directory to source publican files from.--pdftool=<PDFTOOL>β Override the tool to use when creating PDFs. Valid options arewkhtmltopdfandfop.--pub_dir=<PUB_DIR>β Directory to publish files to. Defaults topublish.
bestie. real talk. do not use distributed_set on the command line. Publican uses it when it calls itself to process distributed sets, and that is the only safe way it can be used. respect the flag's boundaries. π
π clean
Remove all temporary files and directories. spring cleaning but make it terminal. π§Ήβ¨
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--pub_dir=<PUB_DIR>β Directory to publish files to. Defaults topublish.
π¦ clean_ids
Run clean ids for source XML. tidying up the IDs like a lil organizational queen. π
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.
πΈ clean_set
Remove local copies of remote set books. bye bestie, you're not local anymore. π
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.
π copy_web_brand
Copy a brand's installed web content to another site. sharing is caring, no cap. π«Ά
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--brand=<BRAND>β The brand to use--site_config=<SITE_CONFIG>β WebSite configuration file to use or create.--old_site_config=<OLD_SITE_CONFIG>β WebSite configuration file to use when copying content between sites.
π create
Create a new book, set, or article. birthing a whole new piece of content, main character energy only. β¨
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--name=<NAME>β The name of the book, article, set, or brand--version=<VERSION>β The version of the product--edition=<EDITION>β The edition of the book, article, or set--product=<PRODUCT>β The name of the product--brand=<BRAND>β The brand to use--lang=<LANG>β The language the XML will be written in--type=<TYPE>β The type (book, article, or set)--dtdver=<DTDVER>β The version of the DocBook DTD to use
π create_brand
Create a new brand. aesthetic time. π¨
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--name=<NAME>β The name of the book, article, set, or brand--lang=<LANG>β The language the XML will be written in
π create_site
Create a new WebSite in the supplied location. building your own little corner of the internet, obsessed. π
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.--site_config=<SITE_CONFIG>β WebSite configuration file to use or create.--db_file=<DB_FILE>β Override default database file.--toc_path=<TOC_PATH>β Override the default TOC path.--tmpl_path=<TMPL_PATH>β Override the default template path.--lang=<LANG>β The language the XML will be written in
π§ help_config
Display help text for the configuration file. the config file got its own help text, she's that important. π
Options:
--helpβ Display help message--config=sβ Use a nonstandard config file--common_config=sβ Override path to Common_Config directory--common_content=sβ Override path to Common_Content directory--nocoloursβ Disable ANSI colourisation of logging.--quietβ Disable all logging.--brand_dir=sβ Directory to source brand files from.
π οΈ install_book
Installs a book into a WebSite. Yes bestie, it's literally what it says on the tin. π
Options:
--helpβ prints the help message, your lil safety net π«Ά--config=sβ use a config file that isn't the standard one--common_config=sβ override the path to the Common_Config directory--common_content=sβ override the path to the Common_Content directory--nocoloursβ turns OFF the ANSI colourisation of logging (so your terminal stays monochrome, boring but valid)--quietβ kills all logging. silence. π€«--brand_dir=sβ the directory to source brand files from--site_config=<SITE_CONFIG>β the WebSite configuration file to use, or to create if it doesn't exist yet β¨--lang=<LANG>β the language the XML will be written in
π install_brand
Installs a brand to the location you hand it. Drop the brand off, no questions asked. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--path=<PATH>β literally/path/to/install/to, the exact spot it goes π--webβ install the web content for a brand--pub_dir=<PUB_DIR>β directory to publish files to. defaults topublish.
π lang_stats
Reports PO statistics, no cap. Numbers, counts, the whole tea. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--lang=<LANG>β the language the XML will be written in
π¦ migrate_site
Migrates a website DataBase from Publican < 3 to Publican 3. It's giving glow-up, it's giving era change. β¨
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--site_config=<SITE_CONFIG>β WebSite configuration file to use or create
π¦ package
Packages a language for shipping. Wrapping it up cute so it can travel. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--lang=<LANG>β the language the XML will be written in--desktopβ create a desktop package instead of a web package--brewβ push the SRPM to brew πΊ--scratchβ use scratch instead of a tag build--short_sightedβ create the package without using the version in the package name--binaryβ build a binary rpm when running package--waitβ wait for brew to finish building (patience era π)--pub_dir=<PUB_DIR>β directory to publish files to. defaults topublish.
π« print_banned
Prints a list of banned DocBook tags. The naughty list, fr fr. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
β print_known
Prints a list of QA'd DocBook tags β the ones that already passed the vibe check. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
π³ print_tree
Prints a tree of the xi:includes. Look at the branches bestie, they're so organized. πΈ
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
ποΈ print_unused
Prints a list of unused XML files. The ones nobody invited to the party. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
πΌοΈ print_unused_images
Prints a list of unused Image files. Same energy as above but for the pictures. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
β remove_book
Removes a book from a WebSite. Un-inviting it, respectfully. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--site_config=<SITE_CONFIG>β WebSite configuration file to use or create--lang=<LANG>β the language the XML will be written in
π« rename
Renames a publican book. New name, new era, same content. β¨
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--name=<NAME>β the name of the book, article, set, or brand--product=<PRODUCT>β the name of the product--version=<VERSION>β the version of the product
π report
Prints a readability report for the source text. It's judging your sentences (lovingly). π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
π site_stats
Reports on the contents of a WebSite. The whole site's stats, the receipts. π§
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--site_config=<SITE_CONFIG>β WebSite configuration file to use or create
πΈ trans_drop
Snapshots the source language for use in translation. Literally a little photo of your text for the translators. π
Options:
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path to Common_Config directory--common_content=sβ override path to Common_Content directory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
ποΈ update_db
Adds or removes database entries. Used for processing pre-build books, such as when building packages.
Options for this one π
--helpβ show the help message, like a little manual for the manual π«Ά--config=sβ use a config file that is not the standard one--common_config=sβ override the path to theCommon_Configdirectory--common_content=sβ override the path to theCommon_Contentdirectory--nocoloursβ turn OFF the ANSI colourisation of logging (sad, but okay)--quietβ disable all logging, silence era π--brand_dir=sβ directory to source brand files from--site_config=<SITE_CONFIG>β the WebSite configuration file to use or create--addβ add a database entry β--delβ delete a database entry ποΈ--lang=<LANG>β the language the XML will be written in--product=<PRODUCT>β the name of the product--version=<VERSION>β the version of the product--name=<NAME>β the name of the book, article, set, or brand--formats=<FORMATS>β comma-separated list of formats, for example:html,pdf,html-single,html-desktop,txt,epub--subtitle=<SUBTITLE>β sub title for a book--abstract=<ABSTRACT>β abstract for a book--product_label=<PRODUCT_LABEL>β product label for a book--version_label=<VERSION_LABEL>β version label for a book--name_label=<NAME_LABEL>β name label for a book--sort_order=<SORT_ORDER>β order to sort a book--book_version=<BOOK_VERSION>β the version number of the book being installed--book_src_lang=<BOOK_SRC_LANG>β the language this translation is based on
update_po π¦
Update the PO files. Translation upkeep, bestie, it's giving multilingual β¨
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path toCommon_Configdirectory--common_content=sβ override path toCommon_Contentdirectory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--langs=<LANGS>β comma-separated list of languages, for example:en-US,de-DE,all--msgmergeβ use gettext'smsgmergefor POT/PO merging--firstname=<FIRSTNAME>β firstname to use for a revision--surname=<SURNAME>β surname to use for a revision--email=<EMAIL>β email to use for a revision--previousβ keep previous msgid when fuzzy matches are detected in PO updates
update_pot π
Update the POT files. The template files, the blueprint era, no cap π
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path toCommon_Configdirectory--common_content=sβ override path toCommon_Contentdirectory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
update_site πΈ
Update an existing site's templates.
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path toCommon_Configdirectory--common_content=sβ override path toCommon_Contentdirectory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from--site_config=<SITE_CONFIG>β WebSite configuration file to use or create
zt_pull π§
Pull translations from Zanata. Bringing the translations home, lowkey iconic π«Ά
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path toCommon_Configdirectory--common_content=sβ override path toCommon_Contentdirectory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
zt_push β
Push translations to Zanata. Sending your translations out into the world, main character energy fr fr β¨
--helpβ display help message--config=sβ use a nonstandard config file--common_config=sβ override path toCommon_Configdirectory--common_content=sβ override path toCommon_Contentdirectory--nocoloursβ disable ANSI colourisation of logging--quietβ disable all logging--brand_dir=sβ directory to source brand files from
CONFIGURATION AND ENVIRONMENT π
Publican needs access to wkhtmltopdf or Apache FOP if you wanna make PDF files. That's the vibe check for PDFs, bestie β no wkhtmltopdf, no FOP, no PDF, periodt π
DEPENDENCIES π
Here's the whole squad, the entire entourage, every single one of them:
Archive::Tar Archive::Zip Carp Config::Simple Cwd DBI DateTime DateTime::Format::DateParse Devel::Cover Encode File::Basename File::Copy::Recursive File::Find File::Find::Rule File::HomeDir File::Inplace File::Path File::Spec File::Which File::pushd Getopt::Long HTML::FormatText HTML::FormatText::WithLinks HTML::FormatText::WithLinks::AndTables HTML::TreeBuilder I18N::LangTags::List IO::String Lingua::EN::Fathom List::MoreUtils List::Util Locale::Language Locale::Maketext::Gettext Locale::Maketext::Lexicon Locale::Msgfmt Locale::PO Module::Build Pod::Usage Sort::Versions String::Similarity Syntax::Highlight::Engine::Kate Template Template::Constants Term::ANSIColor Test::More Test::Pod Test::Pod::Coverage Text::CSV_XS Text::Wrap Time::localtime XML::LibXML XML::LibXSLT XML::Simple XML::TreeBuilder version
Likeβ¦ that's a LOT of friends and we love every single one of them π₯Ήπ
INCOMPATIBILITIES π
None reported. Zero drama. We're unproblematic, and that's on periodt ββ¨
BUGS AND LIMITATIONS π
The bug list lives at <https://bugzilla.redhat.com/buglist.cgi?product=Publican&query_format=advanced&resolution=--->.
If you spot a bug, or you're just dying for a feature, please report it to publican-list@redhat.com, or through the web interface at <https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Publican&component=publican&version=$version>. We wanna hear it, bestie π«Ά
AUTHOR π
Jeff Fearn <jfearn@redhat.com> β icon, legend, the moment π
okay so that's the whole page, bestie, you made it to the end π and yeah, this was written for perl v5.42.0, dated 2025-07-25, and it's the PUBLICAN(1) manual β go forth and document, slay π
πβ¨
π¦ where this page comes from
- fedora 43: publican 4.3.2-33.fc43 Β· (GPL-2.0-or-later OR Artistic-1.0-Perl) AND CC0-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms