Blame SOURCES/0001-doc-make-sure-cross-reference-ids-are-predictable.patch

deab74
From 4f3c02dc14300c0b8e51a55d627c57f73c108f64 Mon Sep 17 00:00:00 2001
deab74
From: Sumit Bose <sbose@redhat.com>
deab74
Date: Fri, 28 Sep 2018 10:36:19 +0200
deab74
Subject: [PATCH] doc: make sure cross-reference ids are predictable
deab74
deab74
To make sure the cross-reference ids are predictable in the
deab74
auto-generated DBus documentation as well the xsl and css files form the
deab74
gtk-doc package are updated as well.
deab74
---
deab74
 doc/manual/devhelp2.xsl                      | 173 ++++++++
deab74
 doc/manual/gtk-doc.xsl                       | 436 ++++++++-----------
deab74
 doc/manual/realm.xml                         |  14 +-
deab74
 doc/manual/realmd-guide-active-directory.xml |   4 +-
deab74
 doc/manual/realmd-guide-ipa.xml              |   2 +-
deab74
 doc/manual/realmd-guide-kerberos.xml         |   2 +-
deab74
 doc/manual/realmd.conf.xml                   |   4 +-
deab74
 doc/manual/static/gtk-doc.css                | 420 +++++++++++++-----
deab74
 8 files changed, 688 insertions(+), 367 deletions(-)
deab74
 create mode 100644 doc/manual/devhelp2.xsl
deab74
deab74
diff --git a/doc/manual/devhelp2.xsl b/doc/manual/devhelp2.xsl
deab74
new file mode 100644
deab74
index 0000000..bab6692
deab74
--- /dev/null
deab74
+++ b/doc/manual/devhelp2.xsl
deab74
@@ -0,0 +1,173 @@
deab74
+ 
deab74
+
deab74
+                version='1.0'
deab74
+                xmlns="http://www.devhelp.net/book"
deab74
+                xmlns:str="http://exslt.org/strings"
deab74
+                exclude-result-prefixes="str">
deab74
+
deab74
+  <xsl:template name="generate.devhelp2">
deab74
+    <xsl:call-template name="write.chunk">
deab74
+      <xsl:with-param name="filename">
deab74
+        <xsl:choose>
deab74
+          <xsl:when test="$gtkdoc.bookname">
deab74
+            <xsl:value-of select="$gtkdoc.bookname"/>
deab74
+          </xsl:when>
deab74
+          <xsl:otherwise>
deab74
+            <xsl:text>book</xsl:text>
deab74
+          </xsl:otherwise>
deab74
+        </xsl:choose>
deab74
+        <xsl:text>.devhelp2</xsl:text>
deab74
+      </xsl:with-param>
deab74
+      <xsl:with-param name="method" select="'xml'"/>
deab74
+      <xsl:with-param name="indent" select="'yes'"/>
deab74
+      <xsl:with-param name="encoding" select="'utf-8'"/>
deab74
+      <xsl:with-param name="doctype-public"/>
deab74
+      <xsl:with-param name="content">
deab74
+        <xsl:call-template name="devhelp2"/>
deab74
+      </xsl:with-param>
deab74
+    </xsl:call-template>
deab74
+  </xsl:template>
deab74
+
deab74
+  <xsl:variable name="gtkdoc.refsect2" select="//refsect2"/>
deab74
+
deab74
+  <xsl:template name="devhelp2">
deab74
+    <xsl:variable name="title">
deab74
+      <xsl:apply-templates select="." mode="generate.devhelp2.toc.title.mode"/>
deab74
+    </xsl:variable>
deab74
+    <xsl:variable name="link">
deab74
+      <xsl:call-template name="href.target"/>
deab74
+    </xsl:variable>
deab74
+    <xsl:variable name="author">
deab74
+      <xsl:if test="articleinfo|bookinfo">
deab74
+        
deab74
+                             select="articleinfo|bookinfo"/>
deab74
+      </xsl:if>
deab74
+    </xsl:variable>
deab74
+    <xsl:variable name="online">
deab74
+      <xsl:value-of select="/book/bookinfo/releaseinfo/ulink[@role='online-location']/@url"/>
deab74
+    </xsl:variable>
deab74
+    
deab74
+                                           appendix|article|bibliography|
deab74
+                                           glossary|index|refentry|
deab74
+                                           bridgehead|sect1"/>
deab74
+
deab74
+    <book title="{$title}" link="{$link}" author="{$author}" name="{$gtkdoc.bookname}" version="2" language="c">
deab74
+      <xsl:if test="$online != ''">
deab74
+        <xsl:attribute name="online"><xsl:value-of select="$online"/></xsl:attribute>
deab74
+      </xsl:if>
deab74
+      <xsl:if test="$toc.nodes">
deab74
+        <chapters>
deab74
+          
deab74
+                               mode="generate.devhelp2.toc.mode"/>
deab74
+        </chapters>
deab74
+      </xsl:if>
deab74
+      <functions>
deab74
+        
deab74
+                             mode="generate.devhelp2.index.mode"/>
deab74
+        
deab74
+                             mode="generate.devhelp2.index.mode"/>
deab74
+        
deab74
+                             mode="generate.devhelp2.index.mode"/>
deab74
+      </functions>
deab74
+    </book>
deab74
+  </xsl:template>
deab74
+
deab74
+  <xsl:template match="*" mode="generate.devhelp2.toc.mode">
deab74
+    <xsl:variable name="title">
deab74
+      <xsl:apply-templates select="." mode="generate.devhelp2.toc.title.mode"/>
deab74
+    </xsl:variable>
deab74
+    <xsl:variable name="target">
deab74
+      <xsl:variable name="anchor" select="title/anchor"/>
deab74
+      <xsl:choose>
deab74
+        <xsl:when test="$anchor">
deab74
+          <xsl:call-template name="href.target">
deab74
+            <xsl:with-param name="object" select="$anchor"/>
deab74
+          </xsl:call-template>
deab74
+        </xsl:when>
deab74
+        <xsl:otherwise>
deab74
+          <xsl:call-template name="href.target"/>
deab74
+        </xsl:otherwise>
deab74
+      </xsl:choose>
deab74
+    </xsl:variable>
deab74
+
deab74
+    <sub name="{$title}" link="{$target}">
deab74
+      
deab74
+                                   refentry|refsect|
deab74
+                                   bridgehead|part|chapter|glossary|index"
deab74
+                           mode="generate.devhelp2.toc.mode"/>
deab74
+    </sub>
deab74
+  </xsl:template>
deab74
+
deab74
+  <xsl:template match="*" mode="generate.devhelp2.index.mode">
deab74
+    
deab74
+                                       term/literal|
deab74
+                                       entry[@role='enum_member_name']/para|
deab74
+                                       entry[@role='struct_member_name']/para/structfield/@id"/>
deab74
+    
deab74
+                                        entry[@role='enum_member_name']/para|
deab74
+                                        entry[@role='struct_member_name']/para/structfield"/>
deab74
+    <xsl:variable name="type" select="@role"/>
deab74
+    <xsl:variable name="condition" select="@condition"/>
deab74
+    <xsl:variable name="target">
deab74
+      <xsl:choose>
deab74
+        <xsl:when test="$anchor">
deab74
+          <xsl:call-template name="href.target">
deab74
+            <xsl:with-param name="object" select="$anchor"/>
deab74
+          </xsl:call-template>
deab74
+        </xsl:when>
deab74
+        <xsl:otherwise>
deab74
+          <xsl:call-template name="href.target"/>
deab74
+        </xsl:otherwise>
deab74
+      </xsl:choose>
deab74
+    </xsl:variable>
deab74
+    <keyword type="{$type}" name="{$title}" link="{$target}">
deab74
+      <xsl:if test="$condition">
deab74
+        <xsl:for-each select="str:split($condition,'|')">
deab74
+          <xsl:variable name="attrname">
deab74
+            <xsl:value-of select="substring-before(.,':')"/>
deab74
+          </xsl:variable>
deab74
+          <xsl:choose>
deab74
+            <xsl:when test="string-length($attrname)=0">
deab74
+              <xsl:variable name="attrname2">
deab74
+                <xsl:value-of select="."/>
deab74
+              </xsl:variable>
deab74
+              <xsl:attribute name="{$attrname2}"/>
deab74
+            </xsl:when>
deab74
+            <xsl:otherwise>
deab74
+              <xsl:attribute name="{$attrname}">
deab74
+                <xsl:value-of select="substring-after(.,':')"/>
deab74
+              </xsl:attribute>
deab74
+            </xsl:otherwise>
deab74
+          </xsl:choose>
deab74
+        </xsl:for-each>
deab74
+     </xsl:if>
deab74
+    </keyword>
deab74
+  </xsl:template>
deab74
+
deab74
+  
deab74
+  <xsl:template match="article" mode="generate.devhelp2.toc.title.mode">
deab74
+    <xsl:value-of select="articleinfo/title"/>
deab74
+  </xsl:template>
deab74
+  <xsl:template match="book" mode="generate.devhelp2.toc.title.mode">
deab74
+    <xsl:value-of select="bookinfo/title"/>
deab74
+  </xsl:template>
deab74
+  <xsl:template match="refentry" mode="generate.devhelp2.toc.title.mode">
deab74
+    <xsl:value-of select="refmeta/refentrytitle"/>
deab74
+  </xsl:template>
deab74
+  <xsl:template match="*" mode="generate.devhelp2.toc.title.mode">
deab74
+    <xsl:value-of select="title"/>
deab74
+  </xsl:template>
deab74
+
deab74
+  
deab74
+  <xsl:template match="articleinfo|bookinfo" mode="generate.devhelp2.authors">
deab74
+    <xsl:for-each select="authorgroup/author">
deab74
+      <xsl:value-of select="firstname"/>
deab74
+      <xsl:text> </xsl:text>
deab74
+      <xsl:value-of select="surname"/>
deab74
+      <xsl:if test="not(last())">
deab74
+        <xsl:text>, </xsl:text>
deab74
+      </xsl:if>
deab74
+    </xsl:for-each>
deab74
+  </xsl:template>
deab74
+
deab74
+</xsl:stylesheet>
deab74
diff --git a/doc/manual/gtk-doc.xsl b/doc/manual/gtk-doc.xsl
deab74
index 9c0901b..3471e6c 100644
deab74
--- a/doc/manual/gtk-doc.xsl
deab74
+++ b/doc/manual/gtk-doc.xsl
deab74
@@ -5,20 +5,19 @@
deab74
                 version="1.0">
