Add an event section to the website.

This is meant both as a way to get an overview of upcoming FreeBSD
related events, and as a way to structure links to pages with
information / pictures / etc. from past events.

The page automatically determines which events are upcoming and which
are past, by comparing the event dates with the current date.

Discussed on:		-www
Inspired by PR:		www/53674
Which was submitted by:	Josef El-Rayes <j.el-rayes@daemon.li>
This commit is contained in:
Simon L. B. Nielsen 2003-10-12 17:24:21 +00:00
parent beb0b54012
commit bf545fc198
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=18407
6 changed files with 648 additions and 3 deletions

View file

@ -1,4 +1,4 @@
# $FreeBSD: www/en/events/Makefile,v 1.2 2002/03/26 08:11:53 murray Exp $
# $FreeBSD: www/en/events/Makefile,v 1.3 2003/09/22 07:44:39 murray Exp $
.if exists(../Makefile.conf)
.include "../Makefile.conf"
@ -11,4 +11,37 @@ SUBDIR= 2002 2003
DATA= events.css
DATA= events.html
CLEANFILES+= events.html curdate.xml
DATE?= /bin/date
TR?= /usr/bin/tr
XMLLINT?= /usr/local/bin/xmllint # Part of textproc/libxml2.
events.html: events.xsl events.xml ../includes.xsl curdate.xml
${XSLTPROC} ${XSLTPROCOPTS} -o ${.TARGET} \
${.CURDIR}/events.xsl ${.CURDIR}/events.xml
.if !defined(NO_TIDY)
-${TIDY} ${TIDYOPTS} ${.TARGET}
.endif
lint:
${XMLLINT} --valid -o /dev/null ${.CURDIR}/events.xml
# XXX TODO: Handle this better, so curdate.xml isn't rebuild on install.
curdate.xml!
@${ECHO} "Generating ${.TARGET}"
@${ECHO_CMD} '<?xml version="1.0"?>' > ${.TARGET}
@${ECHO_CMD} '<curdate>' >> ${.TARGET}
@${ECHO_CMD} -n ' <year>' >> ${.TARGET}
@${DATE} +%Y | ${TR} -d "\n" >> ${.TARGET}
@${ECHO_CMD} '</year>' >> ${.TARGET}
@${ECHO_CMD} -n ' <month>' >> ${.TARGET}
@${DATE} +%m | ${TR} -d "\n" >> ${.TARGET}
@${ECHO_CMD} '</month>' >> ${.TARGET}
@${ECHO_CMD} -n ' <day>' >> ${.TARGET}
@${DATE} +%d | ${TR} -d "\n" >> ${.TARGET}
@${ECHO_CMD} '</day>' >> ${.TARGET}
@${ECHO_CMD} '</curdate>' >> ${.TARGET}
.include "${WEB_PREFIX}/share/mk/web.site.mk"

83
en/events/events.dtd Normal file
View file

