1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/docs-xml/xslt/man.xsl
Alexander Bokovoy 7d47f75be4 man pages: properly ident lists
It took me some time (original bug was filed in 2013!) but now
lists in smb.conf.5 are properly idented.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=9613

Signed-Off-By: Alexander Bokovoy <ab@samba.org>
Reviewed-By: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sat Oct 14 11:31:07 CEST 2017 on sn-devel-144
2017-10-14 11:31:07 +02:00

90 lines
2.9 KiB
XML

<?xml version='1.0'?>
<!-- vim:set sts=2 shiftwidth=2 syntax=xml: -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink='http://www.w3.org/1999/xlink'
version='1.0'>
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
<xsl:param name="chunk.section.depth" select="0"/>
<xsl:param name="chunk.first.sections" select="1"/>
<xsl:param name="use.id.as.filename" select="1"/>
<xsl:param name="man.endnotes.are.numbered" select="0"/>
<!--
Our ulink stylesheet omits @url part if content was specified
-->
<xsl:template match="ulink">
<xsl:variable name="content">
<xsl:apply-templates/>
</xsl:variable>
<xsl:if test="$content = ''">
<xsl:text>: </xsl:text>
</xsl:if>
<xsl:if test="$content != ''">
<xsl:value-of select="$content" />
</xsl:if>
<xsl:if test="$content = ''">
<xsl:apply-templates mode="italic" select="@url" />
</xsl:if>
</xsl:template>
<xsl:template match="itemizedlist|orderedlist|procedure">
<xsl:if test="title">
<xsl:text>.PP&#10;</xsl:text>
<xsl:call-template name="bold">
<xsl:with-param name="node" select="title"/>
<xsl:with-param name="context" select="."/>
</xsl:call-template>
<xsl:text>&#10;</xsl:text>
</xsl:if>
<!-- * DocBook allows just about any block content to appear in -->
<!-- * lists before the actual list items, so we need to get that -->
<!-- * content (if any) before getting the list items -->
<xsl:apply-templates
select="*[not(self::listitem) and not(self::title)]"/>
<xsl:text>&#10;.RS&#10;</xsl:text>
<xsl:apply-templates select="listitem"/>
<xsl:if test="(parent::para or parent::listitem) or following-sibling::node()">
<xsl:text>.sp&#10;</xsl:text>
<xsl:text>.RE&#10;</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="refsect3">
<xsl:text>&#10;.SS "</xsl:text>
<xsl:value-of select="title[1]"/>
<xsl:text>"&#10;</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<!-- ================================================================== -->
<!-- These macros are from Docbook manpages XSLT development tree -->
<!-- help to maintain manpage generation clean when difference between -->
<!-- roff processors is important to note. -->
<xsl:template name="roff-if-else-start">
<xsl:param name="condition">n</xsl:param>
<xsl:text>.ie </xsl:text>
<xsl:value-of select="$condition"/>
<xsl:text> \{\&#10;</xsl:text>
</xsl:template>
<xsl:template name="roff-if-start">
<xsl:param name="condition">n</xsl:param>
<xsl:text>.if </xsl:text>
<xsl:value-of select="$condition"/>
<xsl:text> \{\&#10;</xsl:text>
</xsl:template>
<xsl:template name="roff-else">
<xsl:text>.\}&#10;</xsl:text>
<xsl:text>.el \{\&#10;</xsl:text>
</xsl:template>
<xsl:template name="roff-if-end">
<xsl:text>.\}&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>