deab74
 
deab74
   
deab74
-  
deab74
-       "chunkfast.xsl", but I can see a difference -->
deab74
+  
deab74
+       "chunkfast.xsl", but I can't see a difference. Also it is not clear wheter
deab74
+       one should still set "chunk.fast". Again, no meassuable difference. -->
deab74
   <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
deab74
+  <xsl:include href="devhelp2.xsl"/>
deab74
   <xsl:include href="version-greater-or-equal.xsl"/>
deab74
 
deab74
-  
deab74
-	   match="glossentry/glossterm"
deab74
-	   use="."/>
deab74
-  
deab74
-	   match="para[@role='gallery']/link"
deab74
-	   use="@linkend"/>
deab74
+  <xsl:key name="acronym.key" match="glossentry/glossterm" use="."/>
deab74
+  <xsl:key name="gallery.key" match="para[@role='gallery']/link" use="@linkend"/>
deab74
 
deab74
   
deab74
   
deab74
+  <xsl:param name="admon.style"/>
deab74
   <xsl:param name="toc.section.depth">2</xsl:param>
deab74
   <xsl:param name="generate.toc">
deab74
     book	toc
deab74
@@ -28,16 +27,17 @@
deab74
     part	toc
deab74
     reference toc
deab74
   </xsl:param>
deab74
+  <xsl:param name="process.empty.source.toc">1</xsl:param>
deab74
 
deab74
   <xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
deab74
   <xsl:param name="chunker.output.indent" select="'yes'"/>
deab74
   <xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
deab74
   <xsl:param name="chunk.fast" select="1"/>
deab74
-  <xsl:param name="chunk.quietly" select="1"/>
deab74
 
deab74
   <xsl:param name="default.encoding" select="'UTF-8'"/>
deab74
   <xsl:param name="chapter.autolabel" select="0"/>
deab74
   <xsl:param name="use.id.as.filename" select="1"/>
deab74
+  <xsl:param name="generate.consistent.ids" select="1"/>
deab74
   <xsl:param name="html.ext" select="'.html'"/>
deab74
   <xsl:param name="refentry.generate.name" select="0"/>
deab74
   <xsl:param name="refentry.generate.title" select="1"/>
deab74
@@ -60,6 +60,9 @@
deab74
   <xsl:param name="gtkdoc.version" select="''"/>
deab74
   <xsl:param name="gtkdoc.bookname" select="''"/>
deab74
 
deab74
+  
deab74
+  <xsl:param name="admon.textlabel" select="0"/>
deab74
+
deab74
   
deab74
 
deab74
   
deab74
@@ -68,12 +71,8 @@
deab74
 
deab74
   <xsl:param name="gtkdoc.l10n.xml" select="document('http://docbook.sourceforge.net/release/xsl/current/common/en.xml')"/>
deab74
 
deab74
-  
deab74
-	   match="l:gentext[@key]"
deab74
-	   use="@key"/>
deab74
-  
deab74
-	   match="l:context[@name]"
deab74
-	   use="@name"/>
deab74
+  <xsl:key name="gtkdoc.gentext.key" match="l:gentext[@key]" use="@key"/>
deab74
+  <xsl:key name="gtkdoc.context.key" match="l:context[@name]" use="@name"/>
deab74
 
deab74
   <xsl:template name="gentext">
deab74
     <xsl:param name="key" select="local-name(.)"/>
deab74
@@ -250,7 +249,6 @@
deab74
         </xsl:if>
deab74
       </xsl:variable>
deab74
 
deab74
-
deab74
       <xsl:variable name="is.title-unnumbered">
deab74
         <xsl:if test="$is.title = 0 and $is.title-numbered = 0">
deab74
           <xsl:call-template name="gentext.template.exists">
deab74
@@ -309,52 +307,8 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
     </xsl:if>
deab74
     <xsl:apply-imports/>
deab74
 
