[yelp-xsl] mal2html-gloss: Added basic inline gloss:term refs
- From: Shaun McCance <shaunm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [yelp-xsl] mal2html-gloss: Added basic inline gloss:term refs
- Date: Mon, 11 Jul 2011 19:29:25 +0000 (UTC)
commit 1bdece7491a48c577f4a96dad4da13f1fb49adc1
Author: Shaun McCance <shaunm gnome org>
Date: Mon Jul 11 15:34:30 2011 -0400
mal2html-gloss: Added basic inline gloss:term refs
xslt/mallard/html/mal2html-gloss.xsl | 44 ++++++++++++++++++++++++++++++++++
xslt/mallard/html/mal2html-page.xsl | 22 +++++++++++++++++
2 files changed, 66 insertions(+), 0 deletions(-)
---
diff --git a/xslt/mallard/html/mal2html-gloss.xsl b/xslt/mallard/html/mal2html-gloss.xsl
index e196698..4d31021 100644
--- a/xslt/mallard/html/mal2html-gloss.xsl
+++ b/xslt/mallard/html/mal2html-gloss.xsl
@@ -99,4 +99,48 @@ include a link to their defining page.
</xsl:if>
</xsl:template>
+<xsl:template mode="mal2html.inline.mode" match="gloss:term">
+ <xsl:variable name="node" select="."/>
+ <span class="gloss-term">
+ <xsl:call-template name="html.lang.attrs"/>
+ <xsl:apply-templates mode="mal2html.inline.mode"/>
+ <xsl:for-each select="$mal.cache">
+ <xsl:variable name="terms" select="key('mal.gloss.key', $node/@ref)"/>
+ <xsl:for-each select="$terms/mal:info/mal:desc[1]">
+ <span class="gloss-desc">
+ <xsl:apply-templates mode="mal2html.inline.mode"/>
+ </span>
+ </xsl:for-each>
+ </xsl:for-each>
+ </span>
+</xsl:template>
+
+
+<!--**==========================================================================
+mal2html.gloss.js
+
+REMARK: FIXME
+-->
+<xsl:template name="mal2html.gloss.js">
+<xsl:text><![CDATA[
+$(document).ready(function () {
+ $('span.gloss-term').hover(
+ function () {
+ var top = $(this).offset().top + $(this).height() + 1;
+ var left = $(this).offset().left;
+ var desc = $(this).children('span.gloss-desc');
+ var cnt = $(this).closest('div.contents');
+ var diff = cnt.offset().left + cnt.width() - desc.width() - 4;
+ if (left > diff)
+ left = diff;
+ desc.css({'top': top + 'px', 'left': left + 'px'}).fadeIn('slow');
+ },
+ function () {
+ $(this).children('span.gloss-desc').fadeOut('fast');
+ }
+ );
+});
+]]></xsl:text>
+</xsl:template>
+
</xsl:stylesheet>
diff --git a/xslt/mallard/html/mal2html-page.xsl b/xslt/mallard/html/mal2html-page.xsl
index 0a6b0ac..1a52ee0 100644
--- a/xslt/mallard/html/mal2html-page.xsl
+++ b/xslt/mallard/html/mal2html-page.xsl
@@ -801,6 +801,27 @@ dd.gloss-def {
<xsl:value-of select="$color.gray_border"/><xsl:text>;
padding-</xsl:text><xsl:value-of select="$left"/><xsl:text>: 1em;
}
+span.gloss-term {
+ border-bottom: dashed 1px </xsl:text>
+ <xsl:value-of select="$color.blue_border"/><xsl:text>;
+}
+span.gloss-desc {
+ display: none;
+ position: absolute;
+ margin: 0;
+ padding: 0.2em 0.5em 0.2em 0.5em;
+ max-width: 24em;
+ background-color: </xsl:text>
+ <xsl:value-of select="$color.yellow_background"/><xsl:text>;
+ border: solid 1px </xsl:text>
+ <xsl:value-of select="$color.yellow_border"/><xsl:text>;
+ -moz-box-shadow: 2px 2px 4px </xsl:text>
+ <xsl:value-of select="$color.gray_border"/><xsl:text>;
+ -webkit-box-shadow: 2px 2px 4px </xsl:text>
+ <xsl:value-of select="$color.gray_border"/><xsl:text>;
+ box-shadow: 2px 2px 4px </xsl:text>
+ <xsl:value-of select="$color.gray_border"/><xsl:text>;
+}
</xsl:text>
<xsl:if test="$mal2html.editor_mode">
<xsl:text>
@@ -839,6 +860,7 @@ span.status-stub, span.status-draft, span.status-incomplete, span.status-outdate
<!--%# html.js.mode -->
<xsl:template mode="html.js.mode" match="mal:page">
<xsl:call-template name="mal2html.facets.js"/>
+ <xsl:call-template name="mal2html.gloss.js"/>
<xsl:text><![CDATA[
$(document).ready(function () {
$('div.mouseovers').each(function () {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]