annotate xslt/rss.xslt @ 2846:fdf1464e1977

Moved banner to the external file to make partial rollout possible. An idea is to have several banners and show them with different probability specified by split directive in the nginx.conf
author Sergey Budnevitch <sb@waeme.net>
date Tue, 10 May 2022 18:07:27 +0400
parents 4011ba8fdf30
children 331fcfce1ada
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
2 <!--
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
3 Copyright (C) Igor Sysoev
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
4 Copyright (C) Nginx, Inc.
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
5 -->
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
6
1211
4011ba8fdf30 Regenerated.
Ruslan Ermilov <ru@nginx.com>
parents: 1203
diff changeset
7 <xsl:stylesheet xmlns:date="http://exslt.org/dates-and-times" exclude-result-prefixes="date" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
8
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
9 <xsl:output indent="no" encoding="utf-8"/>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
10
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
11 <xsl:strip-space elements="*"/>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
12
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
13 <!--
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
14 .. a current directory of a XSLT script is where the script is stored,
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
15 .. but not where XSLT processor has been started to run the script
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
16 -->
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
17 <xsl:param select="'../xml'" name="XML"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
18 <xsl:param name="YEAR"/>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
19
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
20 <xsl:variable select="'http://nginx.org'" name="SITE"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
21 <xsl:variable select="/news/@link" name="LINK"/>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
22
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
23 <xsl:include href="dirname.xslt"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
24 <xsl:include href="link.xslt"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
25 <xsl:include href="menu.xslt"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
26 <xsl:include href="content.xslt"/>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
27
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
28
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
29 <xsl:template match="/news">
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
30 <rss version="2.0">
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
31 <channel>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
32 <title> <xsl:value-of select="@name"/> </title>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
33 <link> <xsl:value-of select="$SITE"/> </link>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
34 <description/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
35 <xsl:apply-templates select="event"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
36 </channel>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
37 </rss>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
38 </xsl:template>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
39
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
40
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
41 <xsl:template match="event[position() &lt;= 10]">
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
42
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
43 <xsl:variable name="year"> <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/> </xsl:variable>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
44 <xsl:variable name="y"> <xsl:value-of select="substring(@date, 1, 4)"/> </xsl:variable>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
45
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
46 <xsl:variable name="page">
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
47 <xsl:if test="$year != $y">
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
48 <xsl:value-of select="concat($y, '.html')"/>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
49 </xsl:if>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
50 </xsl:variable>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
51
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
52 <item>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
53 <title> <xsl:apply-templates select="para[1]//text()"/> </title>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
54 <guid> <xsl:value-of select="$SITE"/> <xsl:text>/</xsl:text> <xsl:value-of select="$page"/> <xsl:text>#</xsl:text> <xsl:value-of select="@date"/> </guid>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
55 <link> <xsl:value-of select="$SITE"/> <xsl:text>/</xsl:text> <xsl:value-of select="$page"/> <xsl:text>#</xsl:text> <xsl:value-of select="@date"/> </link>
1203
0f9faaddd31c Regenerated.
Konstantin Pavlov <thresh@nginx.com>
parents: 1085
diff changeset
56 <pubDate>
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
57 <xsl:value-of select=" concat(date:day-abbreviation(@date), ', ',
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
58 format-number(date:day-in-month(@date), '00'), ' ',
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
59 date:month-abbreviation(@date), ' ',
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
60 date:year(@date),
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
61 ' 00:00:00 +0300') "/>
1203
0f9faaddd31c Regenerated.
Konstantin Pavlov <thresh@nginx.com>
parents: 1085
diff changeset
62 </pubDate>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
63
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
64 <description>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
65 <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
66 <xsl:value-of select="@date"/>
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
67 <xsl:apply-templates select="para"/>
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
68 <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
69 </description>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
70 </item>
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
71 </xsl:template>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
72
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
73
1085
c454373427ef Regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 170
diff changeset
74 <xsl:template match="event"> </xsl:template>
170
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
75
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
76
cd2698ea00ab Added generated XSLTs.
Ruslan Ermilov <ru@nginx.com>
parents:
diff changeset
77 </xsl:stylesheet>