deab74
-    
deab74
-    <xsl:call-template name="generate.index"/>
deab74
-  </xsl:template>
deab74
-
deab74
-  <xsl:template name="generate.index">
deab74
-    <xsl:call-template name="write.text.chunk">
deab74
-      <xsl:with-param name="filename" select="'index.sgml'"/>
deab74
-      <xsl:with-param name="content">
deab74
-        
deab74
-                             mode="generate.index.mode"/>
deab74
-        
deab74
-	
deab74
-	    The obvious way to write this is //anchor|//refentry|etc...
deab74
-	    The obvious way is slow because it causes multiple traversals
deab74
-	    in libxslt. This take about half the time.
deab74
-	-->
deab74
-	
deab74
-				         name() = 'refsect2' or name()='refsynopsisdiv' or
deab74
-					 name()='varlistentry']"
deab74
-                             mode="generate.index.mode"/>
deab74
-      </xsl:with-param>
deab74
-      <xsl:with-param name="default.encoding" select="'UTF-8'"/>
deab74
-      <xsl:with-param name="chunker.output.indent" select="'no'"/>
deab74
-    </xsl:call-template>
deab74
-  </xsl:template>
deab74
-
deab74
-  <xsl:template match="*" mode="generate.index.mode">
deab74
-    <xsl:if test="not(@href) and count(@id) > 0">
deab74
-      <xsl:text><ANCHOR id="</xsl:text>
deab74
-      <xsl:value-of select="@id"/>
deab74
-      <xsl:text>" href="</xsl:text>
deab74
-        <xsl:if test="$gtkdoc.bookname">
deab74
-          <xsl:value-of select="$gtkdoc.bookname"/>
deab74
-          <xsl:text>/</xsl:text>
deab74
-        </xsl:if>
deab74
-        <xsl:call-template name="href.target"/>
deab74
-        <xsl:text>">
</xsl:text>
deab74
-    </xsl:if>
deab74
-  </xsl:template>
deab74
-
deab74
-  <xsl:template match="/book/bookinfo/releaseinfo/ulink" mode="generate.index.mode">
deab74
-    <xsl:if test="@role='online-location'">
deab74
-      <xsl:text><ONLINE href="</xsl:text>
deab74
-      <xsl:value-of select="@url"/>
deab74
-      <xsl:text>">
</xsl:text>
deab74
-    </xsl:if>
deab74
+    
deab74
+    <xsl:call-template name="generate.devhelp2"/>
deab74
   </xsl:template>
deab74
 
deab74
   
deab74
@@ -387,6 +341,15 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
     <xsl:apply-imports/>
deab74
   </xsl:template>
deab74
 
deab74
+  <xsl:template name="user.head.title">
deab74
+   <xsl:param name="node" select="."/>
deab74
+   <xsl:param name="title"/>
deab74
+   <xsl:variable name="home" select="/*[1]"/>
deab74
+   <title>
deab74
+     <xsl:copy-of select="$title"/>: <xsl:apply-templates select="$home" mode="object.title.markup"/>
deab74
+   </title>
deab74
+  </xsl:template>
deab74
+
deab74
   <xsl:template name="user.head.content">
deab74
     <xsl:if test="$gtkdoc.version">
deab74
       <meta name="generator" content="GTK-Doc V{$gtkdoc.version} (XML mode)"/>
deab74
@@ -399,10 +362,10 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
       
deab74
       <xsl:choose>
deab74
         <xsl:when test="$gtkdoc.version">
deab74
-          Generated by GTK-Doc V<xsl:copy-of select="$gtkdoc.version" />
deab74
+          <xsl:text>Generated by GTK-Doc V</xsl:text><xsl:copy-of select="$gtkdoc.version" />
deab74
         </xsl:when>
deab74
         <xsl:otherwise>
deab74
-          Generated by GTK-Doc
deab74
+          <xsl:text>Generated by GTK-Doc</xsl:text>
deab74
         </xsl:otherwise>
deab74
       </xsl:choose>
deab74
     
deab74
@@ -451,21 +414,119 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
 
deab74
     <xsl:if test="$suppress.navigation = '0' and $home != .">
deab74
       
deab74
-             summary = "Navigation header" cellpadding="2" cellspacing="2">
deab74
+             summary = "Navigation header" cellpadding="2" cellspacing="5">
deab74
         
deab74
+          
deab74
+            
deab74
+            <xsl:choose>
deab74
+              <xsl:when test="count($refsections) > 0">
deab74
+                Top
deab74
+                <xsl:if test="count($sect_desc) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='desc']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_object_hierarchy) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='object_hierarchy']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_impl_interfaces) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='impl_interfaces']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_prerequisites) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='prerequisites']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_derived_interfaces) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='derived_interfaces']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_implementations) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='implementations']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_properties) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='properties']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_child_properties) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='child_properties']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_style_properties) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='style_properties']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+                <xsl:if test="count($sect_signal_proto) > 0">
deab74
+                    | 
deab74
+                  
deab74
+                    <xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
deab74
+                  
deab74
+                </xsl:if>
deab74
+              </xsl:when>
deab74
+              
deab74
+                   elements having a anchor element. maybe we can customize the xsl
deab74
+                   to automaticaly create local anchors
deab74
+              -->
deab74
+              <xsl:when test="count($glssections) > 0">
deab74
+                
deab74
+                <xsl:for-each select="./glossdiv">
deab74
+                  <xsl:if test="position() > 1">
deab74
+                     | 
deab74
+                  </xsl:if>
deab74
+                  
deab74
+                    <xsl:attribute name="href">#gls<xsl:value-of select="./title"/></xsl:attribute>
deab74
+                    <xsl:value-of select="./title"/>
deab74
+                  
deab74
+                </xsl:for-each>
deab74
+                
deab74
+              </xsl:when>
deab74
+              <xsl:when test="count($idxsections) > 0">
deab74
+                
deab74
+                <xsl:for-each select="./indexdiv/indexdiv">
deab74
+                  <xsl:if test="position() > 1">
deab74
+                     | 
deab74
+                  </xsl:if>
deab74
+                  
deab74
+                    <xsl:attribute name="href">#idx<xsl:value-of select="./title"/></xsl:attribute>
deab74
+                    <xsl:value-of select="./title"/>
deab74
+                  
deab74
+                </xsl:for-each>
deab74
+                
deab74
+              </xsl:when>
deab74
+            </xsl:choose>
deab74
+          
deab74
           <xsl:choose>
deab74
-            <xsl:when test="count($prev) > 0">
deab74
+            <xsl:when test="$home != .">
deab74
               
deab74
-                
deab74
+                
deab74
                   <xsl:attribute name="href">
deab74
                     <xsl:call-template name="href.target">
deab74
-                      <xsl:with-param name="object" select="$prev"/>
deab74
+                      <xsl:with-param name="object" select="$home"/>
deab74
                     </xsl:call-template>
deab74
                   </xsl:attribute>
deab74
-                  
deab74
+                  
deab74
                     <xsl:attribute name="alt">
deab74
                       <xsl:call-template name="gentext">
deab74
-                        <xsl:with-param name="key">nav-prev</xsl:with-param>
deab74
+                        <xsl:with-param name="key">nav-home</xsl:with-param>
deab74
                       </xsl:call-template>
deab74
                     </xsl:attribute>
deab74
                   
