Browse Source

forked pdrfreaders sub page from news section (due to some technical similarities)

svn path=/branches/test/; revision=28327
tags/stw2018
paul 5 years ago
parent
commit
156d92de46

+ 7
- 0
pdfreaders/.symlinks View File

@@ -0,0 +1,7 @@
# Make this article available here since a lot of external links point to it.
2001/article2001-10-20-01.de.html article2001-10-20-01.de.html
2001/article2001-10-20-01.en.html article2001-10-20-01.en.html
2001/article2001-10-20-01.es.html article2001-10-20-01.es.html
2001/article2001-10-20-01.fr.html article2001-10-20-01.fr.html
2001/article2001-10-20-01.it.html article2001-10-20-01.it.html
2001/article2001-10-20-01.pt.html article2001-10-20-01.pt.html

+ 55
- 0
pdfreaders/2014/news-20140116-01.el.xhtml View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<html newsdate="2014-01-14">
<head>
<title>Η Ιταλία βάζει το Ελεύθερο Λογισμικό πρώτο στον Δημόσιο Τομέα</title>
</head>
<body>
<h1>Η Ιταλία βάζει το Ελεύθερο Λογισμικό πρώτο στον Δημόσιο Τομέα</h1>

<p newsteaser="yes">Η Ιταλική Κυβέρνηση έκανε το Ελεύθερο Λογισμικό την προεπιλογή για τους Δημόσιους Οργανισμούς. Σε <a href="http://www.digitpa.gov.it/notizie/riuso-valutazione-comparativa-online-circolare">ένα έγγραφο</a>
που δημοσιεύθηκε την περασμένη Τετάρτη, το Ιταλικό Ψηφιακό Πρακτορείο (Italian Digital Agency) εξέδωσε κανόνες που
ορίζουν πως όλοι οι κυβερνητικοί οργανισμοί της χώρας πρέπει να λάβουν υπόψη τους
τη χρήση Ελεύθερου Λογισμικού πριν προβούν σε αγορά αδειών για ιδιοκτησιακά προγράμματα. </p>

