Changed build script to use different global XSLT script for test page.
svn path=/trunk/; revision=7860
This commit is contained in:
parent
222bc6dc82
commit
cafa246c18
192
fsfeurope.css
Normal file
192
fsfeurope.css
Normal file
@ -0,0 +1,192 @@
|
||||
/* ========================================================================= */
|
||||
/* Style sheet for fsfeurope.org */
|
||||
/* ========================================================================= */
|
||||
|
||||
/* Colors to use:
|
||||
* #202D79 - fsfe blue (the letters "fsfe" in the logo)
|
||||
* #3394CE - blue dark (the bottom star)
|
||||
* #4AD2F0 - blue medium (the middle star)
|
||||
* #6BB340 - green mix (the overlap of the middle and the top star)
|
||||
* #D0F400 - green (the top star)
|
||||
* */
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* General definitions */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 1em 0;
|
||||
background: #FDFDFD;
|
||||
color: #151515;
|
||||
font-family: Nimbus Sans L, Helvetica, Verdana, sans-serif;
|
||||
font-size: 100.01%; /* FIXME: What does this do? */
|
||||
}
|
||||
|
||||
a {
|
||||
color: #202D79;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #314C14; /* like green mix, but darker */
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Logo and Focus */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
td.focus-box {
|
||||
border-left: thin solid #202D79;
|
||||
width: 13em;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Language List */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
td.line {
|
||||
border-top: thin solid #202D79;
|
||||
border-bottom: thin solid #202D79;
|
||||
}
|
||||
|
||||
.line a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.line a:visited {
|
||||
color: #202D79;
|
||||
}
|
||||
|
||||
.line a:hover, .line a:active, .line a:focus {
|
||||
background: #D0F400;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Menu */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
td.menu {
|
||||
border-left: thin solid #202D79;
|
||||
width: 13em;
|
||||
padding: 1em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
a.menu {
|
||||
text-decoration: none;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.submenu {
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
a.menu:visited, a.submenu:visited {
|
||||
color: #202D79;
|
||||
}
|
||||
|
||||
a.menu:hover, a.menu:active, a.menu:focus, a.submenu:hover, a.submenu:active, a.submenu:focus {
|
||||
background: #D0F400;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Content */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
td.body {
|
||||
padding: 0 1.5em;
|
||||
width: 99%;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.body {
|
||||
margin-left 20px;
|
||||
margin-right 20px;
|
||||
}
|
||||
|
||||
.body h1 {
|
||||
text-align: center;
|
||||
color: #202D79;
|
||||
}
|
||||
|
||||
.body h2 {
|
||||
margin-left 0px;
|
||||
color: #202D79;
|
||||
}
|
||||
|
||||
.body h3 {
|
||||
margin-left 0px;
|
||||
color: #202D79;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Styles used only on some pages */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* News and event items */
|
||||
|
||||
table.news {
|
||||
margin: 0px;
|
||||
border-spacing: 0px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
td.newstitle {
|
||||
margin: 0px;
|
||||
border-bottom: thin solid #202D79;
|
||||
border-left: thin solid #202D79;
|
||||
padding: 4px;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
td.newsdate {
|
||||
margin: 0px;
|
||||
border-bottom: thin solid #202D79;
|
||||
padding: 4px;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Project list */
|
||||
|
||||
th.projects {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
td.projects {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Other stuff */
|
||||
|
||||
/* FIXME: replace with something else! */
|
||||
.indent {
|
||||
margin-right: 30px;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* FIXME: Use blockquote instead for real quotations */
|
||||
.quote {
|
||||
font-style:italic;
|
||||
margin-right: 40px;
|
||||
margin-left: 50px;
|
||||
}
|
||||
|
||||
p.footnote {
|
||||
margin-right: 30px;
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
/* FIXME: this is probably not really code... */
|
||||
code.footnote {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* FIXME: Use <strong> instead */
|
||||
span.emph {
|
||||
font-weight: bold;
|
||||
}
|
219
fsfeurope.xsl
Normal file
219
fsfeurope.xsl
Normal file
@ -0,0 +1,219 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output method="html"
|
||||
encoding="UTF-8"
|
||||
doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"
|
||||
doctype-system="http://www.w3.org/TR/REC-html40/loose.dtd"
|
||||
indent="yes"
|
||||
/>
|
||||
|
||||
<xsl:template match="buildinfo">
|
||||
<xsl:apply-templates select="node()" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="buildinfo/document">
|
||||
<xsl:element name="html">
|
||||
<xsl:attribute name="lang">
|
||||
<xsl:value-of select="/buildinfo/@language" />
|
||||
</xsl:attribute>
|
||||
<xsl:apply-templates select="node()" />
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="body">
|
||||
<body>
|
||||
<xsl:comment>
|
||||
|
||||
DO NOT MODIFY THIS DOCUMENT. IT WAS GENERATED BY XSLT PROCESSING
|
||||
AND YOUR MODIFICATIONS WILL BE LOST. THE SOURCE OF THE DOCUMENT
|
||||
IS IN THE .xml FILE USE make all TO REGENERATE
|
||||
|
||||
</xsl:comment>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/"><img alt="[FSFE Logo]" src="/graphics/logo.png" border="0" align="left" /></a>
|
||||
</td>
|
||||
<td class="focus">
|
||||
<table class="focus">
|
||||
<tr>
|
||||
<td colspan="2" class="focus-box">
|
||||
<div align="center">
|
||||
<form action="/cgi-bin/nph-redirect.cgi" method="get">
|
||||
<select name="address" onchange="window.location.href=this.options[this.selectedIndex].value">
|
||||
<option value="#"> - <xsl:value-of select="/buildinfo/textset/text[@id='select']" /> -</option>
|
||||
<option><xsl:attribute name="value">http://www.fsfeurope.org<xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="/buildinfo/@language" />.html</xsl:attribute>Global</option>
|
||||
<option><xsl:attribute name="value">http://www.france.fsfeurope.org<xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="/buildinfo/@language" />.html</xsl:attribute>France</option>
|
||||
|
||||
<option><xsl:attribute name="value">http://www.germany.fsfeurope.org<xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="/buildinfo/@language" />.html</xsl:attribute>Germany</option>
|
||||
<option><xsl:attribute name="value">http://www.italy.fsfeurope.org<xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="/buildinfo/@language" />.html</xsl:attribute>Italy</option>
|
||||
<option><xsl:attribute name="value">http://www.spain.fsfeurope.org<xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="/buildinfo/@language" />.html</xsl:attribute>Spain</option>
|
||||
<option><xsl:attribute name="value">http://www.sweden.fsfeurope.org<xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="/buildinfo/@language" />.html</xsl:attribute>Sweden</option>
|
||||
</select><br /><br />
|
||||
|
||||
<input type="submit" name="submit"><xsl:attribute name="value"><xsl:value-of select="/buildinfo/textset/text[@id='selectgo']" /></xsl:attribute></input>
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- <tr>
|
||||
<td class="focus-top-hinge">
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id='find']" />
|
||||
</td>
|
||||
<td class="focus-box">
|
||||
<form method="post" action="/search.cgi">
|
||||
<input type="text" size="10" name="var" />
|
||||
</form>
|
||||
</td>
|
||||
</tr> -->
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="line" colspan="2">
|
||||
<div align="center">
|
||||
<xsl:for-each select="/buildinfo/trlist/tr">
|
||||
<xsl:sort select="@id" />
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id=/buildinfo/@language">
|
||||
<xsl:value-of select="." disable-output-escaping="yes" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href"><xsl:value-of select="/buildinfo/@filename" />.<xsl:value-of select="@id" />.html</xsl:attribute>
|
||||
<xsl:value-of select="." disable-output-escaping="yes" />
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text> </xsl:text>
|
||||
</xsl:for-each>
|
||||
<xsl:if test="/buildinfo/@outdated='yes'"><br />
|
||||
<xsl:apply-templates select="/buildinfo/textset/text[@id='outdated']/node()" />
|
||||
</xsl:if>
|
||||
<xsl:if test="/buildinfo/@language!=/buildinfo/document/@language"><br />
|
||||
<xsl:apply-templates select="/buildinfo/textset/text[@id='notranslation']/node()" />
|
||||
</xsl:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="body" valign="top">
|
||||
<xsl:apply-templates select="node()"/>
|
||||
</td>
|
||||
<td class="menu" width="150">
|
||||
<xsl:for-each select="/buildinfo/menuset/menu[not(@parent)]">
|
||||
<xsl:sort select="@id" />
|
||||
<xsl:variable name="id"><xsl:value-of select="@id" /></xsl:variable>
|
||||
<a class="menu" href="{.}">
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id=$id]" />
|
||||
</a> <br />
|
||||
<xsl:for-each select="/buildinfo/menuset/menu[@parent=$id]">
|
||||
<xsl:sort select="@id" />
|
||||
<a class="submenu" href="{.}">
|
||||
<xsl:variable name="mid"><xsl:value-of select="@id" /></xsl:variable>
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id=$mid]" />
|
||||
</a> <br />
|
||||
</xsl:for-each>
|
||||
</xsl:for-each>
|
||||
|
||||
<!-- "Join the Fellowship" button -->
|
||||
<br/>
|
||||
<a href="https://www.fsfe.org/join"><img alt="Join the Fellowship" src="/graphics/global/Join_Fellowship.png" border="0"/></a>
|
||||
<br/>
|
||||
|
||||
<!-- "Donate Today" button >
|
||||
<br/>
|
||||
<a href="/help/paypal.html"><img alt="Donate today" src="/graphics/global/Become_Patron2006_w_small.png" border="0"/></a>
|
||||
<br/-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="line" colspan="2">
|
||||
<div align="center">
|
||||
<xsl:apply-templates
|
||||
select="/buildinfo/textset/text[@id='copyright']/node()" />
|
||||
<!-- "Last changed" magic -->
|
||||
<xsl:variable name="timestamp">
|
||||
<xsl:value-of select="/buildinfo/document/timestamp" />
|
||||
</xsl:variable>
|
||||
<!-- FIXME: over time, all pages should have the timestamp -->
|
||||
<!-- tags, so this conditional could be removed -->
|
||||
<xsl:if test="string-length ($timestamp) > 0">
|
||||
<xsl:variable name="Date">
|
||||
<xsl:value-of select="substring-before (substring-after
|
||||
($timestamp, 'Date: '), ' $')" />
|
||||
</xsl:variable>
|
||||
<xsl:variable name="Author">
|
||||
<xsl:value-of select="substring-before (substring-after
|
||||
($timestamp, 'Author: '), ' $')" />
|
||||
</xsl:variable>
|
||||
<xsl:apply-templates
|
||||
select="/buildinfo/textset/text[@id='lastchanged']/node()" />
|
||||
<xsl:value-of select="translate ($Date, '/', '-')" />
|
||||
(<xsl:value-of select="$Author" />)
|
||||
</xsl:if>
|
||||
|
||||
<!-- Link to the XHTML source -->
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:text>/source</xsl:text>
|
||||
<xsl:value-of select="/buildinfo/@filename" />
|
||||
<xsl:text>.</xsl:text>
|
||||
<xsl:value-of select="/buildinfo/document/@language" />
|
||||
<xsl:text>.xhtml</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:text>[XHTML]</xsl:text>
|
||||
</xsl:element>
|
||||
|
||||
<!-- Insert the inofficial translation notice if appropriate -->
|
||||
<xsl:if test="/buildinfo/document/@translation='unofficial'">
|
||||
<xsl:element name="br" />
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id='translator1']" />
|
||||
<xsl:value-of select="/buildinfo/document/translator" />
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id='translator2']" />
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:value-of select="/buildinfo/@filename" />
|
||||
<xsl:text>.en.html</xsl:text>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id='translator3']" />
|
||||
</xsl:element>
|
||||
<xsl:value-of select="/buildinfo/textset/text[@id='translator4']" />
|
||||
</xsl:if>
|
||||
|
||||
<br />
|
||||
<xsl:apply-templates
|
||||
select="/buildinfo/textset/text[@id='permission']/node()" />
|
||||
|
||||
<br />
|
||||
<xsl:apply-templates
|
||||
select="/buildinfo/textset/text[@id='webmaster']/node()" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="head">
|
||||
<head>
|
||||
<link rel="stylesheet" href="/fsfeurope.css" type="text/css" />
|
||||
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</head>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="timestamp|translator|buildinfo/set|buildinfo/textset|buildinfo/menuset|buildinfo/trlist" />
|
||||
|
||||
<xsl:template match="@*|node()" priority="-1">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
BIN
graphics/logo.png
Normal file
BIN
graphics/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
@ -37,6 +37,7 @@ use POSIX qw(strftime);
|
||||
#
|
||||
our %countries = (
|
||||
global => 'en',
|
||||
test => 'en',
|
||||
de => 'de',
|
||||
es => 'es',
|
||||
it => 'it',
|
||||
@ -140,6 +141,9 @@ my $xslt_parser = XML::LibXSLT->new();
|
||||
my $global_style_doc = $parser->parse_file($opts{i}."/fsfe-new.xsl");
|
||||
my $global_stylesheet = $xslt_parser->parse_stylesheet($global_style_doc);
|
||||
|
||||
my $test_style_doc = $parser->parse_file($opts{i}."/fsfeurope.xsl");
|
||||
my $test_stylesheet = $xslt_parser->parse_stylesheet($test_style_doc);
|
||||
|
||||
#
|
||||
# First topic of today: create all directories we need. Instead of creating
|
||||
# these as they are used, we create them in a batch at the beginning of each
|
||||
@ -472,7 +476,11 @@ while (my ($file, $langs) = each %bases) {
|
||||
#
|
||||
# Do the actual transformation.
|
||||
#
|
||||
my $results = $global_stylesheet->transform($dom);
|
||||
if ($dir eq "test") {
|
||||
my $results = $test_stylesheet->transform($dom);
|
||||
} else {
|
||||
my $results = $global_stylesheet->transform($dom);
|
||||
}
|
||||
|
||||
#
|
||||
# In post-processing, we replace links pointing back to ourselves
|
||||
|
@ -88,15 +88,6 @@ echo "$(date) Obfuscating email addresses."
|
||||
# files to operate on to those files that actually contain an '@'.
|
||||
find ${TMP} -type f -name "*.html" | xargs grep -l '@' | xargs sed -i 's/@/\@/g'
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
echo "$(date) Creating test site."
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
cp -rf ${TMP}/global ${TMP}/test
|
||||
for file in $(find ${TMP}/test -name "*.test.*"); do
|
||||
ln -sf $(basename ${file}) ${file/.test/}
|
||||
done
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
echo "$(date) Activating new output."
|
||||
# -----------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user