deab74
@@ -485,7 +546,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
                       <xsl:with-param name="object" select="$up"/>
deab74
                     </xsl:call-template>
deab74
                   </xsl:attribute>
deab74
-                  
deab74
+                  
deab74
                     <xsl:attribute name="alt">
deab74
                       <xsl:call-template name="gentext">
deab74
                         <xsl:with-param name="key">nav-up</xsl:with-param>
deab74
@@ -496,22 +557,22 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
               
deab74
             </xsl:when>
deab74
             <xsl:otherwise>
deab74
-               
deab74
+              
deab74
             </xsl:otherwise>
deab74
           </xsl:choose>
deab74
           <xsl:choose>
deab74
-            <xsl:when test="$home != .">
deab74
+            <xsl:when test="count($prev) > 0">
deab74
               
deab74
-                
deab74
+                
deab74
                   <xsl:attribute name="href">
deab74
                     <xsl:call-template name="href.target">
deab74
-                      <xsl:with-param name="object" select="$home"/>
deab74
+                      <xsl:with-param name="object" select="$prev"/>
deab74
                     </xsl:call-template>
deab74
                   </xsl:attribute>
deab74
-                  
deab74
+                  
deab74
                     <xsl:attribute name="alt">
deab74
                       <xsl:call-template name="gentext">
deab74
-                        <xsl:with-param name="key">nav-home</xsl:with-param>
deab74
+                        <xsl:with-param name="key">nav-prev</xsl:with-param>
deab74
                       </xsl:call-template>
deab74
                     </xsl:attribute>
deab74
                   
deab74
@@ -519,12 +580,9 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
               
deab74
             </xsl:when>
deab74
             <xsl:otherwise>
deab74
-               
deab74
+              
deab74
             </xsl:otherwise>
deab74
           </xsl:choose>
deab74
-          
deab74
-            <xsl:apply-templates select="$home" mode="object.title.markup"/>
deab74
-          
deab74
           <xsl:choose>
deab74
             <xsl:when test="count($next) > 0">
deab74
               
deab74
@@ -534,7 +592,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
                       <xsl:with-param name="object" select="$next"/>
deab74
                     </xsl:call-template>
deab74
                   </xsl:attribute>
deab74
-                  
deab74
+                  
deab74
                     <xsl:attribute name="alt">
deab74
                       <xsl:call-template name="gentext">
deab74
                         <xsl:with-param name="key">nav-next</xsl:with-param>
deab74
@@ -545,148 +603,10 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
               
deab74
             </xsl:when>
deab74
             <xsl:otherwise>
deab74
-               
deab74
+              
deab74
             </xsl:otherwise>
deab74
           </xsl:choose>
deab74
         
deab74
-        
deab74
-        <xsl:choose>
deab74
-          <xsl:when test="count($refsections) > 0">
deab74
-            
deab74
-              
deab74
-                <xsl:if test="count($sect_synopsis) > 0">
deab74
-                  Top
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_desc) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='desc']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_object_hierarchy) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='object_hierarchy']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_impl_interfaces) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='impl_interfaces']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_prerequisites) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='prerequisites']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_derived_interfaces) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='derived_interfaces']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_implementations) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='implementations']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_properties) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='properties']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_child_properties) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='child_properties']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_style_properties) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='style_properties']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_signal_proto) > 0">
deab74
-                   | 
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
deab74
-                  
deab74
-                </xsl:if>
deab74
-                
deab74
-                <xsl:if test="count($sect_details) > 0">
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@id='details']/title"/>
deab74
-                  
deab74
-                   | 
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_property_details) > 0">
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@id='property_details']/title"/>
deab74
-                  
deab74
-                   | 
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_child_property_details) > 0">
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@id='property_child_details']/title"/>
deab74
-                  
deab74
-                   | 
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_style_property_details) > 0">
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@id='style_property_details']/title"/>
deab74
-                  
deab74
-                   | 
deab74
-                </xsl:if>
deab74
-                <xsl:if test="count($sect_signals) > 0">
deab74
-                  
deab74
-                    <xsl:value-of select="./refsect1[@id='signals']/title"/>
deab74
-                  
deab74
-                   | 
deab74
-                </xsl:if>
deab74
-                -->
deab74
-              
deab74
-            
deab74
-          </xsl:when>
deab74
-          
deab74
-          elements having a anchor element. maybe we can customize the xsl
deab74
-          to automaticaly create local anchors
deab74
-          -->
deab74
-          <xsl:when test="count($glssections) > 0">
deab74
-            
deab74
-              
deab74
-                 <xsl:for-each select="./glossdiv">
deab74
-                   <xsl:if test="position() > 1">
deab74
-                      | 
deab74
-                   </xsl:if>
deab74
-                   
deab74
-                     <xsl:attribute name="href">#gls<xsl:value-of select="./title"/></xsl:attribute>
deab74
-                     <xsl:value-of select="./title"/>
deab74
-                   
deab74
-                 </xsl:for-each>
deab74
-              
deab74
-            
deab74
-          </xsl:when>
deab74
-          <xsl:when test="count($idxsections) > 0">
deab74
-            
deab74
-              
deab74
-                 <xsl:for-each select="./indexdiv/indexdiv">
deab74
-                   <xsl:if test="position() > 1">
deab74
-                      | 
deab74
-                   </xsl:if>
deab74
-                   
deab74
-                     <xsl:attribute name="href">#idx<xsl:value-of select="./title"/></xsl:attribute>
deab74
-                     <xsl:value-of select="./title"/>
deab74
-                   
deab74
-                 </xsl:for-each>
deab74
-              
deab74
-            
deab74
-          </xsl:when>
deab74
-        </xsl:choose>
deab74
       
deab74
     </xsl:if>
deab74
   </xsl:template>
deab74
@@ -758,32 +678,32 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
       
deab74
         
deab74
           <xsl:call-template name="anchor"/>
deab74
-            <xsl:choose>
deab74
-              <xsl:when test="$refentry.generate.name != 0">
deab74
-                

deab74
-                <xsl:call-template name="gentext">
deab74
-                    <xsl:with-param name="key" select="'RefName'"/>
deab74
-                  </xsl:call-template>
deab74
-                
deab74
-              </xsl:when>
deab74
-              <xsl:when test="$refentry.generate.title != 0">
deab74
-                

deab74
-                  <xsl:choose>
deab74
-                    <xsl:when test="../refmeta/refentrytitle">
deab74
-                      <xsl:apply-templates select="../refmeta/refentrytitle"/>
deab74
-                    </xsl:when>
deab74
-                    <xsl:otherwise>
deab74
-                      <xsl:apply-templates select="refname[1]"/>
deab74
-                    </xsl:otherwise>
deab74
-                  </xsl:choose>
deab74
-                
deab74
-              </xsl:when>
deab74
-            </xsl:choose>
deab74
-            

deab74
+          <xsl:choose>
deab74
+            <xsl:when test="$refentry.generate.name != 0">
deab74
+              

deab74
+              <xsl:call-template name="gentext">
deab74
+                  <xsl:with-param name="key" select="'RefName'"/>
deab74
+                </xsl:call-template>
deab74
+              
deab74
+            </xsl:when>
deab74
+            <xsl:when test="$refentry.generate.title != 0">
deab74
+              

