[yelp-xsl] mal2html-page.xsl: Added e:links type 'series'
- From: Shaun McCance <shaunm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [yelp-xsl] mal2html-page.xsl: Added e:links type 'series'
- Date: Fri, 7 Jan 2011 22:01:26 +0000 (UTC)
commit 1274f541e26aeda000eb4643d7c4cd78c734b07f
Author: Shaun McCance <shaunm gnome org>
Date: Fri Jan 7 16:58:36 2011 -0500
mal2html-page.xsl: Added e:links type 'series'
xslt/common/html.xsl | 15 ++++++
xslt/mallard/html/mal2html-page.xsl | 86 ++++++++++++++++++++++++++++++++++-
2 files changed, 99 insertions(+), 2 deletions(-)
---
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index 3a1c95a..c5e00cd 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -749,6 +749,21 @@ a.nextlinks-next::after {
</xsl:choose><xsl:text>';
color: </xsl:text><xsl:value-of select="$color.text_light"/><xsl:text>;
}
+div.serieslinks {
+ display: inline-block;
+ padding: 0 1em 0 1em;
+ background-color: </xsl:text>
+ <xsl:value-of select="$color.blue_background"/><xsl:text>;
+ border: solid 1px </xsl:text>
+ <xsl:value-of select="$color.blue_border"/><xsl:text>;
+}
+div.serieslinks ul { margin: 0; }
+div.serieslinks li { padding: 0; }
+div.serieslinks div.title { margin: 0.5em 0 0.5em 0; }
+div.serieslinks div.title span.title {
+ border-bottom: solid 1px </xsl:text>
+ <xsl:value-of select="$color.blue_border"/><xsl:text>;
+}
pre.numbered {
margin: 0;
padding: 0.5em;
diff --git a/xslt/mallard/html/mal2html-page.xsl b/xslt/mallard/html/mal2html-page.xsl
index ed33a78..094d9d5 100644
--- a/xslt/mallard/html/mal2html-page.xsl
+++ b/xslt/mallard/html/mal2html-page.xsl
@@ -344,7 +344,7 @@ REMARK: Describe this template
<xsl:attribute name="title">
<xsl:call-template name="mal.link.content">
<xsl:with-param name="node" select="$prev"/>
- <xsl:with-param name="xref" select="$prev/@xref"/>
+ <xsl:with-param name="xref" select="$prev/../../@id"/>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="l10n.gettext">
@@ -379,6 +379,88 @@ REMARK: Describe this template
</xsl:for-each>
</xsl:template>
+<xsl:template name="mal2html.links.series.prev">
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="linkid">
+ <xsl:call-template name="mal.link.linkid">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:for-each select="$mal.cache">
+ <xsl:variable name="prev" select="key('mal.cache.link.key', concat('next:', $linkid))"/>
+ <xsl:if test="$prev">
+ <xsl:call-template name="mal2html.links.series.prev">
+ <xsl:with-param name="node" select="key('mal.cache.key', $prev/../../@id)"/>
+ </xsl:call-template>
+ <li class="links">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="mal.link.target">
+ <xsl:with-param name="node" select="$prev"/>
+ <xsl:with-param name="xref" select="$prev/../../@id"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:call-template name="mal.link.content">
+ <xsl:with-param name="node" select="$prev"/>
+ <xsl:with-param name="xref" select="$prev/../../@id"/>
+ </xsl:call-template>
+ </a>
+ </li>
+ </xsl:if>
+ </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="mal2html.links.series.next">
+ <xsl:param name="node" select="."/>
+ <xsl:variable name="linkid">
+ <xsl:call-template name="mal.link.linkid">
+ <xsl:with-param name="node" select="$node"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="next" select="$node/mal:info/mal:link[ type='next']"/>
+ <xsl:if test="$next">
+ <xsl:for-each select="$mal.cache">
+ <li class="links">
+ <a>
+ <xsl:attribute name="href">
+ <xsl:call-template name="mal.link.target">
+ <xsl:with-param name="node" select="$next"/>
+ <xsl:with-param name="xref" select="$next/@xref"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:call-template name="mal.link.content">
+ <xsl:with-param name="node" select="$next"/>
+ <xsl:with-param name="xref" select="$next/@xref"/>
+ </xsl:call-template>
+ </a>
+ </li>
+ <xsl:call-template name="mal2html.links.series.next">
+ <xsl:with-param name="node" select="key('mal.cache.key', $next/@xref)"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="e:links[ type = 'series']">
+ <div class="links serieslinks">
+ <xsl:apply-templates mode="mal2html.block.mode" select="mal:title"/>
+ <ul>
+ <xsl:call-template name="mal2html.links.series.prev">
+ <xsl:with-param name="node" select="/mal:page"/>
+ </xsl:call-template>
+ <li class="links">
+ <xsl:call-template name="mal.link.content">
+ <xsl:with-param name="node" select="/mal:page"/>
+ <xsl:with-param name="xref" select="/mal:page/@id"/>
+ </xsl:call-template>
+ </li>
+ <xsl:call-template name="mal2html.links.series.next">
+ <xsl:with-param name="node" select="/mal:page"/>
+ </xsl:call-template>
+ </ul>
+ </div>
+</xsl:template>
+
<xsl:template name="mal2html.editor.badge">
<xsl:param name="target" select="."/>
<xsl:if test="$mal2html.editor_mode">
@@ -726,7 +808,7 @@ REMARK: Describe this template
<ul>
<xsl:for-each select="../mal:section">
<xsl:call-template name="mal2html.page.autolink">
- <xsl:with-param name="xref" select="concat('#', @id)"/>
+ <xsl:with-param name="xref" select="concat(/mal:page/@id, '#', @id)"/>
<xsl:with-param name="role" select="'section'"/>
</xsl:call-template>
</xsl:for-each>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]