Tuesday, March 27, 2018

DITA Publishing Customization Overview

Share to Facebook Share to Twitter Email This Share on Google Plus Share on Tumblr
Oxygen XML Editor publishes DITA content to various output sources using a bundled version of the DITA Open Toolkit (short name: DITA OT) publishing engine. Oxygen versions prior to version 20 come with two DITA OT versions:
  • DITA OT 1.8 located in the OXYGEN_INSTALL_DIR\frameworks\dita\DITA-OT folder.
  • DITA OT 2.x located in the OXYGEN_INSTALL_DIR\frameworks\dita\DITA-OT2.x folder.
while Oxygen version 20 comes bundled only with DITA OT 2.x located in the folder specified above. You can find out the exact version of DITA OT bundled with Oxygen by looking in the main menu Help->About at the Frameworks tab.

DITA Open Toolkit Overview

The DITA Open Toolkit is an open source publishing engine which can publish DITA content to various output sources like XHTML, PDF or Windows Help (CHM). Because has a plugin-based architecture, it can be extended with extra plugins which either define new formats for conversion or customize an existing conversion format. You can run the DITA OT from Oxygen using its transformation scenarios or you can run it directly from a command line:http://www.dita-ot.org/dev/topics/building-output.html.

The DITA OT bundled with Oxygen contains more plugins than the standard DITA OT which can be downloaded from the DITA OT official web site. For example it contains pre-installed plugins for converting DITA content to Word, EPUB, Oxygen WebHelp or to publish to PDF using CSS to customize the output:http://blog.oxygenxml.com/2017/03/useful-dita-ot-plugins.html

Publishing Customizations (Before you begin)

Some customizations, usually for HTML-based output can be made only by creating a custom CSS and they do not involve modifying the DITA OT engine in any way. But most customizations might involve adding a new plugin to the DITA OT. So here are some best practives before you begin your customization:
  1. Copy the bundled DITA OT folder (usually OXYGEN_INSTALL_DIR\frameworks\dita\DITA-OT2.x) to a location outside of Oxygen. This will allow you to have full write access to the folder in order to install new plugins:https://www.oxygenxml.com/doc/versions/20.0/ug-editor/topics/dita-ot-install-plugin.html.
  2. In the Oxygen Preferences->DITA page set the default used DITA OT distribution to be the external copied one. This will mean that Oxygen will use for DITA validation and publishing the external DITA OT. After doing this you will be able to upgrade the used Oxygen version and benefit of all editing-related improvements without affecting the publising system.
  3. Share that external DITA OT copy with the rest of the team. If you are using for collaboration a repository like Subversion, Git you can commit the entire modified DITA OT publishing engine as part of your project. This will allow everybody else in your team to use for publishing an engine containing the official changes that you made. And this will allow you to also set up some kind of automatic publishing system using an open source integration server like Travis.

Customizing the XHTML-based outputs

Usually XHTML-based outputs can be modified by using a custom CSS stylesheet to override various styles. If you edit an XHTML-based transformation scenario in Oxygen, there is a parameter called args.css which can be set to point to your custom CSS and a parameter called args.copy.css which can be set to yes in order to copy the CSS to the output folder. To know what CSS styles to override you can use your web brower’s CSS Inspector tools to look at the produced HTML output. The same parameters can be set when publishing from a command line: http://www.dita-ot.org/dev/topics/html-customization-css.html.

You can also create plugins to customize the XHTML-based outputs by adding for example an extra XSLT stylesheet:http://blog.oxygenxml.com/2013/12/creating-simple-dita-open-toolkit.html. A list with all DITA OT XSLT extension points can be found here: http://www.dita-ot.org/dev/extension-points/plugin-extension-points-xslt-import.html.

Customizing the Oxygen WebHelp-based output

Oxygen’s DITA OT comes bundled with specific plugins developed by Oxygen allowing publishing DITA content to WebHelp Classic and WebHelp Responsive outputs. Oxygen’s User’s Guide has detailed topics about how to customize these outputs:https://www.oxygenxml.com/doc/versions/20.0/ug-editor/topics/wh-responsive-customization-tips.html#wh-responsive-customization-tips.

Customizing the PDF Classic output

The DITA to PDF output can be customized either by creating a PDF customization folder in which case the DITA OT folder will not be modified at all or by creating a PDF customization plugin: https://www.oxygenxml.com/doc/versions/20.0/ug-editor/topics/dita-pdf-output.html. There is also a book called DITA For Print which contains details about how to customize various aspects.

Customizing the DITA + CSS to PDF output

In recent versions Oxygen added a new transformation scenario called DITA Map PDF - WYSIWYG which allows you to use CSS to style the PDF output, lowering the required knowledge for implementing a PDF customization. There is an entire chapter in the Oxygen users manual covering various PDF customization details: https://www.oxygenxml.com/doc/versions/20.0/ug-editor/topics/dcpp_the_customization_css.html#dcpp_the_customization_css.

No comments:

Post a Comment