deab74
+                <xsl:choose>
deab74
+                  <xsl:when test="../refmeta/refentrytitle">
deab74
+                    <xsl:apply-templates select="../refmeta/refentrytitle"/>
deab74
+                  </xsl:when>
deab74
+                  <xsl:otherwise>
deab74
+                    <xsl:apply-templates select="refname[1]"/>
deab74
+                  </xsl:otherwise>
deab74
+                </xsl:choose>
deab74
+              
deab74
+            </xsl:when>
deab74
+          </xsl:choose>
deab74
+          

deab74
             <xsl:apply-templates/>
deab74
           

deab74
         
deab74
-        
deab74
+        
deab74
           <xsl:choose>
deab74
             <xsl:when test="../refmeta/refmiscinfo/inlinegraphic">
deab74
               <xsl:apply-templates select="../refmeta/refmiscinfo/inlinegraphic"/>
deab74
@@ -795,7 +715,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
                    - use it here
deab74
                 -->
deab74
               <xsl:variable name="refentryid" select="../@id"/>
deab74
-	      <xsl:apply-templates select="key('gallery.key', $refentryid)/inlinegraphic"/>
deab74
+              <xsl:apply-templates select="key('gallery.key', $refentryid)/inlinegraphic"/>
deab74
             </xsl:otherwise>
deab74
           </xsl:choose>
deab74
         
deab74
@@ -803,6 +723,21 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
      
deab74
   </xsl:template>
deab74
 
deab74
+  
deab74
+       see bug/729911, https://sourceforge.net/p/docbook/bugs/1358/
deab74
+       fixed in: https://sourceforge.net/p/docbook/code/9962/
deab74
+  -->
deab74
+  <xsl:template match="refpurpose" mode="no.anchor.mode">
deab74
+    <xsl:if test="node()">
deab74
+      <xsl:text> </xsl:text>
deab74
+      <xsl:call-template name="dingbat">
deab74
+        <xsl:with-param name="dingbat">em-dash</xsl:with-param>
deab74
+      </xsl:call-template>
deab74
+      <xsl:text> </xsl:text>
deab74
+      <xsl:apply-templates mode="no.anchor.mode"/>
deab74
+    </xsl:if>
deab74
+  </xsl:template>
deab74
+
deab74
   
deab74
   <xsl:template match="indexdiv">
deab74
     <xsl:attribute name="name">idx<xsl:value-of select="./title"/></xsl:attribute>
deab74
@@ -825,12 +760,12 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
       
deab74
         <xsl:for-each select="../ulink[@role='extralinks']">
deab74
           <xsl:if test="position() = 1">[ </xsl:if>
deab74
-          <xsl:if test="position() > 1"> | </xsl:if>
deab74
+          <xsl:if test="position() > 1">  | </xsl:if>
deab74
           
deab74
             <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
deab74
             <xsl:copy-of select="text()" />
deab74
           
deab74
-          <xsl:if test="position() = last()"> ]</xsl:if>
deab74
+          <xsl:if test="position() = last()">  ]</xsl:if>
deab74
         </xsl:for-each>
deab74
       
deab74
     </xsl:if>
deab74
@@ -861,11 +796,6 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
     <xsl:param name="acronym">
deab74
       <xsl:apply-templates/>
deab74
     </xsl:param>
deab74
-    
deab74
-      We use for-each to change context to the database document because key()
deab74
-      only locates elements in the same document as the context node!
deab74
-    -->
deab74
-
deab74
     <xsl:param name="value" >
deab74
       <xsl:value-of select="key('acronym.key', $acronym)/../glossdef/para[1]" />
deab74
     </xsl:param>
deab74
@@ -878,7 +808,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
deab74
         
deab74
           <xsl:attribute name="href">
deab74
             <xsl:text>http://foldoc.org/</xsl:text>
deab74
-	        <xsl:value-of select="$acronym"/>
deab74
+	          <xsl:value-of select="$acronym"/>
deab74
           </xsl:attribute>
deab74
           <xsl:call-template name="inline.charseq"/>
deab74
         
deab74
diff --git a/doc/manual/realm.xml b/doc/manual/realm.xml
deab74
index 9d9136a..7b73331 100644
deab74
--- a/doc/manual/realm.xml
deab74
+++ b/doc/manual/realm.xml
deab74
@@ -49,7 +49,7 @@
deab74
 	</cmdsynopsis>
deab74
 </refsynopsisdiv>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-description">
deab74
 	<title>Description</title>
deab74
 	<para><command>realm</command> is a command line tool that
deab74
 	can be used to manage enrollment in kerberos realms, like Active
deab74
@@ -81,7 +81,7 @@
deab74
 
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-discover">
deab74
 	<title>Discover</title>
deab74
 
deab74
 	<para>Discover a realm and its capabilities.</para>
deab74
@@ -138,7 +138,7 @@ $ realm discover domain.example.com
deab74
 
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-join">
deab74
 	<title>Join</title>
deab74
 
deab74
 	<para>Configure the local machine for use with a realm.</para>
deab74
@@ -263,7 +263,7 @@ $ realm join --user=admin --computer-ou=OU=Special domain.example.com
deab74
 
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-leave">
deab74
 	<title>Leave</title>
deab74
 
deab74
 	<para>Deconfigure the local machine for use with a realm.</para>
deab74
@@ -313,7 +313,7 @@ $ realm leave domain.example.com
deab74
 
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-list">
deab74
 	<title>List</title>
deab74
 
deab74
 	<para>List all the discovered and configured realms.</para>
deab74
@@ -345,7 +345,7 @@ $ realm list
deab74
 	</variablelist>
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-permit">
deab74
 	<title>Permit</title>
deab74
 
deab74
 	<para>Permit local login by users of the realm.</para>
deab74
@@ -392,7 +392,7 @@ $ realm permit --withdraw user@example.com
deab74
 
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="man-deny">
deab74
 	<title>Deny</title>
deab74
 
deab74
 	<para>Deny local login by realm accounts.</para>
deab74
diff --git a/doc/manual/realmd-guide-active-directory.xml b/doc/manual/realmd-guide-active-directory.xml
deab74
index 362cf94..c88e8af 100644
deab74
--- a/doc/manual/realmd-guide-active-directory.xml
deab74
+++ b/doc/manual/realmd-guide-active-directory.xml
deab74
@@ -69,7 +69,7 @@ $ <command>realm discover --verbose domain.example.com</command>
deab74
 		<ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html">Winbind</ulink>.
deab74
 		By default SSSD is used.</para>
deab74
 
deab74
-		<section>
deab74
+		<section id="using-sssd-with-active-directory">
deab74
 			<title>Using SSSD with Active Directory</title>
deab74
 			<para><ulink url="https://fedorahosted.org/sssd/">SSSD</ulink>
deab74
 			provides client software for various kerberos and/or LDAP
deab74
@@ -91,7 +91,7 @@ $ <command>realm join --client-software=sssd domain.example.com</command>
deab74
 			</informalexample>
deab74
 		</section>
deab74
 
deab74
-		<section>
deab74
+		<section id="using-winbind-with-active-directory">
deab74
 			<title>Using Winbind with Active Directory</title>
deab74
 			<para>Samba
deab74
 			<ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html">Winbind</ulink>
