You may want to add additional highlighters in your
<codeblock>
elements (for example, to highlight method names or arguments). To add this functionality, use
an
Oxygen Publishing Template and follow these steps:
- If you have not already created a Publishing Template, you need to create one. For
details, see How to Create a Publishing Template.
- Link the folder associated with the publishing template to your current
project in the Project Explorer view.
- Using the Project Explorer view, create an xslt folder inside the project
root folder.
- In the newly created folder, create an XSL file (for example, named
merged2html5Extension.xsl) with a custom template matching the
codeblock for a given language (based on the
@outputclass):<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="3.0">
<xsl:template match="*[contains(@class, 'pr-d/codeblock')]
[@outputclass='language-python']/text()">
<xsl:analyze-string select="." regex="\(([\w,\s]+)\):">
<xsl:matching-substring>
<xsl:text>(</xsl:text>
<span>
<xsl:attribute name="class" select="'hl-arguments'"/>
<xsl:value-of select="regex-group(1)"/>
</span>
<xsl:text>):</xsl:text>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:next-match/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
</xsl:stylesheet>
- Open the template
descriptor file associated with your publishing template (the
.opt file) and set the XSLT stylesheet created in the previous step with the
com.oxygenxml.pdf.css.xsl.merged2html5 XSLT extension
point:<publishing-template>
...
<pdf>
...
<xslt>
<extension
id="com.oxygenxml.pdf.css.xsl.merged2html5"
file="xslt/merged2html5Extension.xsl"/>
</xslt>
- Create a css folder in the publishing template
directory. In this directory, save a custom CSS file with rules that style the highlight
span. For
example:
.hl-arguments {
color: orange;
}
- Open the template
descriptor file associated with your publishing template (the
.opt file) and reference your custom CSS file in the
resources
element:<publishing-template>
...
<pdf>
...
<resources>
<css file="css/custom.css"/>
</resources>
- Edit the DITA Map PDF - based on HTML5 & CSS transformation
scenario.
- In the Templates tab, click the Choose
Custom Publishing Template link and select your template.
- Click OK to save the changes and run the transformation
scenario.