summaryrefslogtreecommitdiffstats
path: root/lurker
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2013-10-06 10:50:51 -0700
committerKaz Kylheku <kaz@kylheku.com>2013-10-06 10:50:51 -0700
commit2586ab95a7f2af2e19ab6b2988ea167a086ed1e3 (patch)
tree802d58e5b78188b3eb8ec465e23d51f97d1ce27c /lurker
parent789b93150ff0fccd60fb4378fe7ff7561d9c85f5 (diff)
downloadlurker-2586ab95a7f2af2e19ab6b2988ea167a086ed1e3.tar.gz
lurker-2586ab95a7f2af2e19ab6b2988ea167a086ed1e3.tar.bz2
lurker-2586ab95a7f2af2e19ab6b2988ea167a086ed1e3.zip
UI cleanup, first round.
Diffstat (limited to 'lurker')
-rw-r--r--lurker/imgs/chrono.pngbin0 -> 1183 bytes
-rw-r--r--lurker/imgs/compose.pngbin0 -> 1503 bytes
-rw-r--r--lurker/imgs/download.pngbin0 -> 1896 bytes
-rw-r--r--lurker/imgs/link.pngbin0 -> 1156 bytes
-rw-r--r--lurker/imgs/near.pngbin0 -> 1738 bytes
-rw-r--r--lurker/imgs/newmsg.pngbin0 -> 1943 bytes
-rw-r--r--lurker/imgs/tree.pngbin0 -> 807 bytes
-rw-r--r--lurker/ui/common.xsl162
-rw-r--r--lurker/ui/default.css6
-rw-r--r--lurker/ui/en.xml27
-rw-r--r--lurker/ui/lang.xsl1
-rw-r--r--lurker/ui/list.xsl11
-rw-r--r--lurker/ui/message.xsl208
13 files changed, 281 insertions, 134 deletions
diff --git a/lurker/imgs/chrono.png b/lurker/imgs/chrono.png
new file mode 100644
index 0000000..465a2bc
--- /dev/null
+++ b/lurker/imgs/chrono.png
Binary files differ
diff --git a/lurker/imgs/compose.png b/lurker/imgs/compose.png
new file mode 100644
index 0000000..047dae0
--- /dev/null
+++ b/lurker/imgs/compose.png
Binary files differ
diff --git a/lurker/imgs/download.png b/lurker/imgs/download.png
new file mode 100644
index 0000000..bac7c2d
--- /dev/null
+++ b/lurker/imgs/download.png
Binary files differ
diff --git a/lurker/imgs/link.png b/lurker/imgs/link.png
new file mode 100644
index 0000000..e855b61
--- /dev/null
+++ b/lurker/imgs/link.png
Binary files differ
diff --git a/lurker/imgs/near.png b/lurker/imgs/near.png
new file mode 100644
index 0000000..55e5058
--- /dev/null
+++ b/lurker/imgs/near.png
Binary files differ
diff --git a/lurker/imgs/newmsg.png b/lurker/imgs/newmsg.png
new file mode 100644
index 0000000..4eac089
--- /dev/null
+++ b/lurker/imgs/newmsg.png
Binary files differ
diff --git a/lurker/imgs/tree.png b/lurker/imgs/tree.png
new file mode 100644
index 0000000..fac38af
--- /dev/null
+++ b/lurker/imgs/tree.png
Binary files differ
diff --git a/lurker/ui/common.xsl b/lurker/ui/common.xsl
index 1f9d0f9..24c2690 100644
--- a/lurker/ui/common.xsl
+++ b/lurker/ui/common.xsl
@@ -275,12 +275,159 @@ timezone(<xsl:value-of select="timestamp"/>);//</xsl:comment></script>
</table>
</xsl:template>
+<!-- Format the reply link -->
+<xsl:template match="email[@name]" mode="mailto">
+ <xsl:if test="position()!=1">, </xsl:if>
+ <xsl:text>&quot;</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>&quot; &lt;</xsl:text>
+ <xsl:value-of select="@address"/>
+ <xsl:text>&gt;</xsl:text>
+</xsl:template>
+<xsl:template match="email" mode="mailto">
+ <xsl:if test="position()!=1">, </xsl:if>
+ <xsl:value-of select="@address"/>
+</xsl:template>
+
+<xsl:template match="br" mode="mailtobody">
+ <xsl:text>&gt; </xsl:text>
+</xsl:template>
+<xsl:template match="tab" mode="mailtobody">
+ <xsl:text> </xsl:text>
+</xsl:template>
+<xsl:template match="art" mode="mailtobody"/>
+<xsl:template match="mime[@type='text/plain' or @type='text/html']" mode="mailtobody">
+ <xsl:apply-templates mode="mailtobody"/>
+</xsl:template>
+<xsl:template match="mime" mode="mailtobody">
+ <xsl:apply-templates select="mime|signed" mode="mailtobody"/>
+</xsl:template>
+<xsl:template match="signed" mode="mailtobody">
+ <xsl:apply-templates select="data/mime" mode="mailtobody"/>
+</xsl:template>
+
+<xsl:template name="compose-link">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text>mailto:</xsl:text>
+ <xsl:apply-templates select="mbox/list/email[@address]" mode="mailto"/>
+ </xsl:attribute>
+ <img src="../imgs/compose.png" alt="{$compose-message}" title="{$compose-message}"/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template name="reply-link">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text>mailto:</xsl:text>
+ <xsl:apply-templates select="mbox/list/email[@address]" mode="mailto"/>
+ <xsl:text>?subject=</xsl:text>
+ <xsl:if test="not(contains(summary/subject, $regarding-subject))">
+ <xsl:value-of select="$regarding-subject"/>
+ </xsl:if>
+ <xsl:value-of select="summary/subject"/>
+ <xsl:if test="not(summary/subject)">your mail</xsl:if>
+ <xsl:if test="message-id">
+ <xsl:text>&amp;references=</xsl:text>
+ <xsl:value-of select="message-id"/>
+ <xsl:text>&amp;in-reply-to=</xsl:text>
+ <xsl:value-of select="message-id"/>
+ </xsl:if>
+ <xsl:variable name="listmails">
+ <xsl:for-each select="mbox/list/email[@address]">
+ <xsl:value-of select="translate(@address, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
+ <xsl:text>,</xsl:text>
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:variable name="allmails" select="(to/email[@address] | cc/email[@address] | summary/email[@address])"/>
+ <xsl:variable name="restmails" select="$allmails[not(contains($listmails,translate(concat(@address,','), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')))]"/>
+ <xsl:if test="$restmails">
+ <xsl:text>&amp;cc=</xsl:text>
+ <xsl:apply-templates select="$restmails" mode="mailto"/>
+ </xsl:if>
+ <xsl:text>&amp;body=</xsl:text>
+ <xsl:value-of select="$quote-open"/>
+ <xsl:apply-templates select="summary" mode="text-date"/>
+ <xsl:value-of select="$quote-middle"/>
+ <xsl:apply-templates select="summary/email" mode="email-name"/>
+ <xsl:value-of select="$quote-close"/>
+ <xsl:text>
+&gt; </xsl:text>
+ <xsl:apply-templates select="mime" mode="mailtobody"/>
+ </xsl:attribute>
+ <xsl:attribute name="class">root</xsl:attribute>
+ <img src="../imgs/reply.png" alt="{$reply-to-message}" title="{$reply-to-message}"/>
+ </xsl:element>
+</xsl:template>
+
<xsl:template name="link-to-top">
+ <xsl:text>&#160;</xsl:text>
<a class="root" href="../splash/index.{$ext}">
<img src="../imgs/root.png" width="48" height="48" alt="{$front-page}"/>
</a>
</xsl:template>
+<xsl:template name="jump-to-new" match="mindex">
+ <xsl:if test="list/id">
+ <xsl:text>&#160;</xsl:text>
+ <a class="root" href="../mindex/{list/id}@{$last-date}.{$ext}">
+ <img src="../imgs/newmsg.png" alt="new" title="{$newest-messages}"/>
+ </a>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="jump-to-new-from-msg" match="message">
+ <xsl:if test="mbox/list/id">
+ <xsl:text>&#160;</xsl:text>
+ <a class="root" href="../mindex/{mbox/list/id}@{$last-date}.{$ext}">
+ <img src="../imgs/newmsg.png" alt="new" title="{$newest-messages}"/>
+ </a>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="jump-to-near" match="message">
+ <xsl:if test="mbox/list/id">
+ <xsl:text>&#160;</xsl:text>
+ <a class="root" href="../mindex/{mbox/list/id}@{summary/id}.{$ext}">
+ <img src="../imgs/near.png" alt="new" title="{$near-message}"/>
+ </a>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="post-new" match="mbox">
+ <xsl:if test="list/email/@address">
+ <xsl:text>&#160;</xsl:text>
+ <a class="root" href="mailto:{list/email/@address}">
+ <img src="../imgs/compose.png" alt="compose" title="{$post-new}"/>
+ </a>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="post-new-from-message" match="message">
+ <xsl:if test="mbox/list/email/@address">
+ <xsl:text>&#160;</xsl:text>
+ <a class="root" href="mailto:{mbox/list/email/@address}">
+ <img src="../imgs/compose.png" alt="compose" title="{$post-new}"/>
+ </a>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="reply-to-message" match="message">
+ <xsl:if test="mbox/list/email/@address">
+ <xsl:text>&#160;</xsl:text>
+ <xsl:call-template name="reply-link"/>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template name="link-to-list" match="mbox">
+ <xsl:if test="list/link">
+ <xsl:text>&#160;</xsl:text>
+ <a class="root" href="{list/link}">
+ <img src="../imgs/link.png" alt="list" title="{$subscribe}"/>
+ </a>
+ </xsl:if>
+</xsl:template>
+
<xsl:template name="language-dropdown">
<form action="{server/cgi-url}/bounce.cgi">
<select name="url" onchange="self.location=value;">
@@ -313,8 +460,19 @@ timezone(<xsl:value-of select="timestamp"/>);//</xsl:comment></script>
<xsl:template name="navbar">
<table>
<tr>
- <td><xsl:call-template name="link-to-top"/></td>
- <td nowrap="NOWRAP"><xsl:call-template name="language-dropdown"/></td>
+ <td>
+ <xsl:call-template name="jump-to-new"/>
+ <xsl:call-template name="jump-to-new-from-msg"/>
+ <xsl:call-template name="jump-to-near"/>
+ <xsl:call-template name="post-new"/>
+ <xsl:call-template name="post-new-from-message"/>
+ <xsl:call-template name="reply-to-message"/>
+ <xsl:call-template name="link-to-list"/>
+ <xsl:call-template name="link-to-top"/>
+ </td>
+ <!--
+ <td nowrap="NOWRAP"><xsl:call-template name="language-dropdown"/></td>
+ -->
</tr>
</table>
</xsl:template>
diff --git a/lurker/ui/default.css b/lurker/ui/default.css
index d2c8147..ae4197b 100644
--- a/lurker/ui/default.css
+++ b/lurker/ui/default.css
@@ -79,15 +79,15 @@ table.navigation td img { vertical-align:middle }
.selected { background-color:#AAF } /* Mark the thread segment as selected */
.normal { } /* Mark the thread segment as normal */
+/* image links at the top */
+a.root img { background-color: transparent }
+
/* The following are used to induce highlighting effects on thread message icons */
a img.selected { background-color:#77F }
a:visited img { background-color:#BBB }
a:visited img.selected { background-color:#77F }
a img:hover { background-color:#55F }
-/* the link to the archive top */
-a.root img { background-color: transparent }
-
table {
border-collapse: collapse;
border: hidden;
diff --git a/lurker/ui/en.xml b/lurker/ui/en.xml
index 69984b9..1e68116 100644
--- a/lurker/ui/en.xml
+++ b/lurker/ui/en.xml
@@ -12,22 +12,23 @@
delete-message="Delete this message"
reply-to-message="Reply to this message"
+ compose-message="Compose new message"
regarding-subject="Re: "
quote-open="On "
quote-middle=", "
quote-close=" wrote:"
tree-context="This message is part of the following thread:"
- full-tree="the complete thread tree sorted by date"
+ full-tree="The complete thread tree sorted by date"
mail-appears-in="This message was posted to the following mailing lists:"
thread-appears-in="This thread has appeared on the following mailing lists:"
- list-info="Mailing List Info"
- near-message="Nearby Messages"
- old-topics="Old-Topics"
- new-topics="New-Topics"
+ list-info="Mailing list lnfo"
+ near-message="Nearby messages"
+ old-topics="Old topics"
+ new-topics="New topics"
raw-email="Message as email"
- front-page="Top Page"
+ front-page="Top page"
search-menu="Search the archive for matching messages"
list="List"
group="Group"
@@ -45,12 +46,12 @@
jump-button="Jump!"
use-special-word-list="Use the keyword "
to-search-list=" to restrict your search to this mailing list."
- newest-messages="View Newest Messages"
- jump-group="Jump to Group"
- post-new="Start a New Thread"
- subscribe="Visit Subscription Page"
- recent-poster="Latest Poster"
- new-threads="Active Threads"
+ newest-messages="View newest messages"
+ jump-group="Jump to group"
+ post-new="Start a new thread"
+ subscribe="Visit subscription page"
+ recent-poster="Latest poster"
+ new-threads="Active threads"
post-count="&#x2211;"
activity-chart="Activity"
@@ -81,6 +82,6 @@
unknown-address="Unknown"
deleted-name="Deleted"
posted-at=" at "
- admin-by="administrated by "
+ admin-by="adminstered by "
version="version "
/>
diff --git a/lurker/ui/lang.xsl b/lurker/ui/lang.xsl
index 41beb36..d61c5ca 100644
--- a/lurker/ui/lang.xsl
+++ b/lurker/ui/lang.xsl
@@ -24,6 +24,7 @@
<xsl:variable name="delete-message" select="document($langfile)/text/@delete-message"/>
<xsl:variable name="reply-to-message" select="document($langfile)/text/@reply-to-message"/>
+<xsl:variable name="compose-message" select="document($langfile)/text/@compose-message"/>
<xsl:variable name="regarding-subject" select="document($langfile)/text/@regarding-subject"/>
<xsl:variable name="quote-open" select="document($langfile)/text/@quote-open"/>
<xsl:variable name="quote-middle" select="document($langfile)/text/@quote-middle"/>
diff --git a/lurker/ui/list.xsl b/lurker/ui/list.xsl
index d321d36..af22212 100644
--- a/lurker/ui/list.xsl
+++ b/lurker/ui/list.xsl
@@ -128,20 +128,13 @@
</tr>
<tr>
<td colspan="2" align="center">
- [ <a href="../mindex/{list/id}@{$last-date}.{$ext}"><xsl:value-of select="$newest-messages"/></a> ]
- [ <a href="../splash/index.{$ext}#{list/group}"><xsl:value-of select="$jump-group"/></a> ]
- <xsl:if test="list/email/@address">
- [ <a href="mailto:{list/email/@address}"><xsl:value-of select="$post-new"/></a> ]
- </xsl:if>
- <xsl:if test="list/link">
- [ <a href="{list/link}"><xsl:value-of select="$subscribe"/></a> ]
- </xsl:if>
+ <!--
+ [ <a href="../splash/index.{$ext}#{list/group}"><xsl:value-of select="$jump-group"/></a> ] -->
</td>
</tr>
</table>
</div>
-
<div class="body">
<div class="mozbug">
<table class="index squash">
diff --git a/lurker/ui/message.xsl b/lurker/ui/message.xsl
index b4a4ed4..d3abec7 100644
--- a/lurker/ui/message.xsl
+++ b/lurker/ui/message.xsl
@@ -48,81 +48,6 @@
</xsl:template>
-<!-- Format the reply link -->
-<xsl:template match="email[@name]" mode="mailto">
- <xsl:if test="position()!=1">, </xsl:if>
- <xsl:text>&quot;</xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&quot; &lt;</xsl:text>
- <xsl:value-of select="@address"/>
- <xsl:text>&gt;</xsl:text>
-</xsl:template>
-<xsl:template match="email" mode="mailto">
- <xsl:if test="position()!=1">, </xsl:if>
- <xsl:value-of select="@address"/>
-</xsl:template>
-
-<xsl:template match="br" mode="mailtobody">
- <xsl:text>&gt; </xsl:text>
-</xsl:template>
-<xsl:template match="tab" mode="mailtobody">
- <xsl:text> </xsl:text>
-</xsl:template>
-<xsl:template match="art" mode="mailtobody"/>
-<xsl:template match="mime[@type='text/plain' or @type='text/html']" mode="mailtobody">
- <xsl:apply-templates mode="mailtobody"/>
-</xsl:template>
-<xsl:template match="mime" mode="mailtobody">
- <xsl:apply-templates select="mime|signed" mode="mailtobody"/>
-</xsl:template>
-<xsl:template match="signed" mode="mailtobody">
- <xsl:apply-templates select="data/mime" mode="mailtobody"/>
-</xsl:template>
-
-<xsl:template name="reply-link">
- <xsl:element name="a">
- <xsl:attribute name="href">
- <xsl:text>mailto:</xsl:text>
- <xsl:apply-templates select="mbox/list/email[@address]" mode="mailto"/>
- <xsl:text>?subject=</xsl:text>
- <xsl:if test="not(contains(summary/subject, $regarding-subject))">
- <xsl:value-of select="$regarding-subject"/>
- </xsl:if>
- <xsl:value-of select="summary/subject"/>
- <xsl:if test="not(summary/subject)">your mail</xsl:if>
- <xsl:if test="message-id">
- <xsl:text>&amp;references=</xsl:text>
- <xsl:value-of select="message-id"/>
- <xsl:text>&amp;in-reply-to=</xsl:text>
- <xsl:value-of select="message-id"/>
- </xsl:if>
- <xsl:variable name="listmails">
- <xsl:for-each select="mbox/list/email[@address]">
- <xsl:value-of select="translate(@address, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
- <xsl:text>,</xsl:text>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="allmails" select="(to/email[@address] | cc/email[@address] | summary/email[@address])"/>
- <xsl:variable name="restmails" select="$allmails[not(contains($listmails,translate(concat(@address,','), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')))]"/>
- <xsl:if test="$restmails">
- <xsl:text>&amp;cc=</xsl:text>
- <xsl:apply-templates select="$restmails" mode="mailto"/>
- </xsl:if>
- <xsl:text>&amp;body=</xsl:text>
- <xsl:value-of select="$quote-open"/>
- <xsl:apply-templates select="summary" mode="text-date"/>
- <xsl:value-of select="$quote-middle"/>
- <xsl:apply-templates select="summary/email" mode="email-name"/>
- <xsl:value-of select="$quote-close"/>
- <xsl:text>
-&gt; </xsl:text>
- <xsl:apply-templates select="mime" mode="mailtobody"/>
- </xsl:attribute>
- <img src="../imgs/reply.png" alt="{$reply-to-message}" title="{$reply-to-message}"/>
- </xsl:element>
-</xsl:template>
-
-
<!-- Format the mime attachments -->
<xsl:template match="mime" mode="attach">
<xsl:if test="translate(substring-before(@type,'/'),'MULTIPART','multipart')!='multipart'">
@@ -147,10 +72,11 @@
<xsl:template name="attachments">
<table class="attachments">
<tr><th align="left"><xsl:value-of select="$attachments"/>:</th></tr>
- <tr><td>
- <a href="../mbox/{summary/id}.rfc822"><xsl:value-of select="$raw-email"/></a><br/>
- <xsl:apply-templates mode="attach" select="mime"/>
- </td></tr>
+ <tr>
+ <td>
+ <xsl:apply-templates mode="attach" select="mime"/>
+ </td>
+ </tr>
</table>
</xsl:template>
@@ -233,13 +159,10 @@
<xsl:when test="prev">
<td>
<a href="{prev/summary/id}.{$ext}#{list/id}">
- <img src="../imgs/prev.png" alt="&lt;-"/>
+ <img src="../imgs/prev.png" alt="&lt;-" title="{$subject}: {prev/summary/subject}"/>
</a>
</td>
<td align="left" width="50%">
- <a href="{prev/summary/id}.{$ext}#{list/id}">
- <xsl:value-of select="prev/summary/subject"/>
- </a>
</td>
</xsl:when>
<xsl:otherwise><td>&#160;</td><td>&#160;</td></xsl:otherwise>
@@ -247,13 +170,10 @@
<xsl:choose>
<xsl:when test="next">
<td align="right" width="50%">
- <a href="{next/summary/id}.{$ext}#{list/id}">
- <xsl:value-of select="next/summary/subject"/>
- </a>
</td>
<td>
<a href="{next/summary/id}.{$ext}#{list/id}">
- <img src="../imgs/next.png" alt="-&gt;"/>
+ <img src="../imgs/next.png" alt="-&gt;" title="{$subject}: {next/summary/subject}"/>
</a>
</td>
</xsl:when>
@@ -270,12 +190,12 @@
<td><xsl:call-template name="attachments"/></td>
</xsl:if>
<td>
+ <a href="../mbox/{summary/id}.rfc822">
+ <br/><img src="../imgs/download.png" alt="${$raw-email}" title="{$raw-email}"/>
+ </a>
<a href="javascript:trash('{server/doc-url}/zap/{summary/id}.{$ext}');">
- <img src="../imgs/trash.png" alt="{$delete-message}" title="{$delete-message}"/>
+ <br/><img src="../imgs/a.png" width="48" alt="{$delete-message}" title="{$delete-message}"/>
</a>
- <xsl:if test="mbox/list/email/@address">
- <br/><xsl:call-template name="reply-link"/>
- </xsl:if>
</td>
</tr></table>
</xsl:template>
@@ -310,9 +230,51 @@
<xsl:apply-templates mode="tree" select="threading/snippet/tree[position()=1]"/>
</td>
<td align="right">
+ <xsl:choose>
+ <xsl:when test="threading/prev">
+ <a href="{threading/prev/summary/id}.{$ext}">
+ <xsl:element name="img">
+ <xsl:attribute name="src">
+ <xsl:text>../imgs/prev.png</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:text>&lt;-</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Previous in thread: </xsl:text>
+ <xsl:apply-templates mode="post-description-text" select="threading/prev/summary"/>
+ </xsl:attribute>
+ </xsl:element>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <img src="../imgs/a.png" width="32" alt="&#160;"/>
+ </xsl:otherwise>
+ </xsl:choose>
<a href="../thread/{summary/id}.{$ext}#i{summary/id}">
- <xsl:value-of select="$full-tree"/>
+ <img src="../imgs/tree.png" alt="&lt;-" title="{$full-tree}"/>
</a>
+ <xsl:choose>
+ <xsl:when test="threading/next">
+ <a href="{threading/next/summary/id}.{$ext}">
+ <xsl:element name="img">
+ <xsl:attribute name="src">
+ <xsl:text>../imgs/next.png</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:text>-&gt;</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Next in thread: </xsl:text>
+ <xsl:apply-templates mode="post-description-text" select="threading/next/summary"/>
+ </xsl:attribute>
+ </xsl:element>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <img src="../imgs/a.png" width="32" alt="&#160;"/>
+ </xsl:otherwise>
+ </xsl:choose>
</td>
</tr>
<tr>
@@ -320,30 +282,62 @@
<xsl:apply-templates mode="tree" select="threading/snippet/tree[position()=2]"/>
</td>
<td nowrap="NOWRAP" align="right">
- <xsl:choose>
- <xsl:when test="threading/prev">
- <a href="{threading/prev/summary/id}.{$ext}">
- <xsl:apply-templates mode="post-description-text" select="threading/prev/summary"/>
- <img src="../imgs/prev.png" alt="&lt;-"/>
- </a>
- </xsl:when>
- <xsl:otherwise>&#160;</xsl:otherwise>
- </xsl:choose>
+ <img src="../imgs/a.png" alt="&#160;"/>
</td>
</tr>
<tr>
<td nowrap="NOWRAP">
<xsl:apply-templates mode="tree" select="threading/snippet/tree[position()=3]"/>
</td>
- <td nowrap="NOWRAP" align="right">
+ <td nowrap="NOWRAP" align="right" overflow="visible">
<xsl:choose>
- <xsl:when test="threading/next">
- <a href="{threading/next/summary/id}.{$ext}">
- <xsl:apply-templates mode="post-description-text" select="threading/next/summary"/>
- <img src="../imgs/next.png" alt="-&gt;"/>
+ <xsl:when test="mbox/prev">
+ <a href="{mbox/prev/summary/id}.{$ext}#{list/id}">
+ <xsl:element name="img">
+ <xsl:attribute name="src">
+ <xsl:text>../imgs/prev.png</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:text>&lt;-</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Previous in time: </xsl:text>
+ <xsl:apply-templates mode="post-description-text" select="mbox/prev/summary"/>
+ <xsl:text>&#10;Subject: </xsl:text>
+ <xsl:value-of select="mbox/prev/summary/subject"/>
+ </xsl:attribute>
+ </xsl:element>
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <img src="../imgs/a.png" width="32" alt="&#160;"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <a href="../mindex/{mbox/list/id}@{summary/id}.{$ext}">
+ <img src="../imgs/chrono.png" alt="&lt;-" title="{$near-message}"/>
+ </a>
+ <xsl:choose>
+ <xsl:when test="mbox/next">
+ <a href="{mbox/next/summary/id}.{$ext}#{list/id}">
+ <xsl:element name="img">
+ <xsl:attribute name="src">
+ <xsl:text>../imgs/next.png</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:text>-&gt;</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="title">
+ <xsl:text>Next in time: </xsl:text>
+ <xsl:apply-templates mode="post-description-text" select="mbox/next/summary"/>
+ <xsl:text>&#10;Subject: </xsl:text>
+ <xsl:value-of select="mbox/next/summary/subject"/>
+ </xsl:attribute>
+ </xsl:element>
</a>
</xsl:when>
- <xsl:otherwise>&#160;</xsl:otherwise>
+ <xsl:otherwise>
+ <img src="../imgs/a.png" width="32" alt="&#160;"/>
+ </xsl:otherwise>
</xsl:choose>
</td>
</tr>