deab74
diff --git a/doc/manual/realmd-guide-ipa.xml b/doc/manual/realmd-guide-ipa.xml
deab74
index bba6504..c3ad450 100644
deab74
--- a/doc/manual/realmd-guide-ipa.xml
deab74
+++ b/doc/manual/realmd-guide-ipa.xml
deab74
@@ -13,7 +13,7 @@
deab74
 	users locally, and log into the local machine with IPA domain
deab74
 	credentials.</para>
deab74
 
deab74
-	<section>
deab74
+	<section id="discovering-ipa-domains">
deab74
 		<title>Discovering IPA domains</title>
deab74
 		<para><command>realmd</command> discovers which domains or
deab74
 		realms it can use or configure. It can discover and identify
deab74
diff --git a/doc/manual/realmd-guide-kerberos.xml b/doc/manual/realmd-guide-kerberos.xml
deab74
index a57e964..5b9d4b1 100644
deab74
--- a/doc/manual/realmd-guide-kerberos.xml
deab74
+++ b/doc/manual/realmd-guide-kerberos.xml
deab74
@@ -12,7 +12,7 @@
deab74
 	Since there is no standard way to enroll a computer against a Kerberos
deab74
 	server, it is not possible to do this with <command>realmd</command>.</para>
deab74
 
deab74
-	<section>
deab74
+	<section id="discovering-kerberos-realms">
deab74
 		<title>Discovering Kerberos realms</title>
deab74
 		<para><command>realmd</command> discovers which domains or
deab74
 		realms it can use or configure. It can discover and identify
deab74
diff --git a/doc/manual/realmd.conf.xml b/doc/manual/realmd.conf.xml
deab74
index a2b577c..f0b0879 100644
deab74
--- a/doc/manual/realmd.conf.xml
deab74
+++ b/doc/manual/realmd.conf.xml
deab74
@@ -28,7 +28,7 @@
deab74
 	<refpurpose>Tweak behavior of realmd</refpurpose>
deab74
 </refnamediv>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="realmd-conf-file">
deab74
 	<title>Configuration File</title>
deab74
 
deab74
 	<para><command>realmd</command> can be tweaked by network administrators
deab74
@@ -297,7 +297,7 @@ DOMAIN\user:*:13445:13446:Name:/home/DOMAIN/user:/bin/bash
deab74
 
deab74
 </refsect1>
deab74
 
deab74
-<refsect1>
deab74
+<refsect1 id="realmd-conf-specific-settings">
deab74
 	<title>Realm specific settings</title>
deab74
 	<para>These options should go in an section with the same name
deab74
 	as the realm in the <filename>/etc/realmd.conf</filename> file.
deab74
diff --git a/doc/manual/static/gtk-doc.css b/doc/manual/static/gtk-doc.css
deab74
index 5618926..af6ce9c 100644
deab74
--- a/doc/manual/static/gtk-doc.css
deab74
+++ b/doc/manual/static/gtk-doc.css
deab74
@@ -1,15 +1,23 @@
deab74
+body
deab74
+{
deab74
+  font-family: cantarell, sans-serif;
deab74
+}
deab74
 .synopsis, .classsynopsis
deab74
 {
deab74
   /* tango:aluminium 1/2 */
deab74
   background: #eeeeec;
deab74
-  border: solid 1px #d3d7cf;
deab74
+  background: rgba(238, 238, 236, 0.5);
deab74
+  border: solid 1px rgb(238, 238, 236);
deab74
   padding: 0.5em;
deab74
 }
deab74
 .programlisting
deab74
 {
deab74
   /* tango:sky blue 0/1 */
deab74
+  /* fallback for no rgba support */
deab74
   background: #e6f3ff;
deab74
   border: solid 1px #729fcf;
deab74
+  background: rgba(114, 159, 207, 0.1);
deab74
+  border: solid 1px rgba(114, 159, 207, 0.2);
deab74
   padding: 0.5em;
deab74
 }
deab74
 .variablelist
deab74
@@ -22,86 +30,8 @@
deab74
   vertical-align: top;
deab74
 }
deab74
 
deab74
-@media screen {
deab74
-  sup a.footnote
deab74
-  {
deab74
-    position: relative;
deab74
-    top: 0em ! important;
deab74
-  }
deab74
-  /* this is needed so that the local anchors are displayed below the naviagtion */
deab74
-  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
deab74
-  {
deab74
-    display: inline-block;
deab74
-    position: relative;
deab74
-    top:-5em;
deab74
-  }
deab74
-  /* this seems to be a bug in the xsl style sheets when generating indexes */
deab74
-  div.index div.index
deab74
-  {
deab74
-    top: 0em;
deab74
-  }
deab74
-  /* make space for the fixed navigation bar and add space at the bottom so that
deab74
-   * link targets appear somewhat close to top
deab74
-   */
deab74
-  body
deab74
-  {
deab74
-    padding-top: 3.2em;
deab74
-    padding-bottom: 20em;
deab74
-  }
deab74
-  /* style and size the navigation bar */
deab74
-  table.navigation#top
deab74
-  {
deab74
-    position: fixed;
deab74
-    /* tango:scarlet red 0/1 */
deab74
-    background: #ffe6e6;
deab74
-    border: solid 1px #ef2929;
deab74
-    margin-top: 0;
deab74
-    margin-bottom: 0;
deab74
-    top: 0;
deab74
-    left: 0;
deab74
-    height: 3em;
deab74
-    z-index: 10;
deab74
-  }
deab74
-  .navigation a, .navigation a:visited
deab74
-  {
deab74
-    /* tango:scarlet red 3 */
deab74
-    color: #a40000;
deab74
-  }
deab74
-  .navigation a:hover
deab74
-  {
deab74
-    /* tango:scarlet red 1 */
deab74
-    color: #ef2929;
deab74
-  }
deab74
-  td.shortcuts
deab74
-  {
deab74
-    /* tango:scarlet red 1 */
deab74
-    color: #ef2929;
deab74
-    font-size: 80%;
deab74
-    white-space: nowrap;
deab74
-  }
deab74
-}
deab74
-@media print {
deab74
-  table.navigation {
deab74
-    visibility: collapse;
deab74
-    display: none;
deab74
-  }
deab74
-  div.titlepage table.navigation {
deab74
-    visibility: visible;
deab74
-    display: table;
deab74
-    /* tango:scarlet red 0/1 */
deab74
-    background: #ffe6e6;
deab74
-    border: solid 1px #ef2929;
deab74
-    margin-top: 0;
deab74
-    margin-bottom: 0;
deab74
-    top: 0;
deab74
-    left: 0;
deab74
-    height: 3em;
deab74
-  }
deab74
-}
deab74
-
deab74
-.navigation .title
deab74
-{
deab74
-  font-size: 200%;
deab74
+span.nowrap {
deab74
+  white-space: nowrap;
deab74
 }
deab74
 
deab74
 div.gallery-float
deab74
@@ -131,6 +61,72 @@ a:hover
deab74
   color: #729fcf;
deab74
 }
deab74
 