<p>Το έγγραφο με τίτλο "Κατευθυντήριες οδηγίες για τη συγκριτική αξιολόγηση [
λογισμικού]", προσδιορίζει μια λεπτομερή μέθοδο, την οποία πρέπει να ακολουθούν οι δημόσιοι οργανισμοί
για να αποφασίσουν τι λογισμικό να χρησιμοποιήσουν. Τους ζητά να κοιτούν ποια κατάλληλα
προγράμματα Ελεύθερου Λογισμικού υπάρχουν, ή να επιλέγουν ελεύθερο λογισμικό που αναπτύχθηκε από τον Δημόσιο
Τομέα. Μόνον αν δεν υπάρχουν διαθέσιμα προγράμματα αυτού του είδους, τότε μπορούν
να λάβουν υπόψη τους την αγορά μη-ελεύθερου λογισμικού.</p>
<p>«Δεν υπάρχουν δικαιολογίες. Όλες οι δημόσιες υπηρεσίες πρέπει να επιλέξουν το Ελεύθερο
Λογισμικό ή την εκ-νέου χρήση όπου αυτό είναι εφικτό», λέει ο Carlo Piana, ο Γενικός Νομικός Σύμβουλος
του FSFE, ο οποίος συμμετείχε στην επιτροπή που πρόσφερε συμβουλευτική για αυτές τις κατευθυντήριες
οδηγίες. «Τώρα το Ελεύθερο Λογισμικό και η εκ-νέου χρήση είναι ο κανόνας, ενώ το ιδιοκτησιακό
λογισμικό η εξαίρεση. Αυτή είναι η πιο προχωρημένη θετική δράση (affirmative action) στην
Ευρώπη μέχρι τώρα. Είμαι τόσο υπερήφανος που, για μια φορά, η Ιταλία δείχνει τον δρόμο, έστω».</p>
<p>«Αυτό είναι ένα σπουδσίο παράδειγμα ενός απλού μέτρου, το οποίο μπορούν
να υιοθετήσουν οπουδήπποτε οι κυβερνήσεις για να ξανακερδίσουν τον έλεγχο των υποδομών τους IT», λέει
ο Karsten Gerloff, Πρόεδρος του Ευρωπαϊκού Ιδρύματος Ελεύθερου Λογισμκού (FSFE). «Το Ελεύθερο Λογισμικό επιτρέπει στους κυβερνητικούς
οργανισμούς να ανακτήσουν την τεχνολογική τους κυριότητα, και τους βοηθά να καθιστούν πιο
δύσκολο για τους ξένους κατασκόπους την πρόσβαση σε δεδομένα των πολιτών και σε εμπιστυτικές
πληροφορίες. Ενθαρρύνουμε και άλλες χώρες της Ευρώπης και ανά τον κόσμο,
να κοιτάξουν προσεκτικά και να μάθουν από την Ιταλία.»</p>
<p>Το έγγραφο δημιούργησε το Ιταλικό Ψηφιακό Πρακτορείο (Italian Digital Agency), το οποίο για
πρώτη φορά, υλοποίησε μια συμβουλευτική διαδικασία που περιλαμβάνει
αντιπροσώπους από τον Δημόσιο Τομέα, από την κοινότητα του Ελεύθερου Λογισμικού, και
από δημιουργούς ιδιοκτησιακού λογισμικού.</p>
<p>Εκείνο που είναι σημαντικό, είναι ότι οι νέοι κανόνες έρχονται με έναν μηχανισμό που εξασφαλίζει ότι
θα ακολουθούνται. Και τα δύο δημόσια σώματα, καθώς και το ενδιαφερόμενο κοινό, μπορούν να ζητούν από το
Ιταλικό Ψηφιακό Πρακτορείο να ελέγξει αν μια δεδομένη οργάνωση ακολουθεί τη
σωστή διαδικασία. Τα Διοικητικά Δικαστήρια μπορούν να ακυρώσουν τις αποφάσεις που
αντιφάσκουν με αυτούς τους κανόνες. Σε περίπτωση αμέλειας, μεμονωμένοι δημόσιοι
λειτουργοί μπορούν να θεωρηθούν ατομικά υπεύθυνοι.</p>
</body>
<tags>
<tag>front-page</tag>
<tag>procurement</tag>
<tag>IT</tag>
</tags>
<translator>Constantine Mousafiris</translator>
</html>

+ 40
- 0
pdfreaders/2014/news-20140116-01.en.xhtml View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<html newsdate="2014-01-14">
<head>
<title>Italy puts Free Software first in public sector</title>
</head>
<body class="press release">
<h1>Italy puts Free Software first in public sector</h1>
<p newsteaser="yes">The Italian government has made Free Software the default choice for public administrations. In <a href="http://www.agid.gov.it/notizie/riuso-valutazione-comparativa-online-la-circolare">a document</a> published last Wednesday, the Italian Digital Agency issued rules saying that all government organisations in the country must consider using Free Software before buying licenses for proprietary programs.</p>

<p>The document, titled "Guidelines on comparative evaluation [of software]", sets out a detailed method which public bodies must follow to decide which software to use. They are required to look for suitable Free Software programs, or choose software developed by the public sector. Only if no suitable programs of these types are available may they consider acquiring non-free software.</p>
<p>"There is no excuse. All public administrations must opt for Free Software or re-use whenever possible", says Carlo Piana, FSFE's General Counsel, who participated in the committee that advised on the guideline. "Now Free Software and re-use are the norm, proprietary software the exception. This is the most advanced affirmative action in Europe so far. I'm so proud that Italy leads the way, for once".</p>
<p>"This is a great example of a simple measure that governments everywhere can take to gain control of their IT infrastructures", says Karsten Gerloff, FSFE's President. "Free Software lets government agencies reclaim their technological sovereignty, and helps them to make it harder for foreign spies to access citizen's data and confidential information. We encourage other countries in Europe and around the world to take a close look and learn from Italy."</p>
<p>The document was authored by the Italian Digital Agency, which for the first time implemented a consulting process involving representatives from the public sector, the Free Software community, and proprietary software makers.</p>
<p>Importantly, the new rules come with a mechanism to ensure they are followed. Both public bodies and the interested public can ask the Italian Digital Agency to check if a given organisation is following the correct procedure. Administrative courts can annul decisions that contradict these rules. In case of negligence, individual public servants may be held personally liable.</p>

