<!--
Copyright (C) Igor Sysoev
Copyright (C) Nginx, Inc.
-->
X:stylesheet {
X:output method="html" version="4.0" indent="no" encoding="utf-8";
X:strip-space elements = "*";
<!--
-- a current directory of a XSLT script is where the script is stored,
-- but not where XSLT processor has been started to run the script
-->
X:param XML = "'../xml'";
X:param YEAR;
X:param ORIGIN;
X:param TRANS;
X:var SITE = "'http://nginx.org'";
X:var LINK = "/news/@link";
X:var LANG = "/news/@lang";
X:include href = "dirname.xslt";
X:include href = "link.xslt";
X:include href = "style.xslt";
X:include href = "body.xslt";
X:include href = "menu.xslt";
X:include href = "content.xslt";
X:template = "/news" {
<html><head>
<link rel="alternate" type="application/rss+xml"
title="{@name}" href="{$SITE}/index.rss" />
<title> !{@name} X:if "$YEAR" { X:text{: } !{$YEAR} } </title>
!style (lang="@lang")
</head>
!body (lang="@lang")
</html>
}
X:template = "years/year[@year]" {
X:if "position() = 1" {
X:text disable-output-escaping="yes" {
<div class="dropdown">
<button class="dropbtn">news archive ▾</button>
<div class="dropdown-content">
}
}
X:if "position() != last()" {
X:if "$YEAR=@year" {
<b><a href="{@href}">!{@year}</a></b>
} else {
<a href="{@href}">!{@year}</a>
}
}
X:if "position() = last()" {
X:if "$YEAR=@year" {
<b><a href="{@href}">!{@year}</a></b>
} else {
<a href="{@href}">!{@year}</a>
}
X:text disable-output-escaping="yes" {
</div></div>
}
}
}
X:template = "event" {
X:var year = { !{substring(../event[position()=1]/@date, 1, 4)} }
X:var y = { !{substring(@date, 1, 4)} }
<!-- News items start at position 2 so that we skip the dropdown menu -->
X:if "position() = 2" {
X:text disable-output-escaping="yes" {
<table class="news">
}
}
X:if "(not($YEAR) and ($year = $y or position() < 12)) or $YEAR=$y" {
<tr>
<td class="date">
<a name="{@date}" /> !{@date}
</td>
<td> !! "para"; </td>
</tr>
}
X:if "position() = last()" {
X:text disable-output-escaping="yes" {
</table>
}
}
}
}