Revert "Revert "don't publish news items with future @date""

This reverts commit 581f0be64f.

Conflicts:
	documentation/conventions.md
This commit is contained in:
Astro 2014-04-01 23:01:28 +02:00
parent c3a254d26c
commit ece908a4c1
6 changed files with 43 additions and 31 deletions

View File

@ -10,7 +10,6 @@ XSL-Stylesheet
- Begründung: Ermöglicht Transformation in verschiedene Formate durch Angabe des entsprechenden XSL-Stylesheets - Begründung: Ermöglicht Transformation in verschiedene Formate durch Angabe des entsprechenden XSL-Stylesheets
(z.B. item-XML-Datei in HTML oder alternativ in RSS transformieren) (z.B. item-XML-Datei in HTML oder alternativ in RSS transformieren)
# Features # Features
Podcast-Einbettung Podcast-Einbettung
@ -42,3 +41,7 @@ Kommentare:
MUC: MUC:
- Integration mit Nick input + Submit button - Integration mit Nick input + Submit button
- Vielleicht auch iframe? - Vielleicht auch iframe?
## news pre-posting
some news shall be written right now but published later, thats why the date next to author of the news/events item etc. should be compared and if greater than the current one not considered for publication yet.

View File

@ -1,9 +1,5 @@
= was man noch machen könnte = was man noch machen könnte
== news pre-posting
some news shall be written right now but published later, thats why the date next to author of the news/events item etc. should be compared and if greater than the current one not considered for publication yet.
== potal-mediagoblin == potal-mediagoblin
eine option für das bekanntgeben eines neuen Bilcdes fehlt im Mediagobline. Derzeit werden alle Bilder von bestimmten Nutzern (john, astro, lachmoewe, bigalex) bekannt gegeben.. nuja. eine option für das bekanntgeben eines neuen Bilcdes fehlt im Mediagobline. Derzeit werden alle Bilder von bestimmten Nutzern (john, astro, lachmoewe, bigalex) bekannt gegeben.. nuja.

View File

@ -41,8 +41,8 @@
<xsl:sort select="date:seconds(document(.)/item/@date)" data-type="number" order="descending" /> <xsl:sort select="date:seconds(document(.)/item/@date)" data-type="number" order="descending" />
<xsl:variable name="newsfile" select="."/> <xsl:variable name="newsfile" select="."/>
<xsl:if test="(position() &lt;= $maxitems) and <xsl:if test="(position() &lt;= $maxitems) and
starts-with(substring-after(substring-after($newsfile, '/'), '/'), $prefix)"> starts-with(substring-after(substring-after($newsfile, '/'), '/'), $prefix) and
starts-with(date:difference(date:date-time(), document(.)/item/@date), '-')">
<xsl:for-each select="document($newsfile)/item"> <xsl:for-each select="document($newsfile)/item">
<xsl:call-template name="atom-entry"> <xsl:call-template name="atom-entry">
<xsl:with-param name="newsfile" select="$newsfile"/> <xsl:with-param name="newsfile" select="$newsfile"/>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" <xsl:stylesheet version="1.0"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="yes"/> <xsl:output method="xml" encoding="utf-8" indent="yes"/>
@ -17,10 +18,13 @@
<!-- Extract from news --> <!-- Extract from news -->
<xsl:for-each select="document('../news.xml')//newsfile"> <xsl:for-each select="document('../news.xml')//newsfile">
<xsl:apply-templates select="document(concat('../', .))/item" mode="news"> <xsl:if test="starts-with(date:difference(date:date-time(), @date), '-')">
<xsl:with-param name="link" <xsl:apply-templates select="document(concat('../', .))/item"
select="concat(substring-before(substring-after(., 'content/'), '.xml'), '.html')"/> mode="news">
</xsl:apply-templates> <xsl:with-param name="link"
select="concat(substring-before(substring-after(., 'content/'), '.xml'), '.html')"/>
</xsl:apply-templates>
</xsl:if>
</xsl:for-each> </xsl:for-each>
</portal> </portal>
</xsl:template> </xsl:template>
@ -85,23 +89,15 @@
</xsl:template> </xsl:template>
<xsl:template match="item" mode="news"> <xsl:template match="item" mode="news">
<xsl:param name="link"/> <xsl:param name="link"/>
<!-- date cannot be compared (to current date) in xslt 1.0 without a param handed over --> <item date="{@date}" class="news">
<!-- current-date() as of XSLT 2.0 --> <header>News</header>
<!-- <footer>by <xsl:value-of select="@author"/></footer>
<xsl:if test="{@date}"> <content-text><xsl:value-of select="@title"/></content-text>
--> <xsl:apply-templates select=".//image[1]" mode="news"/>
<item date="{@date}" class="news"> <link><xsl:value-of select="$link"/></link>
<header>News</header> </item>
<footer>by <xsl:value-of select="@author"/></footer>
<content-text><xsl:value-of select="@title"/></content-text>
<xsl:apply-templates select=".//image[1]" mode="news"/>
<link><xsl:value-of select="$link"/></link>
</item>
<!--
</xsl:if>
-->
</xsl:template> </xsl:template>
<xsl:template match="item/image[1]" mode="news"> <xsl:template match="item/image[1]" mode="news">