deab74
+div.informaltable table
deab74
+{
deab74
+  border-collapse: separate;
deab74
+  border-spacing: 1em 0.3em;
deab74
+  border: none;
deab74
+}
deab74
+
deab74
+div.informaltable table td, div.informaltable table th
deab74
+{
deab74
+  vertical-align: top;
deab74
+}
deab74
+
deab74
+.function_type,
deab74
+.variable_type,
deab74
+.property_type,
deab74
+.signal_type,
deab74
+.parameter_name,
deab74
+.struct_member_name,
deab74
+.union_member_name,
deab74
+.define_keyword,
deab74
+.datatype_keyword,
deab74
+.typedef_keyword
deab74
+{
deab74
+  text-align: right;
deab74
+}
deab74
+
deab74
+/* dim non-primary columns */
deab74
+.c_punctuation,
deab74
+.function_type,
deab74
+.variable_type,
deab74
+.property_type,
deab74
+.signal_type,
deab74
+.define_keyword,
deab74
+.datatype_keyword,
deab74
+.typedef_keyword,
deab74
+.property_flags,
deab74
+.signal_flags,
deab74
+.parameter_annotations,
deab74
+.enum_member_annotations,
deab74
+.struct_member_annotations,
deab74
+.union_member_annotations
deab74
+{
deab74
+  color: #888a85;
deab74
+}
deab74
+
deab74
+.function_type a,
deab74
+.function_type a:visited,
deab74
+.function_type a:hover,
deab74
+.property_type a,
deab74
+.property_type a:visited,
deab74
+.property_type a:hover,
deab74
+.signal_type a,
deab74
+.signal_type a:visited,
deab74
+.signal_type a:hover,
deab74
+.signal_flags a,
deab74
+.signal_flags a:visited,
deab74
+.signal_flags a:hover
deab74
+{
deab74
+ color: #729fcf;
deab74
+}
deab74
+
deab74
+td p
deab74
+{
deab74
+  margin: 0.25em;
deab74
+}
deab74
+
deab74
 div.table table
deab74
 {
deab74
   border-collapse: collapse;
deab74
@@ -153,14 +149,44 @@ div.table table th
deab74
   background-color: #d3d7cf;
deab74
 }
deab74
 
deab74
+h4
deab74
+{
deab74
+  color: #555753;
deab74
+  margin-top: 1em;
deab74
+  margin-bottom: 1em;
deab74
+}
deab74
+
deab74
 hr
deab74
 {
deab74
-  /* tango:aluminium 3 */
deab74
-  color: #babdb6;
deab74
-  background: #babdb6;
deab74
+  /* tango:aluminium 1 */
deab74
+  color: #d3d7cf;
deab74
+  background: #d3d7cf;
deab74
   border: none 0px;
deab74
   height: 1px;
deab74
   clear: both;
deab74
+  margin: 2.0em 0em 2.0em 0em;
deab74
+}
deab74
+
deab74
+dl.toc dt
deab74
+{
deab74
+  padding-bottom: 0.25em;
deab74
+}
deab74
+
deab74
+dl.toc > dt
deab74
+{
deab74
+  padding-top: 0.25em;
deab74
+  padding-bottom: 0.25em;
deab74
+  font-weight: bold;
deab74
+}
deab74
+
deab74
+dl.toc > dl
deab74
+{
deab74
+  padding-bottom: 0.5em;
deab74
+}
deab74
+
deab74
+.parameter
deab74
+{
deab74
+  font-style: normal;
deab74
 }
deab74
 
deab74
 .footer
deab74
@@ -172,31 +198,70 @@ hr
deab74
   font-size: 80%;
deab74
 }
deab74
 
deab74
+.informalfigure,
deab74
+.figure
deab74
+{
deab74
+  margin: 1em;
deab74
+}
deab74
+
deab74
+.informalexample,
deab74
+.example
deab74
+{
deab74
+  margin-top: 1em;
deab74
+  margin-bottom: 1em;
deab74
+}
deab74
+
deab74
 .warning
deab74
 {
deab74
   /* tango:orange 0/1 */
deab74
   background: #ffeed9;
deab74
+  background: rgba(252, 175, 62, 0.1);
deab74
   border-color: #ffb04f;
deab74
+  border-color: rgba(252, 175, 62, 0.2);
deab74
 }
deab74
 .note
deab74
 {
deab74
   /* tango:chameleon 0/0.5 */
deab74
   background: #d8ffb2;
deab74
+  background: rgba(138, 226, 52, 0.1);
deab74
   border-color: #abf562;
deab74
+  border-color: rgba(138, 226, 52, 0.2);
deab74
 }
deab74
-.note, .warning
deab74
+div.blockquote
deab74
+{
deab74
+  border-color: #eeeeec;
deab74
+}
deab74
+.note, .warning, div.blockquote
deab74
 {
deab74
   padding: 0.5em;
deab74
   border-width: 1px;
deab74
   border-style: solid;
deab74
+  margin: 2em;
deab74
 }
deab74
-.note h3, .warning h3
deab74
+.note p, .warning p
deab74
 {
deab74
-  margin-top: 0.0em
deab74
+  margin: 0;
deab74
 }
deab74
-.note p, .warning p
deab74
+
deab74
+div.warning h3.title,
deab74
+div.note h3.title
deab74
+{
deab74
+  display: none;
deab74
+}
deab74
+
deab74
+p + div.section
deab74
+{
deab74
+  margin-top: 1em;
deab74
+}
deab74
+
deab74
+div.refnamediv,
deab74
+div.refsynopsisdiv,
deab74
+div.refsect1,
deab74
+div.refsect2,
deab74
+div.toc,
deab74
+div.section
deab74
 {
deab74
-  margin-bottom: 0.0em
deab74
+  margin-bottom: 1em;
deab74
 }
deab74
 
deab74
 /* blob links */
deab74
@@ -209,33 +274,52 @@ h2 .extralinks, h3 .extralinks
deab74
   font-weight: normal;
deab74
 }
deab74
 
deab74
+.lineart
deab74
+{
deab74
+  color: #d3d7cf;
deab74
+  font-weight: normal;
deab74
+}
deab74
+
deab74
 .annotation
deab74
 {
deab74
   /* tango:aluminium 5 */
deab74
   color: #555753;
deab74
-  font-size: 80%;
deab74
   font-weight: normal;
deab74
 }
deab74
 
deab74
+.structfield
deab74
+{
deab74
+  font-style: normal;
deab74
+  font-weight: normal;
deab74
+}
deab74
+
deab74
+acronym,abbr
deab74
+{
deab74
+  border-bottom: 1px dotted gray;
deab74
+}
deab74
+
deab74
 /* code listings */
deab74
 