@ -0,0 +1,83 @@
<!-- Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
$FreeBSD$
-->
<!-- DTD for events.xml on the FreeBSD website. -->
<!ELEMENT events (cvs:keywords?, event+)>
<!ELEMENT event (name?, url?, startdate, enddate, location, description?, link*)>
<!ATTLIST event id ID #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!--
Meaning of type attribute:
freebsd-website:
The URL is relative to the FreeBSD website root.
The URL should start with a single "/".
absolute:
Normal absolute URL.
-->
<!ATTLIST url type (absolute|freebsd-website) "absolute">
<!ELEMENT startdate (year,month,day)>
<!ELEMENT enddate (year,month,day)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT day (#PCDATA)>
<!ELEMENT location (country?,state?,city?,site?,address?)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT site (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT description (#PCDATA|a|tt|i|b)*>
<!-- Misc HTML entities which might be used; just add more as needed -->
<!ELEMENT a (#PCDATA)>
<!ATTLIST a href CDATA #REQUIRED>
<!ELEMENT b (#PCDATA|a)*>
<!ELEMENT i (#PCDATA|a)*>
<!ELEMENT tt (#PCDATA|a)*>
<!--
Link to a web page (local or remote) with additional information
about the event. Can also be used for post-event comments/notes.
-->
<!ELEMENT link (name, url)>
<!ATTLIST link type (photos|notes|other) "other">
<!-- Common CVS tags -->
<!ELEMENT cvs:keywords (cvs:keyword+)>
<!ATTLIST cvs:keywords xmlns:cvs CDATA #FIXED 'http://www.FreeBSD.org/XML/CVS'>
<!ATTLIST cvs:keywords version CDATA #FIXED '1.0'>
<!ELEMENT cvs:keyword (#PCDATA)>
<!ATTLIST cvs:keyword name CDATA #REQUIRED>

192
en/events/events.xml Normal file
View file

@ -0,0 +1,192 @@
<?xml version="1.0"?>
<!DOCTYPE events SYSTEM "events.dtd">
<!--
Events which might be interesting for FreeBSD users.
Please sort the events by start date.
-->
<events>
<cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
<cvs:keyword name="freebsd">
$FreeBSD$
</cvs:keyword>
</cvs:keywords>
<event id="usenix-2004">
<name>2004 USENIX Annual Technical Conference</name>
<url>http://www.usenix.org/events/usenix04/</url>
<startdate>
<year>2004</year>
<month>6</month>
<day>27</day>
</startdate>
<enddate>
<year>2004</year>
<month>7</month>
<day>2</day>
</enddate>
<location>
<country>USA</country>
<state>Massachusetts</state>
<city>Boston</city>
</location>
</event>
<event id="bsdcan-2004">
<name>BSDCan</name>
<url>http://www.bsdcan.org/</url>
<startdate>
<year>2004</year>
<month>5</month>
<day>13</day>
</startdate>
<enddate>
<year>2004</year>
<month>5</month>
<day>15</day>
</enddate>
<location>
<country>Canada</country>
<city>Ottawa</city>
<site>University of Ottawa</site>
</location>
<description>BSDCan is a developers conference with a strong focus
on emerging technologies, research projects, and works in
progress. It also features Userland infrastructure projects and
invite contribution from both free software developers and those
from commercial vendors.</description>
</event>
<event id="asia-bsdcon-2004">
<name>Asia BSDCon 2004</name>
<url>http://www.asiabsdcon.org/</url>
<startdate>
<year>2004</year>
<month>3</month>
<day>12</day>
</startdate>
<enddate>
<year>2004</year>
<month>3</month>
<day>15</day>
</enddate>
<location>
<country>Taiwan</country>
<city>Taipei</city>
<site>Academica Sinica</site>
</location>
<description>The first BSDCon held in Asia, and sponsored by <a
href="http://www.usenix.org/">USENIX Association</a>. Two days
of tutorials will precede two days of technical sessions and a
vendor exhibit.</description>
</event>
<event id="linuxforum-2004">
<name>LinuxForum 2004</name>
<url>http://www.linuxforum.dk/</url>
<startdate>
<year>2004</year>
<month>3</month>
<day>5</day>
</startdate>
<enddate>
<year>2004</year>
<month>3</month>
<day>6</day>
</enddate>
<location>
<country>Denmark</country>
<city>Copenhagen</city>
<site>Symbion</site>
<address>Fruebjergvej 3</address>
</location>
<description>Annual Danish Open Source conference. The Danish BSD
user group <a href="http://www.bsd-dk.dk">BSD-DK</a> will present
the BSD's.</description>
</event>
<event id="nordu-2004">
<name>NordU2004</name>
<url>http://www.nordu.org/NordU2004/</url>
<startdate>
<year>2004</year>
<month>1</month>
<day>31</day>
</startdate>
<enddate>
<year>2004</year>
<month>2</month>
<day>1</day>
</enddate>
<location>
<country>Denmark</country>
<city>Copenhagen</city>
<site>Symbion</site>
<address>Fruebjergvej 3</address>
</location>
<description>The NordU conference brings together researchers,
practitioners, system administrators, system programmers,
developers and other interested in the latest advances in
operating systems, Open/Free software, Linux, BSD, Solaris,
security and interoperability.</description>
</event>
<event id="ccc-20">
<name>20. Chaos Communication Congress</name>
<url>http://www.ccc.de/congress/2003/</url>
<startdate>
<year>2003</year>
<month>12</month>
<day>27</day>
</startdate>
<enddate>
<year>2003</year>
<month>12</month>
<day>29</day>
</enddate>
<location>
<country>Germany</country>
<city>Berlin</city>
<site>Berliner Congress Center</site>
<address>Alexanderplatz 2</address>
</location>
</event>
<event id="bsdcon-03">
<name>BSDCon '03</name>
<url>http://www.usenix.org/events/bsdcon03/</url>
<startdate>
<year>2003</year>
<month>9</month>
<day>8</day>
</startdate>
<enddate>
<year>2003</year>
<month>9</month>
<day>12</day>
</enddate>
<location>
<country>USA</country>
<state>California</state>
<city>San Mateo</city>
</location>
<description>For the fourth time, the main BSD Event, BSDCon is
happening. Two days of tutorials will precede two and a half
days of technical sessions. An opportunity for people of all
experience levels to learn from BSD experts, professionals with
real world experience, and industry leaders.</description>
<link type="notes">
<name>FreeBSD Developer Summit notes</name>
<url type="freebsd-website">/events/2003/bsdcon-devsummit.html</url>
</link>
<link type="other">
<name>Unofficial BSDCon US 2003 Wiki</name>
<url>http://bsdcon.kwiki.org/</url>
</link>
<link type="photos">
<name>BSDCon 2003 Photos by Matt Dillon</name>
<url>http://apollo.backplane.com/BSDCON2003/</url>
</link>
</event>
</events>

234
en/events/events.xsl Normal file
View file

@ -0,0 +1,234 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
$FreeBSD$
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:cvs="http://www.FreeBSD.org/XML/CVS"
exclude-result-prefixes="cvs">
<xsl:import href="../includes.xsl"/>
<xsl:import href="includes.xsl"/>
<xsl:variable name="curdate" select="document('curdate.xml')//curdate"/>
<xsl:variable name="base" select="'..'"/>
<xsl:variable name="date">
<xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
</xsl:variable>
<xsl:variable name="email" select="'freebsd-www'"/>
<xsl:variable name="title" select="'FreeBSD Events'"/>
<xsl:output method="xml" encoding="iso-8859-1"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
<xsl:key name="event-by-month" match="event"
use="concat(startdate/year, format-number(startdate/month, '00'))"/>
<!-- Template: events -->
<xsl:template match="events">
<html>
<xsl:copy-of select="$header1"/>
<body xsl:use-attribute-sets="att.body">
<xsl:copy-of select="$header2"/>
<!--
Note the current date to have a reference, if the
upcoming/past events are split incorrectly.
-->
<xsl:comment>
<xsl:text>Generated on: </xsl:text>
<xsl:value-of select="concat($curdate/year,
format-number($curdate/month, '00'),
format-number($curdate/day, '00'))"/>
</xsl:comment>
<p>If you know of any FreeBSD related events, or events that
are of interest for FreeBSD users, which are not listed
here, please send details to <a
href="mailto:www@freebsd.org">www@FreeBSD.org</a>, so they
can be included.</p>
<h2 id="upcoming">
<xsl:text>Current/upcoming events:</xsl:text>
</h2>
<xsl:for-each select="event[generate-id() =
generate-id(key('event-by-month',
concat(startdate/year, format-number(startdate/month, '00')))[1])
and ((number(enddate/year) &gt; number($curdate/year)) or
(number(enddate/year) = number($curdate/year) and
number(enddate/month) &gt; number($curdate/month)) or
(number(enddate/year) = number($curdate/year) and
number(enddate/month) = number($curdate/month) and
enddate/day &gt;= $curdate/day))]">
<xsl:sort select="startdate/year" order="ascending"/>
<xsl:sort select="format-number(startdate/month, '00')" order="ascending"/>
<xsl:sort select="format-number(startdate/day, '00')" order="ascending"/>
<h3>
<xsl:attribute name="id">
<xsl:text>month:</xsl:text>
<xsl:value-of select="concat(startdate/year,
format-number(startdate/month, '00'))"/>
</xsl:attribute>
<xsl:call-template name="gen-long-en-month">
<xsl:with-param name="nummonth" select="startdate/month"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="startdate/year"/>
</h3>
<ul>
<xsl:for-each select="key('event-by-month',
concat(startdate/year, format-number(startdate/month, '00')))">
<xsl:sort select="format-number(startdate/day, '00')" order="ascending"/>
<xsl:apply-templates select="."/>
</xsl:for-each>
</ul>
</xsl:for-each>
<h2 id="past">
<xsl:text>Past events:</xsl:text>
</h2>
<xsl:for-each select="event[generate-id() =
generate-id(key('event-by-month', concat(startdate/year,
format-number(startdate/month, '00')))[1])
and ((number(enddate/year) &lt; number($curdate/year)) or
(number(enddate/year) = number($curdate/year) and
number(enddate/month) &lt; number($curdate/month)) or
(number(enddate/year) = number($curdate/year) and
number(enddate/month) = number($curdate/month) and
number(enddate/day) &lt; number($curdate/day)))]">
<xsl:sort select="number(startdate/year)" order="descending"/>
<xsl:sort select="format-number(startdate/month, '00')" order="descending"/>
<xsl:sort select="format-number(startdate/day, '00')" order="descending"/>
<h3>
<xsl:attribute name="id">
<xsl:text>month:</xsl:text>
<xsl:value-of select="concat(startdate/year,
format-number(startdate/month, '00'))"/>
</xsl:attribute>
<xsl:call-template name="gen-long-en-month">
<xsl:with-param name="nummonth" select="startdate/month"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="startdate/year"/>
</h3>
<ul>
<xsl:for-each select="key('event-by-month',
concat(startdate/year, format-number(startdate/month, '00')))">
<xsl:sort select="format-number(startdate/day, '00')" order="descending"/>
<xsl:apply-templates select="."/>
</xsl:for-each>
</ul>
</xsl:for-each>
<xsl:copy-of select="$footer"/>
</body>
</html>
</xsl:template>
<!-- Template: event -->
<xsl:template match="event">
<li>
<xsl:attribute name="id">
<xsl:call-template name="generate-event-anchor"/>
</xsl:attribute>
<p>
<b>
<xsl:if test="url">
<xsl:apply-templates select="url"/>
</xsl:if>
<xsl:if test="not(url)">
<xsl:value-of select="name"/>
</xsl:if>
</b>
<xsl:if test="location/site!=''">
<xsl:text>, </xsl:text>
<xsl:value-of select="location/site"/>
</xsl:if>
<xsl:if test="location/city!=''">
<xsl:text>, </xsl:text>
<xsl:value-of select="location/city"/>
</xsl:if>
<xsl:if test="location/state!=''">
<xsl:text>, </xsl:text>
<xsl:value-of select="location/state"/>
</xsl:if>
<xsl:if test="location/country!=''">
<xsl:text>, </xsl:text>
<xsl:value-of select="location/country"/>
</xsl:if>
<br/>
<em>
<xsl:call-template name="gen-date-interval">
<xsl:with-param name="startdate" select="startdate" />
<xsl:with-param name="enddate" select="enddate" />
</xsl:call-template>
</em><br/>
<xsl:copy-of select="description/child::node()"/>
</p>
<xsl:if test="link">
<p><xsl:apply-templates select="link"/></p>
</xsl:if>
</li>
</xsl:template>
<!-- Template: link -->
<xsl:template match="link">
<xsl:apply-templates select="url"/>
<xsl:if test="not(position()=last())">
<xsl:text>&#160;</xsl:text>
</xsl:if>
</xsl:template>
<!-- Template: url -->
<xsl:template match="url">
<a>
<xsl:attribute name="href">
<xsl:choose>
<xsl:when test="@type='freebsd-website'">
<xsl:value-of select="$base"/>
</xsl:when>
</xsl:choose>
<xsl:value-of select="."/>
</xsl:attribute>
<xsl:value-of select="../name"/>
</a>
</xsl:template>
</xsl:stylesheet>

102
en/events/includes.xsl Normal file
View file

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
$FreeBSD$
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Generate a unique anchor for this event. -->
<xsl:template name="generate-event-anchor">
<xsl:text>event:</xsl:text>
<xsl:value-of select="@id"/>
</xsl:template>
<!-- Generic templates: -->
<!-- Convert a month number to the corresponding long English name. -->
<xsl:template name="gen-long-en-month">
<xsl:param name="nummonth"/>
<xsl:variable name="month" select="number($nummonth)"/>
<xsl:choose>
<xsl:when test="$month=1">January</xsl:when>
<xsl:when test="$month=2">February</xsl:when>
<xsl:when test="$month=3">March</xsl:when>
<xsl:when test="$month=4">April</xsl:when>
<xsl:when test="$month=5">May</xsl:when>
<xsl:when test="$month=6">June</xsl:when>
<xsl:when test="$month=7">July</xsl:when>
<xsl:when test="$month=8">August</xsl:when>
<xsl:when test="$month=9">September</xsl:when>
<xsl:when test="$month=10">October</xsl:when>
<xsl:when test="$month=11">November</xsl:when>
<xsl:when test="$month=12">December</xsl:when>
<xsl:otherwise>Invalid month</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Generate a date interval. -->
<!-- Sample: 27 November, 2002 - 29 December, 2003 -->
<xsl:template name="gen-date-interval">
<xsl:param name="startdate"/>
<xsl:param name="enddate"/>
<xsl:value-of select="startdate/day"/>
<xsl:if test="number(startdate/month) != number(enddate/month) or
number(startdate/day) != number(enddate/day) or
number(startdate/year) != number(enddate/year)">
<xsl:if test="number(startdate/month) != number(enddate/month) or
number(startdate/year) != number(enddate/year)">
<xsl:text> </xsl:text>
<xsl:call-template name="gen-long-en-month">
<xsl:with-param name="nummonth" select="startdate/month"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="number(startdate/year) != number(enddate/year)">
<xsl:text>, </xsl:text>
<xsl:value-of select="startdate/year"/>
</xsl:if>
<xsl:text> - </xsl:text>
<xsl:if test="number(startdate/day) != number(enddate/day) or
number(startdate/month) != number(enddate/month) or
number(startdate/year) != number(enddate/year)">
<xsl:value-of select="enddate/day"/>
</xsl:if>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:call-template name="gen-long-en-month">
<xsl:with-param name="nummonth" select="enddate/month"/>
</xsl:call-template>
<xsl:text>, </xsl:text>
<xsl:value-of select="enddate/year"/>
</xsl:template>
</xsl:stylesheet>

View file

@ -1,4 +1,4 @@
<!-- $FreeBSD: www/en/index.xsl,v 1.76 2003/09/01 18:54:27 kensmith Exp $ -->
<!-- $FreeBSD: www/en/index.xsl,v 1.77 2003/09/18 21:43:28 brueffer Exp $ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
@ -6,7 +6,7 @@
<xsl:import href="news/includes.xsl"/>
<xsl:variable name="base" select="'.'"/>
<xsl:variable name="date" select="'$FreeBSD: www/en/index.xsl,v 1.76 2003/09/01 18:54:27 kensmith Exp $'"/>
<xsl:variable name="date" select="'$FreeBSD: www/en/index.xsl,v 1.77 2003/09/18 21:43:28 brueffer Exp $'"/>
<xsl:variable name="title" select="'The FreeBSD Project'"/>
<xsl:output type="html" encoding="iso-8859-1"
@ -218,6 +218,7 @@
&#183; <a href="{$base}/support.html#user">User Groups</a><br/>
&#183; <a href="{$base}/support.html#web">Web Resources</a><br/>
&#183; <a href="security/index.html">Security</a><br/>
&#183; <a href="{$base}/events/events.html">Events</a><br/>
&#183; <a href="{$base}/support.html">More...</a>
</small></p>