</body>
<sidebar news="procurement,tender" promo="about-fsfe">
<h3>Contact</h3>
<ul>
<li><a href="/press/">Press Room</a></li>
<li><a href="/it/">FSFE Italy</a></li>
</ul>
<p>
<a href="/donate/" class="small-donate">Donate to FSFE</a>
</p>
<p>
<a href="/news/">News Archive</a>
</p>
</sidebar>
<tags>
<tag>front-page</tag>
<tag>procurement</tag>
<tag>tender</tag>
<tag>IT</tag>
</tags>
</html>

+ 83
- 0
pdfreaders/2014/news-20140116-01.fr.xhtml View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<html newsdate="2014-01-14">
<head>
<title>L'Italie privilégie le Logiciel Libre dans le secteur public</title>
</head>
<body class="press release">
<h1>L'Italie privilégie le Logiciel Libre dans le secteur public</h1>

<p newsteaser="yes">Le gouvernement Italien fait du Logiciel Libre
un choix prioritaire pour les administrations publiques. Dans le <a
href="http://www.agid.gov.it/notizie/riuso-valutazione-compara
tiva-online-la-circolare">document publié mercredi dernier</a>, relatif
à la circulaire n.63 du 6 décembre 2013, l'agence pour l'Italie
numérique a fixé des règles de base à destination de toutes les
administrations publiques du pays qui doivent privilégier le
Logiciel Libre avant d'envisager l'acquisition de logiciels sous
licences propriétaire.</p>

<p>Le document, intitulé «&#160;Lignes directrices sur l'évaluation
comparative [logiciel]&#160;», propose une méthode détaillée que les
organisations publiques devront adopter pour décider de l'adoption
et l'utilisation des logiciels. Ils sont tenus de vérifier que les
programmes appropriés ne sont pas disponibles en logiciels libres,
ou de choisir un logiciel développé par le secteur public. Si aucun
programme approprié n'est disponible l'acquisition de logiciels
non-libres peut être envisagée.</p>

<p>«&#160;Il n'y a pas d'excuses. Toutes les administrations publiques
doivent choisir le Logiciel Libre ou opter pour la réutilisation
des logiciels lorsque cela est possible&#160;» selon Carlo Piana,
avocat conseil de la FSFE qui a pris part aux travaux du Comité et
fourni des conseils pour les lignes directrices. «&#160;Maintenant, le
logiciel libre et la réutilisation sont la norme, les logiciels
propriétaires sont l'exception. À ce jour c'est l'action positive
la plus avancée en Europe. Je suis vraiment très fier que l'Italie
ouvre la voie pour une fois&#160;».</p>

<p>«&#160;C'est un excellent exemple d'une simple mesure que les
gouvernements de chaque pays peuvent adopter pour prendre le
contrôle de leur infrastructure informatique&#160;», a déclaré Karsten Gerloff,
Président de la FSFE. «&#160;Le Logiciel Libre permet aux gouvernements
de se réapproprier leur souveraineté, la technologie contribue à
rendre plus difficile l'espionnage étranger pour accéder aux
données des citoyens et à des informations confidentielles. Nous
encourageons les autres pays en Europe et du monde entier à
approfondir et suivre l'exemple de l'Italie.&#160;»</p>

<p>Le document a été rédigé par l'Agence pour l'Italie numérique,
qui pour la première fois a adopté une procédure de consultation
des représentants du secteur public, la communauté du Logiciel
Libre et les éditeurs producteurs de logiciels propriétaires.</p>

<p>D'une importance fondamentale, les nouvelles règles sont
accompagnés d'un mécanisme qui assure les suivis. Les deux
organismes publics dont les citoyens intéressés peuvent demander à
l'Agence pour l'Italie numérique de vérifier si une organisation
particulière suit correctement la procédure. Les tribunaux
administratifs peuvent annuler les décisions qui transgressent ces
règles. En cas de négligence, les fonctionnaires de manière
individuelle peuvent être tenus personnellement responsables.</p>