deab74
-.listing_code .programlisting .cbracket   { color: #a40000; } /* tango: scarlet red 3 */
deab74
-.listing_code .programlisting .comment    { color: #a1a39d; } /* tango: aluminium 4 */
deab74
-.listing_code .programlisting .function   { color: #000000; font-weight: bold; }
deab74
-.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
deab74
-.listing_code .programlisting .keyword    { color: #4e9a06; } /* tango: chameleon 3  */
deab74
+.listing_code .programlisting .normal,
deab74
+.listing_code .programlisting .normal a,
deab74
+.listing_code .programlisting .number,
deab74
+.listing_code .programlisting .cbracket,
deab74
+.listing_code .programlisting .symbol     { color: #555753; }
deab74
+.listing_code .programlisting .comment,
deab74
 .listing_code .programlisting .linenum    { color: #babdb6; } /* tango: aluminium 3 */
deab74
-.listing_code .programlisting .normal     { color: #000000; }
deab74
-.listing_code .programlisting .number     { color: #75507b; } /* tango: plum 2 */
deab74
+.listing_code .programlisting .function,
deab74
+.listing_code .programlisting .function a,
deab74
 .listing_code .programlisting .preproc    { color: #204a87; } /* tango: sky blue 3  */
deab74
-.listing_code .programlisting .string     { color: #c17d11; } /* tango: chocolate 2 */
deab74
-.listing_code .programlisting .type       { color: #000000; }
deab74
-.listing_code .programlisting .type a     { color: #11326b; } /* tango: sky blue 4 */
deab74
-.listing_code .programlisting .symbol     { color: #ce5c00; } /* tango: orange 3 */
deab74
+.listing_code .programlisting .string     { color: #ad7fa8; } /* tango: plum */
deab74
+.listing_code .programlisting .keyword,
deab74
+.listing_code .programlisting .usertype,
deab74
+.listing_code .programlisting .type,
deab74
+.listing_code .programlisting .type a     { color: #4e9a06; } /* tango: chameleon 3  */
deab74
 
deab74
 .listing_frame {
deab74
   /* tango:sky blue 1 */
deab74
   border: solid 1px #729fcf;
deab74
+  border: solid 1px rgba(114, 159, 207, 0.2);
deab74
   padding: 0px;
deab74
 }
deab74
 
deab74
@@ -247,18 +331,152 @@ h2 .extralinks, h3 .extralinks
deab74
 .listing_lines {
deab74
   /* tango:sky blue 0.5 */
deab74
   background: #a6c5e3;
deab74
+  background: rgba(114, 159, 207, 0.2);
deab74
   /* tango:aluminium 6 */
deab74
   color: #2e3436;
deab74
 }
deab74
 .listing_code {
deab74
   /* tango:sky blue 0 */
deab74
   background: #e6f3ff;
deab74
+  background: rgba(114, 159, 207, 0.1);
deab74
 }
deab74
 .listing_code .programlisting {
deab74
   /* override from previous */
deab74
   border: none 0px;
deab74
   padding: 0px;
deab74
+  background: none;
deab74
 }
deab74
 .listing_lines pre, .listing_code pre {
deab74
   margin: 0px;
deab74
 }
deab74
+
deab74
+@media screen {
deab74
+  /* these have a <sup> as a first child, but since there are no parent selectors
deab74
+   * we can't use that. */
deab74
+  a.footnote
deab74
+  {
deab74
+    position: relative;
deab74
+    top: 0em ! important;
deab74
+  }
deab74
+  /* this is needed so that the local anchors are displayed below the naviagtion */
deab74
+  div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
deab74
+  {
deab74
+    display: inline-block;
deab74
+    position: relative;
deab74
+    top:-5em;
deab74
+  }
deab74
+  /* this seems to be a bug in the xsl style sheets when generating indexes */
deab74
+  div.index div.index
deab74
+  {
deab74
+    top: 0em;
deab74
+  }
deab74
+  /* make space for the fixed navigation bar and add space at the bottom so that
deab74
+   * link targets appear somewhat close to top
deab74
+   */
deab74
+  body
deab74
+  {
deab74
+    padding-top: 2.5em;
deab74
+    padding-bottom: 500px;
deab74
+    max-width: 60em;
deab74
+  }
deab74
+  p
deab74
+  {
deab74
+    max-width: 60em;
deab74
+  }
deab74
+  /* style and size the navigation bar */
deab74
+  table.navigation#top
deab74
+  {
deab74
+    position: fixed;
deab74
+    background: #e2e2e2;
deab74
+    border-bottom: solid 1px #babdb6;
deab74
+    border-spacing: 5px;
deab74
+    margin-top: 0;
deab74
+    margin-bottom: 0;
deab74
+    top: 0;
deab74
+    left: 0;
deab74
+    z-index: 10;
deab74
+  }
deab74
+  table.navigation#top td
deab74
+  {
deab74
+    padding-left: 6px;
deab74
+    padding-right: 6px;
deab74
+  }
deab74
+  .navigation a, .navigation a:visited
deab74
+  {
deab74
+    /* tango:sky blue 3 */
deab74
+    color: #204a87;
deab74
+  }
deab74
+  .navigation a:hover
deab74
+  {
deab74
+    /* tango:sky blue 2 */
deab74
+    color: #3465a4;
deab74
+  }
deab74
+  td.shortcuts
deab74
+  {
deab74
+    /* tango:sky blue 2 */
deab74
+    color: #3465a4;
deab74
+    font-size: 80%;
deab74
+    white-space: nowrap;
deab74
+  }
deab74
+  td.shortcuts .dim
deab74
+  {
deab74
+    color: #babdb6;
deab74
+  }
deab74
+  .navigation .title
deab74
+  {
deab74
+    font-size: 80%;
deab74
+    max-width: none;
deab74
+    margin: 0px;
deab74
+    font-weight: normal;
deab74
+  }
deab74
+}
deab74
+@media screen and (min-width: 60em) {
deab74
+  /* screen larger than 60em */
deab74
+  body { margin: auto; }
deab74
+}
deab74
+@media screen and (max-width: 60em) {
deab74
+  /* screen less than 60em */
deab74
+  #nav_hierarchy { display: none; }
deab74
+  #nav_interfaces { display: none; }
deab74
+  #nav_prerequisites { display: none; }
deab74
+  #nav_derived_interfaces { display: none; }
deab74
+  #nav_implementations { display: none; }
deab74
+  #nav_child_properties { display: none; }
deab74
+  #nav_style_properties { display: none; }
deab74
+  #nav_index { display: none; }
deab74
+  #nav_glossary { display: none; }
deab74
+  .gallery_image { display: none; }
deab74
+  .property_flags { display: none; }
deab74
+  .signal_flags { display: none; }
deab74
+  .parameter_annotations { display: none; }
deab74
+  .enum_member_annotations { display: none; }
deab74
+  .struct_member_annotations { display: none; }
deab74
+  .union_member_annotations { display: none; }
deab74
+  /* now that a column is hidden, optimize space */
deab74
+  col.parameters_name { width: auto; }
deab74
+  col.parameters_description { width: auto; }
deab74
+  col.struct_members_name { width: auto; }
deab74
+  col.struct_members_description { width: auto; }
deab74
+  col.enum_members_name { width: auto; }
deab74
+  col.enum_members_description { width: auto; }
deab74
+  col.union_members_name { width: auto; }
deab74
+  col.union_members_description { width: auto; }
deab74
+  .listing_lines { display: none; }
deab74
+}
deab74
+@media print {
deab74
+  table.navigation {
deab74
+    visibility: collapse;
deab74
+    display: none;
deab74
+  }
deab74
+  div.titlepage table.navigation {
deab74
+    visibility: visible;
deab74
+    display: table;
deab74
+    background: #e2e2e2;
deab74
+    border: solid 1px #babdb6;
deab74
+    margin-top: 0;
deab74
+    margin-bottom: 0;
deab74
+    top: 0;
deab74
+    left: 0;
deab74
+    height: 3em;
deab74
+  }
deab74
+}
deab74
-- 
deab74
2.21.0
deab74