forked pdrfreaders sub page from news section (due to some technical similarities)
svn path=/branches/test/; revision=28327
This commit is contained in:
parent
7601eac147
commit
156d92de46
7
pdfreaders/.symlinks
Normal file
7
pdfreaders/.symlinks
Normal 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
pdfreaders/2014/news-20140116-01.el.xhtml
Normal file
55
pdfreaders/2014/news-20140116-01.el.xhtml
Normal 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
pdfreaders/2014/news-20140116-01.en.xhtml
Normal file
40
pdfreaders/2014/news-20140116-01.en.xhtml
Normal 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
pdfreaders/2014/news-20140116-01.fr.xhtml
Normal file
83
pdfreaders/2014/news-20140116-01.fr.xhtml
Normal 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é « Lignes directrices sur l'évaluation
|
||||
comparative [logiciel] », 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>« 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 » selon Carlo Piana,
|
||||
avocat conseil de la FSFE qui a pris part aux travaux du Comité et
|
||||
fourni des conseils pour les lignes directrices. « 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 ».</p>
|
||||
|
||||
<p>« 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 », a déclaré Karsten Gerloff,
|
||||
Président de la FSFE. « 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. »</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
pdfreaders/2014/news-20150120-01.en.xhtml
Normal file
36
pdfreaders/2014/news-20150120-01.en.xhtml
Normal 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
pdfreaders/Makefile
Normal file
32
pdfreaders/Makefile
Normal 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
pdfreaders/README
Normal file
80
pdfreaders/README
Normal 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
pdfreaders/date-time.xsl
Normal file
1447
pdfreaders/date-time.xsl
Normal file
File diff suppressed because it is too large
Load Diff
BIN
pdfreaders/fsfe-news.png
Normal file
BIN
pdfreaders/fsfe-news.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
7
pdfreaders/generated_xml/README
Normal file
7
pdfreaders/generated_xml/README
Normal 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
pdfreaders/news.rss.xsl
Normal file
286
pdfreaders/news.rss.xsl
Normal 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, '-', '') <= translate ($today, '-', '')]">
|
||||
<xsl:sort select="@date" order="descending"/>
|
||||
<xsl:if test="position() < 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"><![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">]]></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
pdfreaders/news.sources
Normal file
9
pdfreaders/news.sources
Normal 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
pdfreaders/news.xsl
Normal file
59
pdfreaders/news.xsl
Normal 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, '-', '') <= 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
pdfreaders/newsletter.sources
Normal file
2
pdfreaders/newsletter.sources
Normal file
@ -0,0 +1,2 @@
|
||||
news/nl/nl:global
|
||||
news/generated_xml/news___nl___:global
|
44
pdfreaders/newsletter.xsl
Normal file
44
pdfreaders/newsletter.xsl
Normal 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,'-','') <= 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
pdfreaders/pdfreaders.en.xhtml
Normal file
29
pdfreaders/pdfreaders.en.xhtml
Normal 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
pdfreaders/xhtml2xml.xsl
Normal file
62
pdfreaders/xhtml2xml.xsl
Normal 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…
x
Reference in New Issue
Block a user