<?xml version='1.0'?> <!--*-nxml-*-->
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
<!--
  - The docbook stylesheet injects empty anchor tags into generated HTML, identified by an auto-generated ID.
  - Ask the docbook stylesheet to generate reproducible output when generating (these) ID values.
  - This makes the output of this stylesheet reproducible across identical invocations on the same input,
  - which is an easy and significant win for achieving reproducible builds.
  -
  - It may be even better to strip the empty anchors from the document output in addition to turning on consistent IDs,
  - for this stylesheet contains its own custom ID logic (for generating permalinks) already.
 -->
<xsl:param name="generate.consistent.ids" select="1"/>

<!-- translate man page references to links to html pages -->
<xsl:template match="citerefentry[not(@project)]">
  <a>
    <xsl:attribute name="href">
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>.html#</xsl:text>
      <xsl:value-of select="refentrytitle/@target"/>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='man-pages'] | citerefentry[manvolnum='2'] | citerefentry[manvolnum='4']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://man7.org/linux/man-pages/man</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>.</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>.html</xsl:text>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='die-net']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>http://linux.die.net/man/</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='wireguard']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://git.zx2c4.com/WireGuard/about/src/tools/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>.</xsl:text>
      <xsl:value-of select="manvolnum"/>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='mankier']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://www.mankier.com/</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='archlinux']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://www.archlinux.org/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>.</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>.html</xsl:text>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='debian']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://manpages.debian.org/unstable/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>.</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>.en.html</xsl:text>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='freebsd']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://www.freebsd.org/cgi/man.cgi?</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>(</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>)</xsl:text>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='dbus']">
  <a>
    <xsl:attribute name="href">
      <xsl:text>https://dbus.freedesktop.org/doc/</xsl:text>
      <xsl:value-of select="refentrytitle"/>
      <xsl:text>.</xsl:text>
      <xsl:value-of select="manvolnum"/>
      <xsl:text>.html</xsl:text>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<xsl:template match="citerefentry[@project='url']">
  <a>
    <xsl:attribute name="href">
      <xsl:value-of select="refentrytitle/@url"/>
    </xsl:attribute>
    <xsl:call-template name="inline.charseq"/>
  </a>
</xsl:template>

<!--
  - helper template to do conflict resolution between various headings with the same inferred ID attribute/tag from the headerlink template
  - this conflict resolution is necessary to prevent malformed HTML output (multiple ID attributes with the same value)
  - and it fixes xsltproc warnings during compilation of HTML man pages
  -
  - A simple top-to-bottom numbering scheme is implemented for nodes with the same ID value to derive unique ID values for HTML output.
  - It uses two parameters:
      templateID  the proposed ID string to use which must be checked for conflicts
      keyNode     the context node which 'produced' the given templateID.
  -
  - Conflicts are detected solely based on keyNode, templateID is not taken into account for that purpose.
 -->
<xsl:template name="generateID">
  <!-- node which generatedID needs to assume as the 'source' of the ID -->
  <xsl:param name="keyNode"/>
  <!-- suggested value for generatedID output, a contextually meaningful ID string -->
  <xsl:param name="templateID"/>
  <xsl:variable name="conflictSource" select="preceding::refsect1/title|preceding::refsect1/info/title|
					      preceding::refsect2/title|preceding::refsect2/info/title|
					      preceding::varlistentry/term[1]"/>
  <xsl:variable name="conflictCount" select="count($conflictSource[. = $keyNode])"/>
  <xsl:choose>
    <!-- special case conflictCount = 0 to preserve compatibility with URLs generated by previous versions of this XSL stylesheet where possible -->
    <xsl:when test="$conflictCount = 0">
      <xsl:value-of select="$templateID"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="concat($templateID, $conflictCount)"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<!--
  - a helper template to abstract over the structure of generated subheading + permalink HTML output
  - It helps reduce tedious repetition and groups all actual markup output (as opposed to URL/ID logic) in a single location.
 -->