View File

@ -39,8 +39,8 @@
<xsl:sort select="date:seconds(document(.)/item/@date)" data-type="number" order="descending" /> <xsl:sort select="date:seconds(document(.)/item/@date)" data-type="number" order="descending" />
<xsl:variable name="newsfile" select="."/> <xsl:variable name="newsfile" select="."/>
<xsl:if test="(position() &lt;= $maxitems) and <xsl:if test="(position() &lt;= $maxitems) and
starts-with(substring-after(substring-after($newsfile, '/'), '/'), $prefix)"> starts-with(substring-after(substring-after($newsfile, '/'), '/'), $prefix) and
starts-with(date:difference(date:date-time(), document(.)/item/@date), '-')">
<xsl:apply-templates select="document(.)/item"> <xsl:apply-templates select="document(.)/item">
<xsl:with-param name="newsfile" select="$newsfile"/> <xsl:with-param name="newsfile" select="$newsfile"/>
</xsl:apply-templates> </xsl:apply-templates>

View File

@ -135,7 +135,14 @@
<xsl:for-each select="newsfile"> <xsl:for-each select="newsfile">
<xsl:sort select="date:seconds(document(concat('../', .))/item/@date)" data-type="number" order="descending" /> <xsl:sort select="date:seconds(document(concat('../', .))/item/@date)" data-type="number" order="descending" />
<xsl:if test="position() &lt;= 10"> <xsl:if test="position() &lt;= 10 and
not(starts-with(
date:difference(
document(concat('../', .))/item/@date,
date:date-time()
),
'-'
))">
<xsl:variable name="newsfile"><xsl:value-of select="."/></xsl:variable> <xsl:variable name="newsfile"><xsl:value-of select="."/></xsl:variable>
<xsl:variable name="itemposition" select="position()"/> <xsl:variable name="itemposition" select="position()"/>
@ -252,7 +259,17 @@
<xsl:variable name="newsfile" select="."/> <xsl:variable name="newsfile" select="."/>
<xsl:for-each select="document(concat('../', $newsfile))/item"> <xsl:for-each select="document(concat('../', $newsfile))/item">
<xsl:if test="((string-length($prefix) = 0) or starts-with($newsfile, concat('content/news/', $prefix))) and (($details != 'resources-only') or (count(resource) &gt; 0))"> <xsl:if test="((string-length($prefix) = 0) or
starts-with($newsfile, concat('content/news/', $prefix))) and
(($details != 'resources-only') or
(count(resource) &gt; 0)) and
starts-with(
date:difference(
document(concat('../', .))/item/@date,
date:date-time()
),
'-'
)">
<div> <div>
<xsl:if test="($details = 'event') and event"> <xsl:if test="($details = 'event') and event">