</body>
<translator>MDDN (LimoLibre)</translator>
<sidebar news="procurement,tender" promo="about-fsfe">
<h3>Contact</h3>
<ul>
<li><a href="/press/">Espace presse</a></li>
<li><a href="/it/">FSFE Italie</a></li>
</ul>
<p>
<a href="/donate/" class="small-donate">Faire un don à la FSFE</a>
</p>
<p>
<a href="/news/">Archive des communiqués</a>
</p>
</sidebar>
<tags>
<tag>front-page</tag>
<tag>procurement</tag>
<tag>tender</tag>
<tag>IT</tag>
</tags>
</html>

+ 36
- 0
pdfreaders/2014/news-20150120-01.en.xhtml View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<html newsdate="2015-01-20">
<head>
<title>FSFE is looking out for a marketing intern</title>
</head>
<body>

<p newsteaser="yes">We're on the look out for a talented marketing intern who wants to extend their skills by enacting their passion for Free Software. If you want to find opportunities to pitch political issues based on strategic data insights, read on.</p>

<p>FSFE operates in 31 countries with a grass roots network that has successfully incluenced national and EU policy countless times over 15 years. Used by more than a billion people worldwide for almost every aspect of social and commercial endeavour, Free Software has enormous potential for the betterment of humankind. We're looking for a marketing intern to bring the good work that Free Software does for people, and FSFE does for Free Software, to the communities and companies that stand to benefit.</p>

<p>Working as part of a small international team, your responsibilities would include:</p>

<ul>
<li>Developing marketing plans and campaigns</li>
<li>Preparing brochures and materials</li>
<li>Assisting with media relations</li>
<li>Exploiting FSFE's existing CRM database</li>
<li>Identifying new corporate partners</li>
<li>Inter-departmental marketing strategy</li>
<li>Placing and tracking advertising</li>
<li>Developing a strong understanding of FSFE campaigns</li>
<li>Perform market research through focus groups and surveys</li>
</ul>

<p>More information about requirements and what applicants can expect is on our dedicated <a href="http://fsfe.org/contribute/internship.html">internships page</a>.</p>

</body>
<tags>
<tag>front-page</tag>
<tag>interns</tag>
<tag>berlin</tag>
<tag>office</tag>
<tag>marketing</tag>
</tags>
</html>

+ 32
- 0
pdfreaders/Makefile View File

@@ -0,0 +1,32 @@
XSL_STYLESHEET := xhtml2xml.xsl

# For a correct generation of the link, use full path from this directory
FILES := ../news/*/*.xhtml ../projects/*/*.xhtml

# Trying to keep things readable
ACTUAL_PREREQUISITE = ../$$(echo $* | sed -e 's,___,/,g').xhtml
FIND_XHTML = ../$$(echo $$FILE | sed -e 's,___,/,g').xhtml
TRANSFORM = xsltproc --stringparam link $$(echo $$FILE | sed -e 's,\.\.,,' | sed -e 's,..\.xhtml,html,') $(XSL_STYLESHEET) $$FILE > $@

