From 4f3c02dc14300c0b8e51a55d627c57f73c108f64 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose@redhat.com>
Date: Fri, 28 Sep 2018 10:36:19 +0200
Subject: [PATCH] doc: make sure cross-reference ids are predictable
To make sure the cross-reference ids are predictable in the
auto-generated DBus documentation as well the xsl and css files form the
gtk-doc package are updated as well.
---
doc/manual/devhelp2.xsl | 173 ++++++++
doc/manual/gtk-doc.xsl | 436 ++++++++-----------
doc/manual/realm.xml | 14 +-
doc/manual/realmd-guide-active-directory.xml | 4 +-
doc/manual/realmd-guide-ipa.xml | 2 +-
doc/manual/realmd-guide-kerberos.xml | 2 +-
doc/manual/realmd.conf.xml | 4 +-
doc/manual/static/gtk-doc.css | 420 +++++++++++++-----
8 files changed, 688 insertions(+), 367 deletions(-)
create mode 100644 doc/manual/devhelp2.xsl
diff --git a/doc/manual/devhelp2.xsl b/doc/manual/devhelp2.xsl
new file mode 100644
index 0000000..bab6692
--- /dev/null
+++ b/doc/manual/devhelp2.xsl
@@ -0,0 +1,173 @@
+<?xml version='1.0'?> <!--*- mode: xml -*-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'
+ xmlns="http://www.devhelp.net/book"
+ xmlns:str="http://exslt.org/strings"
+ exclude-result-prefixes="str">
+
+ <xsl:template name="generate.devhelp2">
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename">
+ <xsl:choose>
+ <xsl:when test="$gtkdoc.bookname">
+ <xsl:value-of select="$gtkdoc.bookname"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>book</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>.devhelp2</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="encoding" select="'utf-8'"/>
+ <xsl:with-param name="doctype-public"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="devhelp2"/>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:variable name="gtkdoc.refsect2" select="//refsect2"/>
+
+ <xsl:template name="devhelp2">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="generate.devhelp2.toc.title.mode"/>
+ </xsl:variable>
+ <xsl:variable name="link">
+ <xsl:call-template name="href.target"/>
+ </xsl:variable>
+ <xsl:variable name="author">
+ <xsl:if test="articleinfo|bookinfo">
+ <xsl:apply-templates mode="generate.devhelp2.authors"
+ select="articleinfo|bookinfo"/>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="online">
+ <xsl:value-of select="/book/bookinfo/releaseinfo/ulink[@role='online-location']/@url"/>
+ </xsl:variable>
+ <xsl:variable name="toc.nodes" select="part|reference|preface|chapter|
+ appendix|article|bibliography|
+ glossary|index|refentry|
+ bridgehead|sect1"/>
+
+ <book title="{$title}" link="{$link}" author="{$author}" name="{$gtkdoc.bookname}" version="2" language="c">
+ <xsl:if test="$online != ''">
+ <xsl:attribute name="online"><xsl:value-of select="$online"/></xsl:attribute>
+ </xsl:if>
+ <xsl:if test="$toc.nodes">
+ <chapters>
+ <xsl:apply-templates select="$toc.nodes"
+ mode="generate.devhelp2.toc.mode"/>
+ </chapters>
+ </xsl:if>
+ <functions>
+ <xsl:apply-templates select="$gtkdoc.refsect2[@role]"
+ mode="generate.devhelp2.index.mode"/>
+ <xsl:apply-templates select="$gtkdoc.refsect2/refsect3[@role='enum_members']/informaltable/tgroup/tbody/row[@role='constant']"
+ mode="generate.devhelp2.index.mode"/>
+ <xsl:apply-templates select="$gtkdoc.refsect2/refsect3[@role='struct_members']/informaltable/tgroup/tbody/row[@role='member']"
+ mode="generate.devhelp2.index.mode"/>
+ </functions>
+ </book>
+ </xsl:template>
+
+ <xsl:template match="*" mode="generate.devhelp2.toc.mode">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="generate.devhelp2.toc.title.mode"/>
+ </xsl:variable>
+ <xsl:variable name="target">
+ <xsl:variable name="anchor" select="title/anchor"/>
+ <xsl:choose>
+ <xsl:when test="$anchor">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$anchor"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="href.target"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <sub name="{$title}" link="{$target}">
+ <xsl:apply-templates select="section|sect1|
+ refentry|refsect|
+ bridgehead|part|chapter|glossary|index"
+ mode="generate.devhelp2.toc.mode"/>
+ </sub>
+ </xsl:template>
+
+ <xsl:template match="*" mode="generate.devhelp2.index.mode">
+ <xsl:variable name="title" select="title|
+ term/literal|
+ entry[@role='enum_member_name']/para|
+ entry[@role='struct_member_name']/para/structfield/@id"/>
+ <xsl:variable name="anchor" select="title/anchor|
+ entry[@role='enum_member_name']/para|
+ entry[@role='struct_member_name']/para/structfield"/>
+ <xsl:variable name="type" select="@role"/>
+ <xsl:variable name="condition" select="@condition"/>
+ <xsl:variable name="target">
+ <xsl:choose>
+ <xsl:when test="$anchor">
+ <xsl:call-template name="href.target">
+ <xsl:with-param name="object" select="$anchor"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="href.target"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <keyword type="{$type}" name="{$title}" link="{$target}">
+ <xsl:if test="$condition">
+ <xsl:for-each select="str:split($condition,'|')">
+ <xsl:variable name="attrname">
+ <xsl:value-of select="substring-before(.,':')"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="string-length($attrname)=0">
+ <xsl:variable name="attrname2">
+ <xsl:value-of select="."/>
+ </xsl:variable>
+ <xsl:attribute name="{$attrname2}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="{$attrname}">
+ <xsl:value-of select="substring-after(.,':')"/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:if>
+ </keyword>
+ </xsl:template>
+
+ <!-- get title -->
+ <xsl:template match="article" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="articleinfo/title"/>
+ </xsl:template>
+ <xsl:template match="book" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="bookinfo/title"/>
+ </xsl:template>
+ <xsl:template match="refentry" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="refmeta/refentrytitle"/>
+ </xsl:template>
+ <xsl:template match="*" mode="generate.devhelp2.toc.title.mode">
+ <xsl:value-of select="title"/>
+ </xsl:template>
+
+ <!-- generate list of authors ... -->
+ <xsl:template match="articleinfo|bookinfo" mode="generate.devhelp2.authors">
+ <xsl:for-each select="authorgroup/author">
+ <xsl:value-of select="firstname"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="surname"/>
+ <xsl:if test="not(last())">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/doc/manual/gtk-doc.xsl b/doc/manual/gtk-doc.xsl
index 9c0901b..3471e6c 100644
--- a/doc/manual/gtk-doc.xsl
+++ b/doc/manual/gtk-doc.xsl
@@ -5,20 +5,19 @@
version="1.0">
<!-- import the chunked XSL stylesheet -->
- <!-- http://www.sagehill.net/docbookxsl/Chunking.html says we should use
- "chunkfast.xsl", but I can see a difference -->
+ <!-- http://www.sagehill.net/docbookxsl/Chunking.html#FastChunking says we should use
+ "chunkfast.xsl", but I can't see a difference. Also it is not clear wheter
+ one should still set "chunk.fast". Again, no meassuable difference. -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
+ <xsl:include href="devhelp2.xsl"/>
<xsl:include href="version-greater-or-equal.xsl"/>
- <xsl:key name="acronym.key"
- match="glossentry/glossterm"
- use="."/>
- <xsl:key name="gallery.key"
- match="para[@role='gallery']/link"
- use="@linkend"/>
+ <xsl:key name="acronym.key" match="glossentry/glossterm" use="."/>
+ <xsl:key name="gallery.key" match="para[@role='gallery']/link" use="@linkend"/>
<!-- change some parameters -->
<!-- http://docbook.sourceforge.net/release/xsl/current/doc/html/index.html -->
+ <xsl:param name="admon.style"/>
<xsl:param name="toc.section.depth">2</xsl:param>
<xsl:param name="generate.toc">
book toc
@@ -28,16 +27,17 @@
part toc
reference toc
</xsl:param>
+ <xsl:param name="process.empty.source.toc">1</xsl:param>
<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
<xsl:param name="chunker.output.indent" select="'yes'"/>
<xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
<xsl:param name="chunk.fast" select="1"/>
- <xsl:param name="chunk.quietly" select="1"/>
<xsl:param name="default.encoding" select="'UTF-8'"/>
<xsl:param name="chapter.autolabel" select="0"/>
<xsl:param name="use.id.as.filename" select="1"/>
+ <xsl:param name="generate.consistent.ids" select="1"/>
<xsl:param name="html.ext" select="'.html'"/>
<xsl:param name="refentry.generate.name" select="0"/>
<xsl:param name="refentry.generate.title" select="1"/>
@@ -60,6 +60,9 @@
<xsl:param name="gtkdoc.version" select="''"/>
<xsl:param name="gtkdoc.bookname" select="''"/>
+ <!-- Override the typical template to prevent showing titles -->
+ <xsl:param name="admon.textlabel" select="0"/>
+
<!-- ========================================================= -->
<!-- l10n is slow, we don't ue it, so we'd like to turn it off
@@ -68,12 +71,8 @@
<xsl:param name="gtkdoc.l10n.xml" select="document('http://docbook.sourceforge.net/release/xsl/current/common/en.xml')"/>
- <xsl:key name="gtkdoc.gentext.key"
- match="l:gentext[@key]"
- use="@key"/>
- <xsl:key name="gtkdoc.context.key"
- match="l:context[@name]"
- use="@name"/>
+ <xsl:key name="gtkdoc.gentext.key" match="l:gentext[@key]" use="@key"/>
+ <xsl:key name="gtkdoc.context.key" match="l:context[@name]" use="@name"/>
<xsl:template name="gentext">
<xsl:param name="key" select="local-name(.)"/>
@@ -250,7 +249,6 @@
</xsl:if>
</xsl:variable>
-
<xsl:variable name="is.title-unnumbered">
<xsl:if test="$is.title = 0 and $is.title-numbered = 0">
<xsl:call-template name="gentext.template.exists">
@@ -309,52 +307,8 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
</xsl:if>
<xsl:apply-imports/>
- <!-- generate the index.sgml href index -->
- <xsl:call-template name="generate.index"/>
- </xsl:template>
-
- <xsl:template name="generate.index">
- <xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="'index.sgml'"/>
- <xsl:with-param name="content">
- <xsl:apply-templates select="/book/bookinfo/releaseinfo/ulink"
- mode="generate.index.mode"/>
- <!-- check all anchor and refentry elements -->
- <!--
- The obvious way to write this is //anchor|//refentry|etc...
- The obvious way is slow because it causes multiple traversals
- in libxslt. This take about half the time.
- -->
- <xsl:apply-templates select="//*[name()='anchor' or name()='refentry' or name()='refsect1' or
- name() = 'refsect2' or name()='refsynopsisdiv' or
- name()='varlistentry']"
- mode="generate.index.mode"/>
- </xsl:with-param>
- <xsl:with-param name="default.encoding" select="'UTF-8'"/>
- <xsl:with-param name="chunker.output.indent" select="'no'"/>
- </xsl:call-template>
- </xsl:template>
-
- <xsl:template match="*" mode="generate.index.mode">
- <xsl:if test="not(@href) and count(@id) > 0">
- <xsl:text><ANCHOR id="</xsl:text>
- <xsl:value-of select="@id"/>
- <xsl:text>" href="</xsl:text>
- <xsl:if test="$gtkdoc.bookname">
- <xsl:value-of select="$gtkdoc.bookname"/>
- <xsl:text>/</xsl:text>
- </xsl:if>
- <xsl:call-template name="href.target"/>
- <xsl:text>"> </xsl:text>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="/book/bookinfo/releaseinfo/ulink" mode="generate.index.mode">
- <xsl:if test="@role='online-location'">
- <xsl:text><ONLINE href="</xsl:text>
- <xsl:value-of select="@url"/>
- <xsl:text>"> </xsl:text>
- </xsl:if>
+ <!-- generate $book.devhelp2 -->
+ <xsl:call-template name="generate.devhelp2"/>
</xsl:template>
<!-- ========================================================= -->
@@ -387,6 +341,15 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<xsl:apply-imports/>
</xsl:template>
+ <xsl:template name="user.head.title">
+ <xsl:param name="node" select="."/>
+ <xsl:param name="title"/>
+ <xsl:variable name="home" select="/*[1]"/>
+ <title>
+ <xsl:copy-of select="$title"/>: <xsl:apply-templates select="$home" mode="object.title.markup"/>
+ </title>
+ </xsl:template>
+
<xsl:template name="user.head.content">
<xsl:if test="$gtkdoc.version">
<meta name="generator" content="GTK-Doc V{$gtkdoc.version} (XML mode)"/>
@@ -399,10 +362,10 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<hr />
<xsl:choose>
<xsl:when test="$gtkdoc.version">
- Generated by GTK-Doc V<xsl:copy-of select="$gtkdoc.version" />
+ <xsl:text>Generated by GTK-Doc V</xsl:text><xsl:copy-of select="$gtkdoc.version" />
</xsl:when>
<xsl:otherwise>
- Generated by GTK-Doc
+ <xsl:text>Generated by GTK-Doc</xsl:text>
</xsl:otherwise>
</xsl:choose>
</div>
@@ -451,21 +414,119 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<xsl:if test="$suppress.navigation = '0' and $home != .">
<table class="navigation" id="top" width="100%"
- summary = "Navigation header" cellpadding="2" cellspacing="2">
+ summary = "Navigation header" cellpadding="2" cellspacing="5">
<tr valign="middle">
+ <td width="100%" align="left" class="shortcuts">
+ <!--<xsl:if test="name()='refentry'"-->
+ <xsl:choose>
+ <xsl:when test="count($refsections) > 0">
+ <a href="#" class="shortcut">Top</a>
+ <xsl:if test="count($sect_desc) > 0">
+ <span id="nav_description">  <span class="dim">|</span> 
+ <a href="#{$section_id}.description" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='desc']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_object_hierarchy) > 0">
+ <span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#{$section_id}.object-hierarchy" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='object_hierarchy']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_impl_interfaces) > 0">
+ <span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#{$section_id}.implemented-interfaces" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='impl_interfaces']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_prerequisites) > 0">
+ <span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#{$section_id}.prerequisites" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='prerequisites']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_derived_interfaces) > 0">
+ <span id="nav_derived_interfaces">  <span class="dim">|</span> 
+ <a href="#{$section_id}.derived-interfaces" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='derived_interfaces']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_implementations) > 0">
+ <span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#{$section_id}.implementations" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='implementations']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_properties) > 0">
+ <span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#{$section_id}.properties" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='properties']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_child_properties) > 0">
+ <span id="nav_child_properties">  <span class="dim">|</span> 
+ <a href="#{$section_id}.child-properties" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='child_properties']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_style_properties) > 0">
+ <span id="nav_style_properties">  <span class="dim">|</span> 
+ <a href="#{$section_id}.style-properties" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='style_properties']/title"/>
+ </a></span>
+ </xsl:if>
+ <xsl:if test="count($sect_signal_proto) > 0">
+ <span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#{$section_id}.signals" class="shortcut">
+ <xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
+ </a></span>
+ </xsl:if>
+ </xsl:when>
+ <!-- this is not yet very nice, as it requires all glossdic/indexdiv
+ elements having a anchor element. maybe we can customize the xsl
+ to automaticaly create local anchors
+ -->
+ <xsl:when test="count($glssections) > 0">
+ <span id="nav_glossary">
+ <xsl:for-each select="./glossdiv">
+ <xsl:if test="position() > 1">
+  <span class="dim">|</span> 
+ </xsl:if>
+ <a class="shortcut">
+ <xsl:attribute name="href">#gls<xsl:value-of select="./title"/></xsl:attribute>
+ <xsl:value-of select="./title"/>
+ </a>
+ </xsl:for-each>
+ </span>
+ </xsl:when>
+ <xsl:when test="count($idxsections) > 0">
+ <span id="nav_index">
+ <xsl:for-each select="./indexdiv/indexdiv">
+ <xsl:if test="position() > 1">
+  <span class="dim">|</span> 
+ </xsl:if>
+ <a class="shortcut">
+ <xsl:attribute name="href">#idx<xsl:value-of select="./title"/></xsl:attribute>
+ <xsl:value-of select="./title"/>
+ </a>
+ </xsl:for-each>
+ </span>
+ </xsl:when>
+ </xsl:choose>
+ </td>
<xsl:choose>
- <xsl:when test="count($prev) > 0">
+ <xsl:when test="$home != .">
<td>
- <a accesskey="p">
+ <a accesskey="h">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
- <xsl:with-param name="object" select="$prev"/>
+ <xsl:with-param name="object" select="$home"/>
</xsl:call-template>
</xsl:attribute>
- <img src="left.png" width="24" height="24" border="0">
+ <img src="home.png" width="16" height="16" border="0">
<xsl:attribute name="alt">
<xsl:call-template name="gentext">
- <xsl:with-param name="key">nav-prev</xsl:with-param>
+ <xsl:with-param name="key">nav-home</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
</img>
@@ -485,7 +546,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<xsl:with-param name="object" select="$up"/>
</xsl:call-template>
</xsl:attribute>
- <img src="up.png" width="24" height="24" border="0">
+ <img src="up.png" width="16" height="16" border="0">
<xsl:attribute name="alt">
<xsl:call-template name="gentext">
<xsl:with-param name="key">nav-up</xsl:with-param>
@@ -496,22 +557,22 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
</td>
</xsl:when>
<xsl:otherwise>
- <td> </td>
+ <td><img src="up-insensitive.png" width="16" height="16" border="0"/></td>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
- <xsl:when test="$home != .">
+ <xsl:when test="count($prev) > 0">
<td>
- <a accesskey="h">
+ <a accesskey="p">
<xsl:attribute name="href">
<xsl:call-template name="href.target">
- <xsl:with-param name="object" select="$home"/>
+ <xsl:with-param name="object" select="$prev"/>
</xsl:call-template>
</xsl:attribute>
- <img src="home.png" width="24" height="24" border="0">
+ <img src="left.png" width="16" height="16" border="0">
<xsl:attribute name="alt">
<xsl:call-template name="gentext">
- <xsl:with-param name="key">nav-home</xsl:with-param>
+ <xsl:with-param name="key">nav-prev</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
</img>
@@ -519,12 +580,9 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
</td>
</xsl:when>
<xsl:otherwise>
- <td> </td>
+ <td><img src="left-insensitive.png" width="16" height="16" border="0"/></td>
</xsl:otherwise>
</xsl:choose>
- <th width="100%" align="center">
- <xsl:apply-templates select="$home" mode="object.title.markup"/>
- </th>
<xsl:choose>
<xsl:when test="count($next) > 0">
<td>
@@ -534,7 +592,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<xsl:with-param name="object" select="$next"/>
</xsl:call-template>
</xsl:attribute>
- <img src="right.png" width="24" height="24" border="0">
+ <img src="right.png" width="16" height="16" border="0">
<xsl:attribute name="alt">
<xsl:call-template name="gentext">
<xsl:with-param name="key">nav-next</xsl:with-param>
@@ -545,148 +603,10 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
</td>
</xsl:when>
<xsl:otherwise>
- <td> </td>
+ <td><img src="right-insensitive.png" width="16" height="16" border="0"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
- <!--<xsl:if test="name()='refentry'"-->
- <xsl:choose>
- <xsl:when test="count($refsections) > 0">
- <tr>
- <td colspan="5" class="shortcuts">
- <xsl:if test="count($sect_synopsis) > 0">
- <a href="#{$section_id}.synopsis" class="shortcut">Top</a>
- </xsl:if>
- <xsl:if test="count($sect_desc) > 0">
-  | 
- <a href="#{$section_id}.description" class="shortcut">
- <xsl:value-of select="./refsect1[@role='desc']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_object_hierarchy) > 0">
-  | 
- <a href="#{$section_id}.object-hierarchy" class="shortcut">
- <xsl:value-of select="./refsect1[@role='object_hierarchy']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_impl_interfaces) > 0">
-  | 
- <a href="#{$section_id}.implemented-interfaces" class="shortcut">
- <xsl:value-of select="./refsect1[@role='impl_interfaces']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_prerequisites) > 0">
-  | 
- <a href="#{$section_id}.prerequisites" class="shortcut">
- <xsl:value-of select="./refsect1[@role='prerequisites']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_derived_interfaces) > 0">
-  | 
- <a href="#{$section_id}.derived-interfaces" class="shortcut">
- <xsl:value-of select="./refsect1[@role='derived_interfaces']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_implementations) > 0">
-  | 
- <a href="#{$section_id}.implementations" class="shortcut">
- <xsl:value-of select="./refsect1[@role='implementations']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_properties) > 0">
-  | 
- <a href="#{$section_id}.properties" class="shortcut">
- <xsl:value-of select="./refsect1[@role='properties']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_child_properties) > 0">
-  | 
- <a href="#{$section_id}.child-properties" class="shortcut">
- <xsl:value-of select="./refsect1[@role='child_properties']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_style_properties) > 0">
-  | 
- <a href="#{$section_id}.style-properties" class="shortcut">
- <xsl:value-of select="./refsect1[@role='style_properties']/title"/>
- </a>
- </xsl:if>
- <xsl:if test="count($sect_signal_proto) > 0">
-  | 
- <a href="#{$section_id}.signals" class="shortcut">
- <xsl:value-of select="./refsect1[@role='signal_proto']/title"/>
- </a>
- </xsl:if>
- <!--
- <xsl:if test="count($sect_details) > 0">
- <a href="#details" class="shortcut">
- <xsl:value-of select="./refsect1[@id='details']/title"/>
- </a>
-  | 
- </xsl:if>
- <xsl:if test="count($sect_property_details) > 0">
- <a href="#property_details" class="shortcut">
- <xsl:value-of select="./refsect1[@id='property_details']/title"/>
- </a>
-  | 
- </xsl:if>
- <xsl:if test="count($sect_child_property_details) > 0">
- <a href="#child_property_details" class="shortcut">
- <xsl:value-of select="./refsect1[@id='property_child_details']/title"/>
- </a>
-  | 
- </xsl:if>
- <xsl:if test="count($sect_style_property_details) > 0">
- <a href="#style_property_details" class="shortcut">
- <xsl:value-of select="./refsect1[@id='style_property_details']/title"/>
- </a>
-  | 
- </xsl:if>
- <xsl:if test="count($sect_signals) > 0">
- <a href="#signals" class="shortcut">
- <xsl:value-of select="./refsect1[@id='signals']/title"/>
- </a>
-  | 
- </xsl:if>
- -->
- </td>
- </tr>
- </xsl:when>
- <!-- this is not yet very nice, as it requires all glossdic/indexdiv
- elements having a anchor element. maybe we can customize the xsl
- to automaticaly create local anchors
- -->
- <xsl:when test="count($glssections) > 0">
- <tr>
- <td colspan="5" class="shortcuts">
- <xsl:for-each select="./glossdiv">
- <xsl:if test="position() > 1">
-  | 
- </xsl:if>
- <a class="shortcut">
- <xsl:attribute name="href">#gls<xsl:value-of select="./title"/></xsl:attribute>
- <xsl:value-of select="./title"/>
- </a>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:when>
- <xsl:when test="count($idxsections) > 0">
- <tr>
- <td colspan="5" class="shortcuts">
- <xsl:for-each select="./indexdiv/indexdiv">
- <xsl:if test="position() > 1">
-  | 
- </xsl:if>
- <a class="shortcut">
- <xsl:attribute name="href">#idx<xsl:value-of select="./title"/></xsl:attribute>
- <xsl:value-of select="./title"/>
- </a>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:when>
- </xsl:choose>
</table>
</xsl:if>
</xsl:template>
@@ -758,32 +678,32 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<table width="100%">
<tr><td valign="top">
<xsl:call-template name="anchor"/>
- <xsl:choose>
- <xsl:when test="$refentry.generate.name != 0">
- <h2>
- <xsl:call-template name="gentext">
- <xsl:with-param name="key" select="'RefName'"/>
- </xsl:call-template>
- </h2>
- </xsl:when>
- <xsl:when test="$refentry.generate.title != 0">
- <h2>
- <xsl:choose>
- <xsl:when test="../refmeta/refentrytitle">
- <xsl:apply-templates select="../refmeta/refentrytitle"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="refname[1]"/>
- </xsl:otherwise>
- </xsl:choose>
- </h2>
- </xsl:when>
- </xsl:choose>
- <p>
+ <xsl:choose>
+ <xsl:when test="$refentry.generate.name != 0">
+ <h2>
+ <xsl:call-template name="gentext">
+ <xsl:with-param name="key" select="'RefName'"/>
+ </xsl:call-template>
+ </h2>
+ </xsl:when>
+ <xsl:when test="$refentry.generate.title != 0">
+ <h2>
+ <xsl:choose>
+ <xsl:when test="../refmeta/refentrytitle">
+ <xsl:apply-templates select="../refmeta/refentrytitle"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="refname[1]"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </h2>
+ </xsl:when>
+ </xsl:choose>
+ <p>
<xsl:apply-templates/>
</p>
</td>
- <td valign="top" align="right">
+ <td class="gallery_image" valign="top" align="right">
<xsl:choose>
<xsl:when test="../refmeta/refmiscinfo/inlinegraphic">
<xsl:apply-templates select="../refmeta/refmiscinfo/inlinegraphic"/>
@@ -795,7 +715,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
- use it here
-->
<xsl:variable name="refentryid" select="../@id"/>
- <xsl:apply-templates select="key('gallery.key', $refentryid)/inlinegraphic"/>
+ <xsl:apply-templates select="key('gallery.key', $refentryid)/inlinegraphic"/>
</xsl:otherwise>
</xsl:choose>
</td></tr>
@@ -803,6 +723,21 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
</div>
</xsl:template>
+ <!-- a copy from refentry.xsl to add the missing mode attribute,
+ see bug/729911, https://sourceforge.net/p/docbook/bugs/1358/
+ fixed in: https://sourceforge.net/p/docbook/code/9962/
+ -->
+ <xsl:template match="refpurpose" mode="no.anchor.mode">
+ <xsl:if test="node()">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="dingbat">
+ <xsl:with-param name="dingbat">em-dash</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates mode="no.anchor.mode"/>
+ </xsl:if>
+ </xsl:template>
+
<!-- add anchors for index sections -->
<xsl:template match="indexdiv">
<a><xsl:attribute name="name">idx<xsl:value-of select="./title"/></xsl:attribute></a>
@@ -825,12 +760,12 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<span class="extralinks">
<xsl:for-each select="../ulink[@role='extralinks']">
<xsl:if test="position() = 1">[ </xsl:if>
- <xsl:if test="position() > 1"> | </xsl:if>
+ <xsl:if test="position() > 1">  <span class="dim">|</span> </xsl:if>
<a>
<xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
<xsl:copy-of select="text()" />
</a>
- <xsl:if test="position() = last()"> ]</xsl:if>
+ <xsl:if test="position() = last()">  ]</xsl:if>
</xsl:for-each>
</span>
</xsl:if>
@@ -861,11 +796,6 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<xsl:param name="acronym">
<xsl:apply-templates/>
</xsl:param>
- <!--
- We use for-each to change context to the database document because key()
- only locates elements in the same document as the context node!
- -->
-
<xsl:param name="value" >
<xsl:value-of select="key('acronym.key', $acronym)/../glossdef/para[1]" />
</xsl:param>
@@ -878,7 +808,7 @@ Get a newer version at http://docbook.sourceforge.net/projects/xsl/
<a>
<xsl:attribute name="href">
<xsl:text>http://foldoc.org/</xsl:text>
- <xsl:value-of select="$acronym"/>
+ <xsl:value-of select="$acronym"/>
</xsl:attribute>
<xsl:call-template name="inline.charseq"/>
</a>
diff --git a/doc/manual/realm.xml b/doc/manual/realm.xml
index 9d9136a..7b73331 100644
--- a/doc/manual/realm.xml
+++ b/doc/manual/realm.xml
@@ -49,7 +49,7 @@
</cmdsynopsis>
</refsynopsisdiv>
-<refsect1>
+<refsect1 id="man-description">
<title>Description</title>
<para><command>realm</command> is a command line tool that
can be used to manage enrollment in kerberos realms, like Active
@@ -81,7 +81,7 @@
</refsect1>
-<refsect1>
+<refsect1 id="man-discover">
<title>Discover</title>
<para>Discover a realm and its capabilities.</para>
@@ -138,7 +138,7 @@ $ realm discover domain.example.com
</refsect1>
-<refsect1>
+<refsect1 id="man-join">
<title>Join</title>
<para>Configure the local machine for use with a realm.</para>
@@ -263,7 +263,7 @@ $ realm join --user=admin --computer-ou=OU=Special domain.example.com
</refsect1>
-<refsect1>
+<refsect1 id="man-leave">
<title>Leave</title>
<para>Deconfigure the local machine for use with a realm.</para>
@@ -313,7 +313,7 @@ $ realm leave domain.example.com
</refsect1>
-<refsect1>
+<refsect1 id="man-list">
<title>List</title>
<para>List all the discovered and configured realms.</para>
@@ -345,7 +345,7 @@ $ realm list
</variablelist>
</refsect1>
-<refsect1>
+<refsect1 id="man-permit">
<title>Permit</title>
<para>Permit local login by users of the realm.</para>
@@ -392,7 +392,7 @@ $ realm permit --withdraw user@example.com
</refsect1>
-<refsect1>
+<refsect1 id="man-deny">
<title>Deny</title>
<para>Deny local login by realm accounts.</para>
diff --git a/doc/manual/realmd-guide-active-directory.xml b/doc/manual/realmd-guide-active-directory.xml
index 362cf94..c88e8af 100644
--- a/doc/manual/realmd-guide-active-directory.xml
+++ b/doc/manual/realmd-guide-active-directory.xml
@@ -69,7 +69,7 @@ $ <command>realm discover --verbose domain.example.com</command>
<ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html">Winbind</ulink>.
By default SSSD is used.</para>
- <section>
+ <section id="using-sssd-with-active-directory">
<title>Using SSSD with Active Directory</title>
<para><ulink url="https://fedorahosted.org/sssd/">SSSD</ulink>
provides client software for various kerberos and/or LDAP
@@ -91,7 +91,7 @@ $ <command>realm join --client-software=sssd domain.example.com</command>
</informalexample>
</section>
- <section>
+ <section id="using-winbind-with-active-directory">
<title>Using Winbind with Active Directory</title>
<para>Samba
<ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html">Winbind</ulink>
diff --git a/doc/manual/realmd-guide-ipa.xml b/doc/manual/realmd-guide-ipa.xml
index bba6504..c3ad450 100644
--- a/doc/manual/realmd-guide-ipa.xml
+++ b/doc/manual/realmd-guide-ipa.xml
@@ -13,7 +13,7 @@
users locally, and log into the local machine with IPA domain
credentials.</para>
- <section>
+ <section id="discovering-ipa-domains">
<title>Discovering IPA domains</title>
<para><command>realmd</command> discovers which domains or
realms it can use or configure. It can discover and identify
diff --git a/doc/manual/realmd-guide-kerberos.xml b/doc/manual/realmd-guide-kerberos.xml
index a57e964..5b9d4b1 100644
--- a/doc/manual/realmd-guide-kerberos.xml
+++ b/doc/manual/realmd-guide-kerberos.xml
@@ -12,7 +12,7 @@
Since there is no standard way to enroll a computer against a Kerberos
server, it is not possible to do this with <command>realmd</command>.</para>
- <section>
+ <section id="discovering-kerberos-realms">
<title>Discovering Kerberos realms</title>
<para><command>realmd</command> discovers which domains or
realms it can use or configure. It can discover and identify
diff --git a/doc/manual/realmd.conf.xml b/doc/manual/realmd.conf.xml
index a2b577c..f0b0879 100644
--- a/doc/manual/realmd.conf.xml
+++ b/doc/manual/realmd.conf.xml
@@ -28,7 +28,7 @@
<refpurpose>Tweak behavior of realmd</refpurpose>
</refnamediv>
-<refsect1>
+<refsect1 id="realmd-conf-file">
<title>Configuration File</title>
<para><command>realmd</command> can be tweaked by network administrators
@@ -297,7 +297,7 @@ DOMAIN\user:*:13445:13446:Name:/home/DOMAIN/user:/bin/bash
</refsect1>
-<refsect1>
+<refsect1 id="realmd-conf-specific-settings">
<title>Realm specific settings</title>
<para>These options should go in an section with the same name
as the realm in the <filename>/etc/realmd.conf</filename> file.
diff --git a/doc/manual/static/gtk-doc.css b/doc/manual/static/gtk-doc.css
index 5618926..af6ce9c 100644
--- a/doc/manual/static/gtk-doc.css
+++ b/doc/manual/static/gtk-doc.css
@@ -1,15 +1,23 @@
+body
+{
+ font-family: cantarell, sans-serif;
+}
.synopsis, .classsynopsis
{
/* tango:aluminium 1/2 */
background: #eeeeec;
- border: solid 1px #d3d7cf;
+ background: rgba(238, 238, 236, 0.5);
+ border: solid 1px rgb(238, 238, 236);
padding: 0.5em;
}
.programlisting
{
/* tango:sky blue 0/1 */
+ /* fallback for no rgba support */
background: #e6f3ff;
border: solid 1px #729fcf;
+ background: rgba(114, 159, 207, 0.1);
+ border: solid 1px rgba(114, 159, 207, 0.2);
padding: 0.5em;
}
.variablelist
@@ -22,86 +30,8 @@
vertical-align: top;
}
-@media screen {
- sup a.footnote
- {
- position: relative;
- top: 0em ! important;
- }
- /* this is needed so that the local anchors are displayed below the naviagtion */
- 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]
- {
- display: inline-block;
- position: relative;
- top:-5em;
- }
- /* this seems to be a bug in the xsl style sheets when generating indexes */
- div.index div.index
- {
- top: 0em;
- }
- /* make space for the fixed navigation bar and add space at the bottom so that
- * link targets appear somewhat close to top
- */
- body
- {
- padding-top: 3.2em;
- padding-bottom: 20em;
- }
- /* style and size the navigation bar */
- table.navigation#top
- {
- position: fixed;
- /* tango:scarlet red 0/1 */
- background: #ffe6e6;
- border: solid 1px #ef2929;
- margin-top: 0;
- margin-bottom: 0;
- top: 0;
- left: 0;
- height: 3em;
- z-index: 10;
- }
- .navigation a, .navigation a:visited
- {
- /* tango:scarlet red 3 */
- color: #a40000;
- }
- .navigation a:hover
- {
- /* tango:scarlet red 1 */
- color: #ef2929;
- }
- td.shortcuts
- {
- /* tango:scarlet red 1 */
- color: #ef2929;
- font-size: 80%;
- white-space: nowrap;
- }
-}
-@media print {
- table.navigation {
- visibility: collapse;
- display: none;
- }
- div.titlepage table.navigation {
- visibility: visible;
- display: table;
- /* tango:scarlet red 0/1 */
- background: #ffe6e6;
- border: solid 1px #ef2929;
- margin-top: 0;
- margin-bottom: 0;
- top: 0;
- left: 0;
- height: 3em;
- }
-}
-
-.navigation .title
-{
- font-size: 200%;
+span.nowrap {
+ white-space: nowrap;
}
div.gallery-float
@@ -131,6 +61,72 @@ a:hover
color: #729fcf;
}
+div.informaltable table
+{
+ border-collapse: separate;
+ border-spacing: 1em 0.3em;
+ border: none;
+}
+
+div.informaltable table td, div.informaltable table th
+{
+ vertical-align: top;
+}
+
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+ text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+ color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+ margin: 0.25em;
+}
+
div.table table
{
border-collapse: collapse;
@@ -153,14 +149,44 @@ div.table table th
background-color: #d3d7cf;
}
+h4
+{
+ color: #555753;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
hr
{
- /* tango:aluminium 3 */
- color: #babdb6;
- background: #babdb6;
+ /* tango:aluminium 1 */
+ color: #d3d7cf;
+ background: #d3d7cf;
border: none 0px;
height: 1px;
clear: both;
+ margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+ font-weight: bold;
+}
+
+dl.toc > dl
+{
+ padding-bottom: 0.5em;
+}
+
+.parameter
+{
+ font-style: normal;
}
.footer
@@ -172,31 +198,70 @@ hr
font-size: 80%;
}
+.informalfigure,
+.figure
+{
+ margin: 1em;
+}
+
+.informalexample,
+.example
+{
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
.warning
{
/* tango:orange 0/1 */
background: #ffeed9;
+ background: rgba(252, 175, 62, 0.1);
border-color: #ffb04f;
+ border-color: rgba(252, 175, 62, 0.2);
}
.note
{
/* tango:chameleon 0/0.5 */
background: #d8ffb2;
+ background: rgba(138, 226, 52, 0.1);
border-color: #abf562;
+ border-color: rgba(138, 226, 52, 0.2);
}
-.note, .warning
+div.blockquote
+{
+ border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
{
padding: 0.5em;
border-width: 1px;
border-style: solid;
+ margin: 2em;
}
-.note h3, .warning h3
+.note p, .warning p
{
- margin-top: 0.0em
+ margin: 0;
}
-.note p, .warning p
+
+div.warning h3.title,
+div.note h3.title
+{
+ display: none;
+}
+
+p + div.section
+{
+ margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
{
- margin-bottom: 0.0em
+ margin-bottom: 1em;
}
/* blob links */
@@ -209,33 +274,52 @@ h2 .extralinks, h3 .extralinks
font-weight: normal;
}
+.lineart
+{
+ color: #d3d7cf;
+ font-weight: normal;
+}
+
.annotation
{
/* tango:aluminium 5 */
color: #555753;
- font-size: 80%;
font-weight: normal;
}
+.structfield
+{
+ font-style: normal;
+ font-weight: normal;
+}
+
+acronym,abbr
+{
+ border-bottom: 1px dotted gray;
+}
+
/* code listings */
-.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
-.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
-.listing_code .programlisting .function { color: #000000; font-weight: bold; }
-.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
-.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .normal,
+.listing_code .programlisting .normal a,
+.listing_code .programlisting .number,
+.listing_code .programlisting .cbracket,
+.listing_code .programlisting .symbol { color: #555753; }
+.listing_code .programlisting .comment,
.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
-.listing_code .programlisting .normal { color: #000000; }
-.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .function,
+.listing_code .programlisting .function a,
.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
-.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
-.listing_code .programlisting .type { color: #000000; }
-.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
-.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
+.listing_code .programlisting .keyword,
+.listing_code .programlisting .usertype,
+.listing_code .programlisting .type,
+.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
.listing_frame {
/* tango:sky blue 1 */
border: solid 1px #729fcf;
+ border: solid 1px rgba(114, 159, 207, 0.2);
padding: 0px;
}
@@ -247,18 +331,152 @@ h2 .extralinks, h3 .extralinks
.listing_lines {
/* tango:sky blue 0.5 */
background: #a6c5e3;
+ background: rgba(114, 159, 207, 0.2);
/* tango:aluminium 6 */
color: #2e3436;
}
.listing_code {
/* tango:sky blue 0 */
background: #e6f3ff;
+ background: rgba(114, 159, 207, 0.1);
}
.listing_code .programlisting {
/* override from previous */
border: none 0px;
padding: 0px;
+ background: none;
}
.listing_lines pre, .listing_code pre {
margin: 0px;
}
+
+@media screen {
+ /* these have a <sup> as a first child, but since there are no parent selectors
+ * we can't use that. */
+ a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ 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]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 2.5em;
+ padding-bottom: 500px;
+ max-width: 60em;
+ }
+ p
+ {
+ max-width: 60em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ background: #e2e2e2;
+ border-bottom: solid 1px #babdb6;
+ border-spacing: 5px;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ z-index: 10;
+ }
+ table.navigation#top td
+ {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:sky blue 3 */
+ color: #204a87;
+ }
+ .navigation a:hover
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ }
+ td.shortcuts
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+ td.shortcuts .dim
+ {
+ color: #babdb6;
+ }
+ .navigation .title
+ {
+ font-size: 80%;
+ max-width: none;
+ margin: 0px;
+ font-weight: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ /* screen larger than 60em */
+ body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+ /* screen less than 60em */
+ #nav_hierarchy { display: none; }
+ #nav_interfaces { display: none; }
+ #nav_prerequisites { display: none; }
+ #nav_derived_interfaces { display: none; }
+ #nav_implementations { display: none; }
+ #nav_child_properties { display: none; }
+ #nav_style_properties { display: none; }
+ #nav_index { display: none; }
+ #nav_glossary { display: none; }
+ .gallery_image { display: none; }
+ .property_flags { display: none; }
+ .signal_flags { display: none; }
+ .parameter_annotations { display: none; }
+ .enum_member_annotations { display: none; }
+ .struct_member_annotations { display: none; }
+ .union_member_annotations { display: none; }
+ /* now that a column is hidden, optimize space */
+ col.parameters_name { width: auto; }
+ col.parameters_description { width: auto; }
+ col.struct_members_name { width: auto; }
+ col.struct_members_description { width: auto; }
+ col.enum_members_name { width: auto; }
+ col.enum_members_description { width: auto; }
+ col.union_members_name { width: auto; }
+ col.union_members_description { width: auto; }
+ .listing_lines { display: none; }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ background: #e2e2e2;
+ border: solid 1px #babdb6;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
--
2.21.0