diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2013-10-06 10:50:51 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2013-10-06 10:50:51 -0700 |
commit | 2586ab95a7f2af2e19ab6b2988ea167a086ed1e3 (patch) | |
tree | 802d58e5b78188b3eb8ec465e23d51f97d1ce27c | |
parent | 789b93150ff0fccd60fb4378fe7ff7561d9c85f5 (diff) | |
download | lurker-2586ab95a7f2af2e19ab6b2988ea167a086ed1e3.tar.gz lurker-2586ab95a7f2af2e19ab6b2988ea167a086ed1e3.tar.bz2 lurker-2586ab95a7f2af2e19ab6b2988ea167a086ed1e3.zip |
UI cleanup, first round.
-rw-r--r-- | lurker/imgs/chrono.png | bin | 0 -> 1183 bytes | |||
-rw-r--r-- | lurker/imgs/compose.png | bin | 0 -> 1503 bytes | |||
-rw-r--r-- | lurker/imgs/download.png | bin | 0 -> 1896 bytes | |||
-rw-r--r-- | lurker/imgs/link.png | bin | 0 -> 1156 bytes | |||
-rw-r--r-- | lurker/imgs/near.png | bin | 0 -> 1738 bytes | |||
-rw-r--r-- | lurker/imgs/newmsg.png | bin | 0 -> 1943 bytes | |||
-rw-r--r-- | lurker/imgs/tree.png | bin | 0 -> 807 bytes | |||
-rw-r--r-- | lurker/ui/common.xsl | 162 | ||||
-rw-r--r-- | lurker/ui/default.css | 6 | ||||
-rw-r--r-- | lurker/ui/en.xml | 27 | ||||
-rw-r--r-- | lurker/ui/lang.xsl | 1 | ||||
-rw-r--r-- | lurker/ui/list.xsl | 11 | ||||
-rw-r--r-- | lurker/ui/message.xsl | 208 |
13 files changed, 281 insertions, 134 deletions
diff --git a/lurker/imgs/chrono.png b/lurker/imgs/chrono.png Binary files differnew file mode 100644 index 0000000..465a2bc --- /dev/null +++ b/lurker/imgs/chrono.png diff --git a/lurker/imgs/compose.png b/lurker/imgs/compose.png Binary files differnew file mode 100644 index 0000000..047dae0 --- /dev/null +++ b/lurker/imgs/compose.png diff --git a/lurker/imgs/download.png b/lurker/imgs/download.png Binary files differnew file mode 100644 index 0000000..bac7c2d --- /dev/null +++ b/lurker/imgs/download.png diff --git a/lurker/imgs/link.png b/lurker/imgs/link.png Binary files differnew file mode 100644 index 0000000..e855b61 --- /dev/null +++ b/lurker/imgs/link.png diff --git a/lurker/imgs/near.png b/lurker/imgs/near.png Binary files differnew file mode 100644 index 0000000..55e5058 --- /dev/null +++ b/lurker/imgs/near.png diff --git a/lurker/imgs/newmsg.png b/lurker/imgs/newmsg.png Binary files differnew file mode 100644 index 0000000..4eac089 --- /dev/null +++ b/lurker/imgs/newmsg.png diff --git a/lurker/imgs/tree.png b/lurker/imgs/tree.png Binary files differnew file mode 100644 index 0000000..fac38af --- /dev/null +++ b/lurker/imgs/tree.png 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>"</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>" <</xsl:text> + <xsl:value-of select="@address"/> + <xsl:text>></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>> </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>&references=</xsl:text> + <xsl:value-of select="message-id"/> + <xsl:text>&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>&cc=</xsl:text> + <xsl:apply-templates select="$restmails" mode="mailto"/> + </xsl:if> + <xsl:text>&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> +> </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> </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> </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> </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> </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> </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> </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> </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> </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="∑" 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>"</xsl:text> - <xsl:value-of select="@name"/> - <xsl:text>" <</xsl:text> - <xsl:value-of select="@address"/> - <xsl:text>></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>> </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>&references=</xsl:text> - <xsl:value-of select="message-id"/> - <xsl:text>&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>&cc=</xsl:text> - <xsl:apply-templates select="$restmails" mode="mailto"/> - </xsl:if> - <xsl:text>&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> -> </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="<-"/> + <img src="../imgs/prev.png" alt="<-" 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> </td><td> </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="->"/> + <img src="../imgs/next.png" alt="->" 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><-</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=" "/> + </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="<-" 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>-></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=" "/> + </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="<-"/> - </a> - </xsl:when> - <xsl:otherwise> </xsl:otherwise> - </xsl:choose> + <img src="../imgs/a.png" alt=" "/> </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="->"/> + <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><-</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> 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=" "/> + </xsl:otherwise> + </xsl:choose> + <a href="../mindex/{mbox/list/id}@{summary/id}.{$ext}"> + <img src="../imgs/chrono.png" alt="<-" 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>-></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> Subject: </xsl:text> + <xsl:value-of select="mbox/next/summary/subject"/> + </xsl:attribute> + </xsl:element> </a> </xsl:when> - <xsl:otherwise> </xsl:otherwise> + <xsl:otherwise> + <img src="../imgs/a.png" width="32" alt=" "/> + </xsl:otherwise> </xsl:choose> </td> </tr> |