<xsl:template name="permalink">
  <xsl:param name="nodeType"/> <!-- local name of the element node to generate, e.g. 'h2' for <h2></h2> -->
  <xsl:param name="nodeContent"/> <!-- nodeset to apply further templates to obtain the content of the subheading/term -->
  <xsl:param name="linkTitle"/> <!-- value for title attribute of generated permalink, e.g. 'this is a permalink' -->

  <!-- parameters passed to generateID template, otherwise unused. -->
  <xsl:param name="keyNode"/>
  <xsl:param name="templateID"/>

  <!--
    - If stable URLs with fragment markers (references to the ID) turn out not to be important:
    - generatedID could simply take the value of generate-id(), and various other helper templates may be dropped entirely.
    - Alternatively, if xsltproc is patched to generate reproducible generate-id() output, the same simplifications can be
    - applied at the cost of breaking compatibility with URLs generated from output of previous versions of this stylesheet.
   -->
  <xsl:variable name="generatedID">
    <xsl:call-template name="generateID">
      <xsl:with-param name="keyNode" select="$keyNode"/>
      <xsl:with-param name="templateID" select="$templateID"/>
    </xsl:call-template>
  </xsl:variable>

  <xsl:element name="{$nodeType}">
    <xsl:attribute name="id">
      <xsl:value-of select="$generatedID"/>
    </xsl:attribute>
    <xsl:apply-templates select="$nodeContent"/>
    <a class="headerlink" title="{$linkTitle}" href="#{$generatedID}">¶</a>
  </xsl:element>
</xsl:template>

<!-- simple wrapper around permalink to avoid repeating common info for each level of subheading covered by the permalink logic (h2, h3) -->
<xsl:template name="headerlink">
  <xsl:param name="nodeType"/>
  <xsl:call-template name="permalink">
    <xsl:with-param name="nodeType" select="$nodeType"/>
    <xsl:with-param name="linkTitle" select="'Permalink to this headline'"/>
    <xsl:with-param name="nodeContent" select="node()"/>
    <xsl:with-param name="keyNode" select="."/>
    <!--
      - To retain compatibility with IDs generated by previous versions of the template, inline.charseq must be called.
      - The purpose of that template is to generate markup (according to docbook documentation its purpose is to mark/format something as plain text).
      - The only reason to call this template is to get the auto-generated text such as brackets ([]) before flattening it.
     -->
    <xsl:with-param name="templateID">
      <xsl:call-template name="inline.charseq"/>
    </xsl:with-param>
  </xsl:call-template>
</xsl:template>

<xsl:template match="refsect1/title|refsect1/info/title">
  <!-- the ID is output in the block.object call for refsect1 -->
  <xsl:call-template name="headerlink">
    <xsl:with-param name="nodeType" select="'h2'"/>
  </xsl:call-template>
</xsl:template>

<xsl:template match="refsect2/title|refsect2/info/title">
  <xsl:call-template name="headerlink">
    <xsl:with-param name="nodeType" select="'h3'"/>
  </xsl:call-template>
</xsl:template>

<xsl:template match="varlistentry">
  <xsl:call-template name="permalink">
    <xsl:with-param name="nodeType" select="'dt'"/>
    <xsl:with-param name="linkTitle" select="'Permalink to this term'"/>
    <xsl:with-param name="nodeContent" select="term"/>
    <xsl:with-param name="keyNode" select="term[1]"/>
    <!--
      - To retain compatibility with IDs generated by previous versions of the template, inline.charseq must be called.
      - The purpose of that template is to generate markup (according to docbook documentation its purpose is to mark/format something as plain text).
      - The only reason to call this template is to get the auto-generated text such as brackets ([]) before flattening it.
     -->
    <xsl:with-param name="templateID">
      <xsl:call-template name="inline.charseq">
	<xsl:with-param name="content" select="term[1]"/>
      </xsl:call-template>
    </xsl:with-param>
  </xsl:call-template>
  <dd>
    <xsl:apply-templates select="listitem"/>
  </dd>
</xsl:template>


<!-- add Index link at top of page -->
<xsl:template name="user.header.content">
  <style>
    a.headerlink {
      color: #c60f0f;
      font-size: 0.8em;
      padding: 0 4px 0 4px;
      text-decoration: none;
      visibility: hidden;
    }

    a.headerlink:hover {
      background-color: #c60f0f;
      color: white;
    }

    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
      visibility: visible;
    }
  </style>

  <a>
    <xsl:attribute name="href">
      <xsl:text>index.html</xsl:text>
    </xsl:attribute>
    <xsl:text>Index </xsl:text>
  </a>·
  <a>
    <xsl:attribute name="href">
      <xsl:text>systemd.directives.html</xsl:text>
    </xsl:attribute>
    <xsl:text>Directives </xsl:text>
  </a>

  <span style="float:right">
    <xsl:text>systemd </xsl:text>
    <xsl:value-of select="$systemd.version"/>
  </span>
  <hr/>
</xsl:template>

<xsl:template match="literal">
  <xsl:text>"</xsl:text>
  <xsl:call-template name="inline.monoseq"/>
  <xsl:text>"</xsl:text>
</xsl:template>

<!-- Switch things to UTF-8, ISO-8859-1 is soo yesteryear -->
<xsl:output method="html" encoding="UTF-8" indent="no"/>

</xsl:stylesheet>
