summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2011-11-10 15:05:50 -0500
committerShaun McCance <shaunm@gnome.org>2011-11-11 07:54:26 -0500
commitd10785f83382e6c9f0156957bf84cca81fda6abf (patch)
tree723ff50048a46ec3d5ceb795616fb4959ea4b8b7
parentb20123e53772498e5e405f1e189b6598276356bb (diff)
downloadyelp-xsl-d10785f83382e6c9f0156957bf84cca81fda6abf.tar.gz
db2html-footnote: Fixed footnote formatting
-rw-r--r--xslt/docbook/html/db2html-css.xsl31
-rw-r--r--xslt/docbook/html/db2html-footnote.xsl160
-rw-r--r--xslt/gettext/gettext.xsl5
3 files changed, 80 insertions, 116 deletions
diff --git a/xslt/docbook/html/db2html-css.xsl b/xslt/docbook/html/db2html-css.xsl
index cdf72029..ac73352c 100644
--- a/xslt/docbook/html/db2html-css.xsl
+++ b/xslt/docbook/html/db2html-css.xsl
@@ -79,6 +79,36 @@ div.programlisting .userinput {
}
div.verbatim { white-space: pre; }
+<!-- == footnotes == -->
+div.footnotes {
+ border-top: solid 2px </xsl:text>
+ <xsl:value-of select="$color.gray_border"/><xsl:text>;
+}
+div.footnote { margin-top: 1.44em; }
+sup.footnote { font-size: 0.83em; }
+a.footnote {
+ font-weight: bold;
+ text-decoration: none;
+ border-bottom: none;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ -moz-border-radius: 2px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+}
+div.footnote > a.footnote {
+ margin-</xsl:text><xsl:value-of select="$right"/><xsl:text>: 0.83em;
+ background-color: </xsl:text><xsl:value-of select="$color.gray_background"/><xsl:text>;
+}
+div.footnote > a.footnote + p { display: inline-block; margin: 0; }
+a.footnote:hover, div.footnote > a.footnote:hover {
+ background-color: </xsl:text><xsl:value-of select="$color.blue_background"/><xsl:text>;
+ -moz-box-shadow: 0 0 2px </xsl:text>
+ <xsl:value-of select="$color.blue_border"/><xsl:text>;
+ -webkit-box-shadow: 0 0 2px </xsl:text>
+ <xsl:value-of select="$color.blue_border"/><xsl:text>;
+ box-shadow: 0 0 2px </xsl:text>
+ <xsl:value-of select="$color.blue_border"/><xsl:text>;
+}
<!-- == unsorted == -->
dl.index dt { margin-top: 0; }
@@ -162,7 +192,6 @@ div.co {
clear: both;
}
</xsl:text>
-<xsl:call-template name="db2html.footnote.css"/>
</xsl:template>
</xsl:stylesheet>
diff --git a/xslt/docbook/html/db2html-footnote.xsl b/xslt/docbook/html/db2html-footnote.xsl
index 2710a89a..e660bc7a 100644
--- a/xslt/docbook/html/db2html-footnote.xsl
+++ b/xslt/docbook/html/db2html-footnote.xsl
@@ -24,20 +24,21 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
<!--!!==========================================================================
DocBook to HTML - Footnotes
-:Requires: db-chunk
FIXME: Describe this module
-->
<!--**==========================================================================
-db2html.footnote.ref
-Generates a superscript link to a footnote
-$node: The #{footnote} element to process
+db2html.footnote.link
+Output a link to a footnote.
+:Revision:version="3.4" date="2011-11-10" status="final"
+$node: The #{footnote} element to process.
-REMARK: Describe this template
+This templates outputs an inline link to the footnote displayed at the bottom
+of the page.
-->
-<xsl:template name="db2html.footnote.ref">
+<xsl:template match="footnote | db:footnote" name="db2html.footnote.link">
<xsl:param name="node" select="."/>
<xsl:variable name="anchor">
<xsl:text>-noteref-</xsl:text>
@@ -68,12 +69,9 @@ REMARK: Describe this template
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
- <a name="{$anchor}"/>
- <sup>
- <a class="footnote" href="{$href}">
- <xsl:call-template name="db.number">
- <xsl:with-param name="node" select="$node"/>
- </xsl:call-template>
+ <sup class="footnote">
+ <a class="footnote" href="{$href}" id="{$anchor}">
+ <xsl:value-of select="count($node/preceding::footnote | $node/preceding::db:footnote) + 1"/>
</a>
</sup>
</xsl:template>
@@ -81,10 +79,11 @@ REMARK: Describe this template
<!--**==========================================================================
db2html.footnote.note
-Generates a footnote
-$node: The #{footnote} element to process
+Output a footnote.
+:Revision:version="3.4" date="2011-11-10" status="final"
+$node: The #{footnote} element to process.
-REMARK: Describe this template
+This templates outputs the actual text of a footnote as a block-level element.
-->
<xsl:template name="db2html.footnote.note">
<xsl:param name="node" select="."/>
@@ -117,15 +116,10 @@ REMARK: Describe this template
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
- <div class="footnote">
- <a name="{$anchor}"/>
- <span class="footnote-number">
- <a class="footnote-ref" href="{$href}">
- <xsl:call-template name="db.number">
- <xsl:with-param name="node" select="$node"/>
- </xsl:call-template>
- </a>
- </span>
+ <div class="footnote" id="{$anchor}">
+ <a class="footnote" href="{$href}">
+ <xsl:value-of select="count($node/preceding::footnote | $node/preceding::db:footnote) + 1"/>
+ </a>
<xsl:apply-templates select="$node/node()"/>
</div>
</xsl:template>
@@ -133,11 +127,15 @@ REMARK: Describe this template
<!--**==========================================================================
db2html.footnote.footer
-Generates a foot containing all the footnotes in the chunk
-$node: The division element containing footnotes
-$depth_of_chunk: The depth of the containing chunk in the document
-
-REMARK: Describe this template
+Output all footnotes for a page.
+:Revision:version="3.4" date="2011-11-10" status="final"
+$node: The division-level element containing footnotes
+$depth_of_chunk: The depth of the containing chunk in the document.
+
+This template collects all #{footnote} elements under ${node} and outputs them
+with *{db2html.footnote.note}. It checks if each footnote would be displayed on
+a separate page by a child division-level element, and if so, it doesn't output
+that footnote.
-->
<xsl:template name="db2html.footnote.footer">
<xsl:param name="node" select="."/>
@@ -145,90 +143,32 @@ REMARK: Describe this template
<xsl:call-template name="db.chunk.depth-of-chunk"/>
</xsl:param>
<xsl:variable name="notes" select="$node//footnote | $node//db:footnote" />
- <xsl:if test="count($notes) != 0">
- <xsl:call-template name="db2html.footnote.footer.sibling">
- <xsl:with-param name="node" select="$node"/>
- <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/>
- <xsl:with-param name="notes" select="$notes"/>
- <xsl:with-param name="pos" select="1"/>
- <xsl:with-param name="div" select="false()"/>
- </xsl:call-template>
- </xsl:if>
-</xsl:template>
-
-<!--#* db2html.footnote.footer.sibling -->
-<xsl:template name="db2html.footnote.footer.sibling">
- <xsl:param name="node"/>
- <xsl:param name="depth_of_chunk"/>
- <xsl:param name="notes"/>
- <xsl:param name="pos"/>
- <xsl:param name="div"/>
- <xsl:variable name="this" select="$notes[$pos]"/>
- <xsl:variable name="depth">
- <xsl:call-template name="db.chunk.depth-of-chunk">
- <xsl:with-param name="node" select="$this"/>
- </xsl:call-template>
+ <xsl:variable name="include">
+ <xsl:for-each select="$notes">
+ <xsl:variable name="depth">
+ <xsl:call-template name="db.chunk.depth-of-chunk"/>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$depth = $depth_of_chunk">
+ <xsl:text>y</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>x</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
</xsl:variable>
- <xsl:choose>
- <xsl:when test="($depth = $depth_of_chunk) and not($div)">
- <div class="footnotes">
- <xsl:call-template name="db2html.footnote.note">
- <xsl:with-param name="node" select="$this"/>
- </xsl:call-template>
- <xsl:if test="$pos &lt; count($notes)">
- <xsl:call-template name="db2html.footnote.footer.sibling">
- <xsl:with-param name="node" select="$node"/>
- <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/>
- <xsl:with-param name="notes" select="$notes"/>
- <xsl:with-param name="pos" select="$pos + 1"/>
- <xsl:with-param name="div" select="true()"/>
+ <xsl:if test="contains($include, 'y')">
+ <div class="footnotes">
+ <xsl:for-each select="$notes">
+ <xsl:if test="substring($include, position(), 1) = 'y'">
+ <xsl:call-template name="db2html.footnote.note">
+ <xsl:with-param name="node" select="."/>
</xsl:call-template>
</xsl:if>
- </div>
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="$depth = $depth_of_chunk">
- <xsl:call-template name="db2html.footnote.note">
- <xsl:with-param name="node" select="$this"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:if test="$pos &lt; count($notes)">
- <xsl:call-template name="db2html.footnote.footer.sibling">
- <xsl:with-param name="node" select="$node"/>
- <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/>
- <xsl:with-param name="notes" select="$notes"/>
- <xsl:with-param name="pos" select="$pos + 1"/>
- <xsl:with-param name="div" select="$div"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<!--**==========================================================================
-db2html.footnote.css
-Outputs CSS that controls the appearance of footnotes
-
-REMARK: Describe this template
--->
-<xsl:template name="db2html.footnote.css">
-<xsl:text>
-div.footnotes { font-style: italic; font-size: 0.8em; }
-div.footnote { margin-top: 1.44em; }
-span.footnote-number { display: inline; padding-right: 0.83em; }
-span.footnote-number + p { display: inline; }
-a.footnote { text-decoration: none; font-size: 0.8em; }
-a.footnote-ref { text-decoration: none; }
-</xsl:text>
-</xsl:template>
-
-
-<!-- == Matched Templates == -->
-
-<!-- = footnote = -->
-<xsl:template match="footnote | db:footnote">
- <xsl:call-template name="db2html.footnote.ref"/>
+ </xsl:for-each>
+ </div>
+ </xsl:if>
</xsl:template>
</xsl:stylesheet>
diff --git a/xslt/gettext/gettext.xsl b/xslt/gettext/gettext.xsl
index f719356e..cdd25a66 100644
--- a/xslt/gettext/gettext.xsl
+++ b/xslt/gettext/gettext.xsl
@@ -22,11 +22,6 @@ Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
exclude-result-prefixes="msg str"
version="1.0">
-<!-- FIXME -->
-<xsl:template name="db.number"/>
-<xsl:template name="db.label"/>
-
-
<!--!!==========================================================================
Localized Strings
-->