# Select files
sources := $(shell grep -l "<html newsdate" $(FILES))
all_xmls := $(notdir $(basename $(wildcard ./generated_xml/*.xml)))

# Create targets
first_step = $(subst /,___, $(subst ../,, $(sources)))
too_xml := $(addprefix ./generated_xml/, $(first_step:.xhtml=.xml))


.PHONY: all
all: $(too_xml) remove_artifacts

generated_xml/%.xml: $(sources)
for FILE in $?; do if [ "$$FILE" = "$(ACTUAL_PREREQUISITE)" ]; then $(TRANSFORM); else touch $@ ; fi; done

# Remove xml files for files thas are no longer in CVS
.PHONY: remove_artifacts
remove_artifacts:
for FILE in $(all_xmls); do if [ ! -f $(FIND_XHTML) ]; then rm generated_xml/$$FILE.xml ; fi ; done




+ 80
- 0
pdfreaders/README View File

@@ -0,0 +1,80 @@
Adding news
===========

There are two ways to add news to the web pages:

**1**
Add an xml file with the following structure in the appropriate
directory.

<?xml version="1.0" encoding="UTF-8"?> (you can choose an other encoding)

<newsset>
<news date="date">
<title>Tekst</title>
<body>
Tekst
</body>
<link>link</link>
</news>
</newsset>


Put this file in the directory /news/this_year/
There's a naming convention for these xml files:

'news-'newsdate'-'counter'.'language_part'.xml'

(eg: the English version of the first news file on the 4th november of
2008 should be named news-20081104-01.en.xml and the file should go in
the /news/2008/ directory)

**2**
Add an xhtml file in the appropriate directory.

Write an ordinary xhtml file. Add the newsdate="date" attribute in the
xhtml tag. The paragraph that has to be copied into the xml file
should be marked with the newsteaser="yes" attribute.

(eg:

<?xml versio ...

<html newsdate="2008-10-07" link="link" > (link attribute is optional)

<head>
<title>This is the title of the news item</title>
</head>

<body>

.....

<p newsteaser="yes">this is the paragraph that will be copied into the
xml file. <p>

....

</html>

The link in the generated xml file will default to the original
page. If you want it to link to another page then you can use the
link attribute in the html tag.


You can freely choose a name for this file and you should put it in the
/news/this_year/ directory or in the directory of the project it
belongs to (/projects/project_name/), so you can keep all pages of one
project together.

The xml files for these xhtml files are generated automatically. The
xml file will exist as long as the xhtml file exists. If you want to
change the xhtml file but keep the xml file unchanged, just remove the
newsdate attribute from the xhtml file. (eg: this can be a way to
announce a new project, it will generate an xml file that links to the
index page of the project, and it leaves the option open to change the
page afterwards and keep the original announcement).





+ 1447
- 0
pdfreaders/date-time.xsl
File diff suppressed because it is too large
View File


BIN
pdfreaders/fsfe-news.png View File


+ 7
- 0
pdfreaders/generated_xml/README View File

@@ -0,0 +1,7 @@
Please don't put Files in this directory, it's used for
auto-generated xml news files.

If you want to add news use xml or xhtml files in the /news/20??/
directory's or put an appropriate xhtml file in the /projects/*/
directory's. See the README in the news directory for more
information.

+ 286
- 0
pdfreaders/news.rss.xsl View File

@@ -0,0 +1,286 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- XSL stylesheet for generation RSS feeds. It's currently using RSS 2.0. -->

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="http://xsltsl.org/date-time"
xmlns:weekdays="."
xmlns:months="."
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:atom="http://www.w3.org/2005/Atom">

<xsl:import href="date-time.xsl" />

<xsl:output method="xml" encoding="utf-8" indent="yes"/>

<!-- $today = current date (given as <html date="...">) -->
<xsl:variable name="today">
<xsl:value-of select="/buildinfo/@date" />
</xsl:variable>

<!-- ======== -->
<!-- Weekdays -->
<!-- ======== -->

<weekdays:weekday-names>
<weekdays:day ref="0">Sun</weekdays:day> <!-- it seems that the module returns 0 for Sunday, on the "English" calendar model (Sundays first) -->
<weekdays:day ref="1">Mon</weekdays:day>
<weekdays:day ref="2">Tue</weekdays:day>
<weekdays:day ref="3">Wed</weekdays:day>
<weekdays:day ref="4">Thu</weekdays:day>
<weekdays:day ref="5">Fri</weekdays:day>
<weekdays:day ref="6">Sat</weekdays:day>
<weekdays:day ref="7">Sun</weekdays:day>
</weekdays:weekday-names>

<!-- ====== -->
<!-- Months -->
<!-- ====== -->

<months:month-names>
<months:month ref="01">Jan</months:month>
<months:month ref="02">Feb</months:month>
<months:month ref="03">Mar</months:month>
<months:month ref="04">Apr</months:month>
<months:month ref="05">May</months:month>
<months:month ref="06">Jun</months:month>
<months:month ref="07">Jul</months:month>
<months:month ref="08">Aug</months:month>
<months:month ref="09">Sep</months:month>
<months:month ref="10">Oct</months:month>
<months:month ref="11">Nov</months:month>
<months:month ref="12">Dec</months:month>
</months:month-names>

<!-- ============= -->
<!-- Link handling -->
<!-- ============= -->

<xsl:template match="link">
<xsl:param name="lang" />

<!-- Original link text -->
<xsl:variable name="link">
<xsl:value-of select="normalize-space(.)" />
</xsl:variable>

<!-- Add leading "http://fsfe.org" if necessary -->
<xsl:variable name="full-link">
<xsl:choose>
<xsl:when test="starts-with ($link, 'http:')">
<xsl:value-of select="$link" />
</xsl:when>
<xsl:when test="starts-with ($link, 'https:')">
<xsl:value-of select="$link" />
</xsl:when>
<xsl:otherwise>http://fsfe.org<xsl:value-of select="$link" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

<!-- Insert language into link -->
<xsl:choose>
<xsl:when test="starts-with ($full-link, 'http://www.fsfeurope.org/')
and substring-before ($full-link, '.html') != ''">
<xsl:value-of select="concat (substring-before ($full-link, '.html'),
'.', $lang, '.html')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$full-link" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<!-- ============ -->
<!-- Main routine -->
<!-- ============ -->
<xsl:template match="/buildinfo">
<xsl:apply-templates select="document" />
</xsl:template>
<xsl:template match="/buildinfo/document">
<!-- Language -->
<xsl:variable name="lang">
<xsl:value-of select="@language" />
</xsl:variable>

<!-- Header -->
<rss version="2.0">
<channel>
<title>FSFE News</title>
<description>News from the Free Software Foundation Europe</description>
<link>http://fsfe.org/news/</link>
<language><xsl:value-of select="$lang" /></language>
<copyright>Copyright (c) Free Software Foundation Europe. Verbatim copying and distribution
of this entire article is permitted in any medium, provided this
notice is preserved.</copyright>
<managingEditor>press@fsfeurope.org (FSFE Press Team)</managingEditor>
<webMaster>web@fsfeurope.org (FSFE Webmaster Team)</webMaster>
<image>
<url>http://fsfe.org/news/fsfe-news.png</url>
<title>FSFE News</title>
<width>88</width>
<height>31</height>
<link>http://fsfe.org/news/</link>
</image>
<xsl:element name="atom:link">
<xsl:attribute name="href">http://fsfe.org/news/news.<xsl:value-of select="$lang"/>.rss</xsl:attribute>
<xsl:attribute name="rel">self</xsl:attribute>
<xsl:attribute name="type">application/rss+xml</xsl:attribute>
</xsl:element>
<!-- News items -->
<xsl:for-each select="/buildinfo/document/set/news[translate (@date, '-', '') &lt;= translate ($today, '-', '')]">
<xsl:sort select="@date" order="descending"/>
<xsl:if test="position() &lt; 11">
<xsl:element name="item">
<!-- guid -->
<xsl:element name="guid">
<xsl:attribute name="isPermaLink">false</xsl:attribute>
<xsl:value-of select="@filename"/>
</xsl:element>
<!-- Title -->
<xsl:element name="title">
<xsl:value-of select="title"/>
</xsl:element>

<!-- News description -->
<xsl:element name="description">
<xsl:copy-of select="normalize-space(body)"/>
<xsl:text>
Support FSFE, join the Fellowship: https://fellowship.fsfe.org/login/join.php
Make a one time donation: http://fsfe.org/donate/donate.html</xsl:text>
</xsl:element>
<!-- News body -->
<xsl:element name="content:encoded">
<xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
<xsl:choose>
<xsl:when test="body-complete">
<xsl:apply-templates select="body-complete/*"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="normalize-space(body)"/>
</xsl:otherwise>
</xsl:choose>
<xsl:element name="p">
<xsl:text>Support FSFE, </xsl:text>
<xsl:element name="a">
<xsl:attribute name="href">https://fellowship.fsfe.org/login/join.php</xsl:attribute>
<xsl:text>join the Fellowship</xsl:text>
</xsl:element>
<xsl:element name="br" />
<xsl:text>Make a </xsl:text>
<xsl:element name="a">
<xsl:attribute name="href">http://fsfe.org/donate/donate.html</xsl:attribute>
<xsl:text>one time donation</xsl:text>
</xsl:element>
</xsl:element>
<xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
</xsl:element>
<!-- Link -->
<xsl:if test="link != ''">
<xsl:variable name="link">
<xsl:apply-templates select="link">
<xsl:with-param name="lang" select="$lang" />
</xsl:apply-templates>
</xsl:variable>
<xsl:element name="link">
<xsl:value-of select="normalize-space($link)" />
</xsl:element>
</xsl:if>

<!-- Date -->
<xsl:element name="pubDate">
<xsl:variable name="day-of-week">
<xsl:call-template name="dt:calculate-day-of-the-week">
<xsl:with-param name="year" select="substring(@date, 0, 5)" />
<xsl:with-param name="month" select="substring(@date, 6, 2)" />
<xsl:with-param name="day" select="substring(@date, 9, 2)" />
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="document('')/*/weekdays:weekday-names/weekdays:day[@ref=$day-of-week]" />
<xsl:text>, </xsl:text>
<xsl:value-of select="substring-after(substring-after(@date, '-'), '-')" />
<xsl:variable name="month">
<xsl:value-of select="substring-before(substring-after(@date, '-'), '-')" />
</xsl:variable>
<xsl:text> </xsl:text>
<xsl:value-of select="document('')/*/months:month-names/months:month[@ref=$month]" />
<xsl:text> </xsl:text>
<xsl:value-of select="substring-before(@date, '-')" />
<xsl:text> 00:00:00 +0100</xsl:text>
</xsl:element>

</xsl:element>
</xsl:if>
</xsl:for-each>

<!-- Footer -->
</channel>
</rss>
</xsl:template>
<!-- take care that links within <content:encoded> are not relative -->
<xsl:template match="a">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:choose>
<xsl:when test="substring(@href,1,1) = '/'">
<xsl:text>http://fsfe.org</xsl:text>
<xsl:value-of select="@href" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@href" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="." />
</xsl:element>
</xsl:template>
<!-- remove newsteaser from <p> -->
<xsl:template match="p">
<xsl:copy>
<xsl:apply-templates select="node()" />
</xsl:copy>
</xsl:template>
<!-- as well as images -->
<xsl:template match="img">
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:choose>
<xsl:when test="substring(@src,1,1) = '/'">
<xsl:text>http://fsfe.org</xsl:text>
<xsl:value-of select="@src" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@src" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:element>
</xsl:template>
<!-- Do not copy <body-complete> to output at all -->
<xsl:template match="body-complete"/>
</xsl:stylesheet>

+ 9
- 0
pdfreaders/news.sources View File

@@ -0,0 +1,9 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fi/news/*/news:fi
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se

+ 59
- 0
pdfreaders/news.xsl View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:import href="../fsfe.xsl" />
<xsl:output method="html" encoding="utf-8" indent="yes" doctype-system="about:legacy-compat" />

<!-- In /html/body node, append dynamic content -->
<xsl:template match="body">
<!-- First, include what's in the source file -->
<xsl:apply-templates />

<!-- $today = current date (given as <html date="...">) -->
<xsl:variable name="today">
<xsl:value-of select="/buildinfo/@date" />
</xsl:variable>

<!-- Show news except those in the future, but no newsletters -->
<xsl:for-each select="/buildinfo/document/set/news
[translate (@date, '-', '') &lt;= translate ($today, '-', '') and
not (@type = 'newsletter')]">
<xsl:sort select="@date" order="descending" />

<!-- This is a news entry -->
<xsl:element name="p">

<!-- Date and title -->
<xsl:element name="b">
<xsl:text>(</xsl:text>
<xsl:value-of select="@date" />
<xsl:text>) </xsl:text>
<xsl:value-of select="title" />
</xsl:element>
<xsl:element name="br" />

<!-- Text -->
<xsl:apply-templates select="body/node()" />

<!-- Link -->
<xsl:apply-templates select="link" />

</xsl:element>
<!-- End news entry -->

</xsl:for-each>
</xsl:template>

<!-- How to show a link -->
<xsl:template match="/buildinfo/document/set/news/link">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="text()" />
</xsl:attribute>
<xsl:text>[</xsl:text>
<xsl:value-of select="/buildinfo/document/text[@id='more']" />
<xsl:text>]</xsl:text>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

+ 2
- 0
pdfreaders/newsletter.sources View File

@@ -0,0 +1,2 @@
news/nl/nl:global
news/generated_xml/news___nl___:global

+ 44
- 0
pdfreaders/newsletter.xsl View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../tools/xsltsl/translations.xsl" />
<xsl:import href="../tools/xsltsl/static-elements.xsl" />
<xsl:import href="../fsfe.xsl" />
<xsl:output method="html" encoding="utf-8" indent="yes" doctype-system="about:legacy-compat" />

<xsl:template match="body">
<xsl:apply-templates />

<!-- $today = current date (given as <html date="...">) -->
<xsl:variable name="today">
<xsl:value-of select="/buildinfo/@date" />
</xsl:variable>

<xsl:for-each select="/buildinfo/document/set/news[translate(@date,'-','') &lt;= translate($today,'-','')]">
<xsl:sort select="@date" order="descending"/>
<p>
<b><xsl:value-of select="@date" /></b><br/>
<xsl:value-of select="body"/>
<xsl:variable name="link"><xsl:value-of select="link"/></xsl:variable>
<xsl:if test="$link!=''">
[<a href="{link}"><xsl:value-of select="/buildinfo/document/text[@id='more']"/>]</a>
</xsl:if>
</p>
</xsl:for-each>
</xsl:template>
<!--translated sentence "receive-newsletter"-->
<xsl:template match="receive-newsletter">
<xsl:call-template name="gettext">
<xsl:with-param name="id" select="'receive-newsletter'" />
</xsl:call-template>
</xsl:template>
<xsl:template match="subscribe-nl">
<xsl:call-template name="subscribe-nl" />
</xsl:template>
</xsl:stylesheet>


+ 29
- 0
pdfreaders/pdfreaders.en.xhtml View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>

<html>
<head>
<title>News Archive – FSFE</title>
</head>
<body>
<h1>News Archive</h1>

<p id="introduction">
This page collects the regular news stories that FSFE publishes
about its campaigns and activities. Join the <a
href="/press/index.html">press release mailing list</a> or
subscribe to <a href="/news/news.rss">our RSS feed</a> to keep
up-to-date on our activites. <a href="newsletter.html">Monthly
newsletters</a> are also available. Worldwide Free Software news is
available from FSFE's <a href="/about/fsfnetwork.html">sister
organisations</a>.
</p>
</body>

<text id="more">Read more…</text>
<timestamp>$Date$ $Author$</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

+ 62
- 0
pdfreaders/xhtml2xml.xsl View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" encoding="UTF-8" indent="yes"/>

<xsl:param name="link"/>

<xsl:template match="/html">

<xsl:element name="newsset">
<xsl:element name="news">
<xsl:attribute name="date">
<xsl:value-of select="/html/@newsdate"/>
</xsl:attribute>

<xsl:if test="/html/@type">
<xsl:attribute name ="type">
<xsl:value-of select="/html/@type"/>
</xsl:attribute>
</xsl:if>
<!-- TODO: to be removed -->
<xsl:if test="/html/@tags">
<xsl:attribute name ="tags">
<xsl:value-of select="/html/@tags"/>
</xsl:attribute>
</xsl:if>

<xsl:element name="title">
<xsl:value-of select="/html/head/title"/>
</xsl:element>

<xsl:element name="body">
<xsl:value-of select="/html/body/p[@newsteaser]"/>
</xsl:element>
<xsl:element name="body-complete">
<xsl:copy-of select="/html/body/node()"/>
</xsl:element>
<xsl:element name="link">
<xsl:variable name="the_link">
<xsl:value-of select="/html/@link"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="not(string($the_link))">
<xsl:value-of select="$link"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$the_link"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
<xsl:copy-of select="/html/tags" />

</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

Loading…
Cancel
Save