Refactor "<static-element>" system into "<mdoule>"
continuous-integration/drone/push Build is passing Details

Fixes #1345
This commit is contained in:
Reinhard Müller 2020-05-20 16:00:14 +02:00 committed by FSFE System
parent 74eac0a559
commit a42bf42bd6
53 changed files with 514 additions and 459 deletions

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!-- XSL script to extract the used modules from a .xhtml file -->
<!-- ====================================================================== -->
<!-- This XSL script processes all <module> elements of a .xhtml file and -->
<!-- outputs the source files for these modules, separated by newlines. -->
<!-- It is used by the script tools/update_xmllists.sh. -->
<!-- ====================================================================== -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="module">
<!-- Directory name -->
<xsl:text>global/data/modules/</xsl:text>
<!-- Filename = module id -->
<xsl:value-of select="@id"/>
<!-- Append a newline -->
<xsl:text>&#xa;</xsl:text>
</xsl:template>
<!-- Suppress output of text nodes, which would be the default -->
<xsl:template match="text()"/>
</xsl:stylesheet>

12
build/xslt/module.xsl Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!-- Display a prefabricated module from global/data/modules -->
<!-- ====================================================================== -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="module">
<xsl:variable name="id"><xsl:value-of select="@id"/></xsl:variable>
<xsl:apply-templates select="/buildinfo/document/set/module[@filename=$id]/node()" />
</xsl:template>
</xsl:stylesheet>

View File

@ -41,7 +41,7 @@
</body>
<sidebar promo="none">
<static-element id="follow-events" />
<module id="follow-events"/>
<h2>Neue Veranstaltung hinzufügen</h2>

View File

@ -41,7 +41,7 @@
</body>
<sidebar promo="none">
<static-element id="follow-events" />
<module id="follow-events"/>
<h2>Add an event</h2>

View File

@ -41,7 +41,7 @@
</body>
<sidebar promo="none">
<static-element id="follow-events" />
<module id="follow-events"/>
<h2>Ajouter un événement</h2>

View File

@ -41,7 +41,7 @@
</body>
<sidebar promo="none">
<static-element id="follow-events" />
<module id="follow-events"/>
<h2>Aggiungi evento mancante</h2>

View File

@ -39,7 +39,7 @@
</body>
<sidebar promo="none">
<static-element id="follow-events" />
<module id="follow-events"/>
<h2>Voeg een evenement toe</h2>

View File

@ -1,4 +1,3 @@
events/$nextyear/event-*:[]
events/$thisyear/event-*:[]
events/$lastyear/event-*:[]
tools/static-elements/element-*:[]

View File

@ -15,6 +15,7 @@
<xsl:include href="build/xslt/fsfe_body.xsl" />
<xsl:include href="build/xslt/gettext.xsl" />
<xsl:include href="build/xslt/static-elements.xsl" />
<xsl:include href="build/xslt/module.xsl" />
<xsl:include href="build/xslt/related.xsl" />
<!-- HTML 5 compatibility doctype, since our XSLT parser doesn't support disabling output escaping -->
@ -76,11 +77,4 @@
<!-- Do not copy non-HTML elements to output -->
<xsl:include href="build/xslt/fsfe_nolocal.xsl" />
<!-- Static elements which can be included everywhere -->
<xsl:template match="static-element">
<xsl:variable name="id"><xsl:value-of select="@id"/></xsl:variable>
<xsl:copy-of select="/buildinfo/document/set/element[@id=$id]/node()" />
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Folge unseren Veranstaltungen</h2>
<p>
Die FSFE nimmt an vielen Veranstaltungen rund um Freie Software teil.
Offizielle Events werden auf dieser Seite veröffentlicht. Damit du keine
davon verpasst, abonniere unsere Feeds.
</p>
<div class="share-buttons center">
<a class="button share-rss" href="/events/events.rss" target="_blank" >RSS-Feed</a>
<a class="button share-cal" href="/events/events.ics" target="_blank">Kalender-Feed</a>
</div>
</module>
</data>

View File

@ -1,17 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-events">
<module>
<h2>Follow our Events</h2>
<p>
The FSFE participates in many Free Software events. Official events end up on this page. To make sure to not miss them, subscribe to our feeds.
The FSFE participates in many Free Software events. Official events end
up on this page. To make sure to not miss them, subscribe to our feeds.
</p>
<div class="share-buttons center">
<a class="button share-rss" href="/events/events.rss" target="_blank" >RSS Feed</a>
<a class="button share-cal" href="/events/events.ics" target="_blank">Calendar Feed</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,19 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-events">
<module>
<h2>Suivez nos événements</h2>
<p>
FSFE participe à de nombreux événements sur le Logiciel Libre.
Les événements officiels se trouvent sur cette page. Pour être
sûr de ne pas les manquer, abonnez-vous à nos flux.
FSFE participe à de nombreux événements sur le Logiciel Libre. Les
événements officiels se trouvent sur cette page. Pour être sûr de ne pas
les manquer, abonnez-vous à nos flux.
</p>
<div class="share-buttons center">
<a class="button share-rss" href="/events/events.rss" target="_blank" >Flux RSS</a>
<a class="button share-cal" href="/events/events.ics" target="_blank">Flux Calendrier</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,19 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-events">
<module>
<h2>Segui gli eventi</h2>
<p>
La FSFE partecipa a molti eventi legati al Software Libero. Gli
eventi ufficiali sono elencati in questa pagina. Per non
perderli, iscrivetevi ai nostri feed.
La FSFE partecipa a molti eventi legati al Software Libero. Gli eventi
ufficiali sono elencati in questa pagina. Per non perderli, iscrivetevi
ai nostri feed.
</p>
<div class="share-buttons center">
<a class="button share-rss" href="/events/events.rss" target="_blank" >Feed RSS</a>
<a class="button share-cal" href="/events/events.ics" target="_blank">Feed Calendario</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,19 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-events">
<module>
<h2>Volg onze evenementen</h2>
<p>
FSFE neemt deel aan vele Vrije Software-evenementen. Officiële
evenementen ziet u op deze pagina. Om er zeker van te zijn dat u
ze niet mist, schrijft u zich in op onze feeds.
evenementen ziet u op deze pagina. Om er zeker van te zijn dat u ze niet
mist, schrijft u zich in op onze feeds.
</p>
<div class="share-buttons center">
<a class="button share-rss" href="/events/events.rss" target="_blank" >RSS-feed</a>
<a class="button share-cal" href="/events/events.ics" target="_blank">Kalender-feed</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-news">
<module>
<h2>News-Abo</h2>
<p>
Um auf dem Laufenden zu bleiben, abonniere unseren RSS-Feed und
schau dir unsere verschiedenen Medienkanäle an:
Um auf dem Laufenden zu bleiben, abonniere unseren RSS-Feed und schau dir
unsere verschiedenen Medienkanäle an:
</p>
<div class="share-buttons center">
@ -16,5 +17,5 @@
<a class="button share-mail" href="/news/newsletter.html">Newsletter</a>
<a class="button share-podcast" href="/news/podcast.html">Podcast</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-news">
<module>
<h2>Follow our News</h2>
<p>
To keep up with our latest news, subscribe to our RSS feed and
visit the different media channels.
To keep up with our latest news, subscribe to our RSS feed and visit the
different media channels.
</p>
<div class="share-buttons center">
@ -16,5 +17,5 @@
<a class="button share-mail" href="/news/newsletter.html">Newsletter</a>
<a class="button share-podcast" href="/news/podcast.html">Podcast</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-news">
<module>
<h2>Suivez nos Nouvelles</h2>
<p>
Pour vous tenir au courant de nos dernières nouvelles,
abonnez-vous à notre flux RSS et visitez les différents canaux
médiatiques.
Pour vous tenir au courant de nos dernières nouvelles, abonnez-vous à
notre flux RSS et visitez les différents canaux médiatiques.
</p>
<div class="share-buttons center">
@ -17,5 +17,5 @@
<a class="button share-mail" href="/news/newsletter.html">Newsletter</a>
<a class="button share-podcast" href="/news/podcast.html">Podcast</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-news">
<module>
<h2>Segui le nostre notizie</h2>
<p>
Per essere sempre aggiornati sulle nostre ultime novità,
iscrivetevi al nostro feed RSS e visitate i diversi canali
mediatici.
Per essere sempre aggiornati sulle nostre ultime novità, iscrivetevi al
nostro feed RSS e visitate i diversi canali mediatici.
</p>
<div class="share-buttons center">
@ -17,5 +17,5 @@
<a class="button share-mail" href="/news/newsletter.html">Newsletter</a>
<a class="button share-podcast" href="/news/podcast.html">Podcast</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<element id="follow-news">
<module>
<h2>Volg ons nieuws</h2>
<p>
Blijf op de hoogte van ons laatste nieuws door u te abonneren op
onze RSS-feed en de verschillende mediakanalen bezoeken.
Blijf op de hoogte van ons laatste nieuws door u te abonneren op onze
RSS-feed en de verschillende mediakanalen bezoeken.
</p>
<div class="share-buttons center">
@ -16,5 +17,5 @@
<a class="button share-mail" href="/news/newsletter.html">Nieuwsbrief</a>
<a class="button share-podcast" href="/news/podcast.html">Podcast</a>
</div>
</element>
</elementset>
</module>
</data>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Soziale Medien</h2>
<p>
Für Kurznachrichten kannst du uns auf diesen Netzwerken folgen:
</p>
<div class="share-buttons center">
<a class="button share-mastodon" href="https://mastodon.social/@fsfe" target="_blank">Mastodon</a>
<a class="button share-twitter" href="https://twitter.com/fsfe" target="_blank">Twitter</a>
</div>
</module>
</data>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Social Media</h2>
<p>
For short news you can follow us on various social networks.
</p>
<div class="share-buttons center">
<a class="button share-mastodon" href="https://mastodon.social/@fsfe" target="_blank">Mastodon</a>
<a class="button share-twitter" href="https://twitter.com/fsfe" target="_blank">Twitter</a>
</div>
</module>
</data>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Réseaux Sociaux</h2>
<p>
Pour des nouvelles brèves, vous pouvez nous suivre sur différents réseaux
sociaux.
</p>
<div class="share-buttons center">
<a class="button share-mastodon" href="https://mastodon.social/@fsfe" target="_blank">Mastodon</a>
<a class="button share-twitter" href="https://twitter.com/fsfe" target="_blank">Twitter</a>
</div>
</module>
</data>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Social media</h2>
<p>
Per brevi notizie potete seguirci su vari social network.
</p>
<div class="share-buttons center">
<a class="button share-mastodon" href="https://mastodon.social/@fsfe" target="_blank">Mastodon</a>
<a class="button share-twitter" href="https://twitter.com/fsfe" target="_blank">Twitter</a>
</div>
</module>
</data>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Sociale media</h2>
<p>
Voor nieuws in het kort volgt u ons op:
</p>
<div class="share-buttons center">
<a class="button share-mastodon" href="https://mastodon.social/@fsfe" target="_blank">Mastodon</a>
<a class="button share-twitter" href="https://twitter.com/fsfe" target="_blank">Twitter</a>
</div>
</module>
</data>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Unterstütze die FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track
default="default"
label="English"
srclang="en"
kind="subtitles"
src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
Als FSFE-Supporter ermöglichst du unsere Arbeit und sicherst unsere
finanzielle Unabhängigkeit.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Werde Supporter!</a>
</module>
</data>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Support the FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track
default="default"
label="English"
srclang="en"
kind="subtitles"
src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
By becoming a FSFE supporter you empower our work and help to assure our
financial independence.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Become a supporter</a>
</module>
</data>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Sostieni la FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track
default="default"
label="English"
srclang="en"
kind="subtitles"
src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
Diventando un sostenitore ci permetterai di continuare il nostro lavoro
conservando la nostra indipendenza finanziaria.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Diventa un sostenitore</a>
</module>
</data>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<data>
<version>1</version>
<module>
<h2>Steun de FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track
default="default"
label="English"
srclang="en"
kind="subtitles"
src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
Word supporter zodat u ons in staat stelt om ons werk te doen en onze
financiële zelfstandigheid zekerstelt.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Word supporter</a>
</module>
</data>

View File

@ -37,9 +37,8 @@
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
</div>
</sidebar>
</html>

View File

@ -30,14 +30,12 @@
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
<hr/>
<static-element id="video" />
<module id="video-supporter"/>
</div>
</sidebar>
<translator>Michael Weimann</translator>
</html>

View File

@ -31,13 +31,10 @@
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
<hr/>
<static-element id="video" />
<module id="video-supporter"/>
</div>
</sidebar>
</html>

View File

@ -1,44 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<html>
<version>3</version>
<head>
<title>Nieuws - FSFE</title>
</head>
<head>
<title>Nieuws - FSFE</title>
</head>
<body class="toplevel article">
<h1>Nieuws</h1>
<body class="toplevel article">
<h1>Nieuws</h1>
<p class="inline-buttons news-follow-us">Volg ons:
<span class="share-buttons">
<a class="button share-mail" href="/news/newsletter.html">Nieuwsbrief</a>
<a class="button share-rss" href="/news/news.rss">RSS-feed</a>
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</span>
</p>
<p class="inline-buttons news-follow-us">Volg ons:
<span class="share-buttons">
<a class="button share-mail" href="/news/newsletter.html">Nieuwsbrief</a>
<a class="button share-rss" href="/news/news.rss">RSS-feed</a>
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</span>
</p>
<include-news/>
<include-news/>
<h2><a href="2018/index.html">Nieuwsarchief</a></h2>
<h2><a href="2018/index.html">Nieuwsarchief</a></h2>
<p>
Bekijkt u voor oudere nieuwsartikelen alstublieft ons nieuwsarchief.
<a class="learn-more" href="2018/index.html"/>
</p>
</body>
<p>
Bekijkt u voor oudere nieuwsartikelen alstublieft ons nieuwsarchief.
<a class="learn-more" href="2018/index.html"/>
</p>
</body>
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<sidebar promo="none">
<div class="news-sidebar">
<module id="follow-news"/>
<module id="social-media"/>
<hr/>
<module id="video-supporter"/>
</div>
</sidebar>
<static-element id="social-media" />
<hr/>
<static-element id="video" />
</div>
</sidebar>
<translator>André Ockers</translator>
</html>
<translator>André Ockers</translator>
</html>

View File

@ -8,4 +8,3 @@ news/nl/.nl-$thisyear*:[]
news/nl/.nl-$lastyear*:[]
news/podcast/episode-*:[]
news/podcast/.episode-*:[]
tools/static-elements/element-*:[]

View File

@ -3,43 +3,39 @@
<html>
<version>3</version>
<head>
<title>Software Freedom Podcast - FSFE</title>
<head>
<title>Software Freedom Podcast - FSFE</title>
<meta name="description" content="Regular Podcast about Free Software progress and advocacy from the Free Software Foundation Europe" />
<meta name="keywords" content="podcast, free software, open source, news, update, information, audio" />
</head>
<meta name="description" content="Regular Podcast about Free Software progress and advocacy from the Free Software Foundation Europe" />
<meta name="keywords" content="podcast, free software, open source, news, update, information, audio" />
</head>
<body class="article">
<body class="article">
<!-- Breadcumb -->
<p id="category"><a href="news.html">News</a></p>
<!-- / Breadcumb -->
<!-- Breadcumb -->
<p id="category"><a href="news.html">News</a></p>
<!-- / Breadcumb -->
<h1>Software Freedom Podcast</h1>
<h1>Software Freedom Podcast</h1>
<p class="introduction">In addition to our <a href="news.html">regular news stories</a> and <a href="newsletter.html">monthly newsletter</a>, the FSFE regularly publishes the Software Freedom Podcast.</p>
<p class="introduction">In addition to our <a href="news.html">regular news stories</a> and <a href="newsletter.html">monthly newsletter</a>, the FSFE regularly publishes the Software Freedom Podcast.</p>
<p class="inline-buttons">Subscribe with your podcast player:
<span class="share-buttons">
<a class="button share-rss" href="feed://fsfe.org/news/podcast-opus.en.rss">OPUS feed</a>
<a class="button share-rss" href="feed://fsfe.org/news/podcast.en.rss">MP3 feed</a>
</span>
</p>
<p class="inline-buttons">Subscribe with your podcast player:
<span class="share-buttons">
<a class="button share-rss" href="feed://fsfe.org/news/podcast-opus.en.rss">OPUS feed</a>
<a class="button share-rss" href="feed://fsfe.org/news/podcast.en.rss">MP3 feed</a>
</span>
</p>
<include-news/>
<include-news/>
</body>
</body>
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<static-element id="social-media" />
<hr/>
<static-element id="video" />
</div>
</sidebar>
<sidebar promo="none">
<div class="news-sidebar">
<module id="follow-news"/>
<module id="social-media"/>
<hr/>
<module id="video-supporter"/>
</div>
</sidebar>
</html>

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<html>
<version>3</version>
<head>
<title>Software Freedom Podcast - FSFE</title>
<head>
<title>Software Freedom Podcast - FSFE</title>
<meta name="description" content="Reguliere podcast over vooruitgang en het voorvechten van Vrije Software, van de Free Software Foundation Europe" />
<meta name="keywords" content="podcast, Vrije Software, open source, nieuws, update, informatie, audio" />
</head>
<meta name="description" content="Reguliere podcast over vooruitgang en het voorvechten van Vrije Software, van de Free Software Foundation Europe" />
<meta name="keywords" content="podcast, Vrije Software, open source, nieuws, update, informatie, audio" />
</head>
<body class="article">
<body class="article">
<!-- Breadcumb -->
<p id="category"><a href="news.html">Nieuws</a></p>
@ -27,20 +27,18 @@
</span>
</p>
<include-news/>
<include-news/>
</body>
</body>
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<sidebar promo="none">
<div class="news-sidebar">
<module id="follow-news"/>
<module id="social-media"/>
<hr/>
<module id="video-supporter"/>
</div>
</sidebar>
<static-element id="social-media" />
<hr/>
<static-element id="video" />
</div>
</sidebar>
<translator>André Ockers</translator>
</html>
<translator>André Ockers</translator>
</html>

View File

@ -1,3 +1,2 @@
news/podcast/episode-*:[]
news/podcast/.episode-*:[]
tools/static-elements/element-*:[]

View File

@ -76,11 +76,9 @@
</div>
<div class="box">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
</div>
</div>
<div class="grid-50-50" style="margin-top:3em">

View File

@ -78,14 +78,10 @@
</div>
<div class="box">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
</div>
</div>
<div class="grid-50-50" style="margin-top:3em">

View File

@ -77,15 +77,10 @@
</div>
<div class="box">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
</div>
</div>
<div class="grid-50-50" style="margin-top:3em">

View File

@ -78,15 +78,10 @@
</div>
<div class="box">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
</div>
</div>
<div class="grid-50-50" style="margin-top:3em">

View File

@ -69,15 +69,10 @@
</div>
<div class="box">
<static-element id="follow-news" />
<static-element id="social-media" />
<module id="follow-news"/>
<module id="social-media"/>
</div>
</div>
<div class="grid-50-50" style="margin-top:3em">

View File

@ -6,6 +6,5 @@ news/nl/nl-$thisyear*:[]
news/nl/nl-$lastyear*:[]
news/nl/.nl-$thisyear*:[]
news/nl/.nl-$lastyear*:[]
news/podcast/episode-*:[front-page]
news/podcast/.episode-*:[front-page]
tools/static-elements/element-*:[]
news/podcast/episode-*:[]
news/podcast/.episode-*:[]

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="follow-events">
<h2>Folge unseren Veranstaltungen</h2>
<p>
The FSFE participates in many Free Software events. Official events end up on this page. To make sure to not miss them, subscribe to our feeds.
Die FSFE nimmt an vielen Veranstaltungen rund um Freie Software teil. Offizielle Events werden auf dieser Seite veröffentlicht. Damit du keine davon verpasst, abonniere unsere Feeds.
</p>
<div class="share-buttons center">
<a class="button share-rss" href="/events/events.rss" target="_blank" >RSS-Feed</a>
<a class="button share-cal" href="/events/events.ics" target="_blank">Kalender-Feed</a>
</div>
</element>
</elementset>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="social-media">
<h2>Soziale Medien</h2>
<p>
Für Kurznachrichten kannst du uns auf diesen Netzwerken folgen:
</p>
<div class="share-buttons center">
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</div>
</element>
</elementset>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="social-media">
<h2>Social Media</h2>
<p>
For short news you can follow us on various social networks.
</p>
<div class="share-buttons center">
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</div>
</element>
</elementset>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="social-media">
<h2>Réseaux Sociaux</h2>
<p>
Pour des nouvelles brèves, vous pouvez nous suivre sur différents réseaux sociaux.
</p>
<div class="share-buttons center">
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</div>
</element>
</elementset>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="social-media">
<h2>Social media</h2>
<p>
Per brevi notizie potete seguirci su vari social network.
</p>
<div class="share-buttons center">
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</div>
</element>
</elementset>

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="social-media">
<h2>Sociale media</h2>
<p>
Voor nieuws in het kort volgt u ons op:
</p>
<div class="share-buttons center">
<a target="_blank" class="button share-mastodon" href="https://mastodon.social/@fsfe">Mastodon</a>
<a target="_blank" class="button share-twitter" href="https://twitter.com/fsfe">Twitter</a>
</div>
</element>
</elementset>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="video">
<h2>Unterstütze die FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track default="default" label="English" srclang="en" kind="subtitles" src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
Als FSFE-Supporter ermöglichst du unsere Arbeit und sicherst unsere finanzielle Unabhängigkeit.
</p>
<a class="big-donate" href="https://my.fsfe.org/support" title="zur Supporter Infoseite">Werde Supporter!</a>
</element>
</elementset>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="video">
<h2>Support the FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track default="default" label="English" srclang="en" kind="subtitles" src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
By becoming a FSFE supporter you empower our work and help to assure our financial independence.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Become a supporter</a>
</element>
</elementset>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="video">
<h2>Sostieni la FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track default="default" label="English" srclang="en" kind="subtitles" src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
Diventando un sostenitore ci permetterai di continuare il nostro lavoro conservando la nostra indipendenza finanziaria.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Diventa un sostenitore</a>
</element>
</elementset>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<elementset>
<version>1</version>
<element id="video">
<h2>Steun de FSFE</h2>
<video
crossorigin="crossorigin"
poster="https://download.fsfe.org/videos/supporter/posters/bernhard.jpg"
controls="controls"
width="100%">
<source
media="screen and (max-device-width:999px)"
type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.mp4"/>
<source
media="screen and (max-device-width:999px)"
type="video/webm; codecs=&quot;vp9, opus&quot;"
src="https://download.fsfe.org/videos/supporter/bernhard_mobile.webm"/>
<track default="default" label="English" srclang="en" kind="subtitles" src="https://download.fsfe.org/videos/supporter/subtitles/bernhard.vtt"/>
</video>
<p class="supporter-text">
Word supporter zodat u ons in staat stelt om ons werk te doen en onze financiële zelfstandigheid zekerstelt.
</p>
<a class="big-donate" href="https://my.fsfe.org/support">Word supporter</a>
</element>
</elementset>

View File

@ -175,45 +175,56 @@ rm -rf "${tagmaps}"
rm -rf "${taglabels}"
# -----------------------------------------------------------------------------
# Update .xmllist files for .sources
# Update .xmllist files for .sources and .xhtml containing <module>s
# -----------------------------------------------------------------------------
echo "* Updating XML lists"
all_xml="$(find * -name '*.??.xml' | sed -r 's/\...\.xml$//' | sort -u)"
for source_file in $(find * -name '*.sources' | sort); do
cat ${source_file} | while read line; do
# Get the pattern from the pattern:[tag] construction
pattern=$(echo "${line}" | sed -rn 's/(.*):\[.*\]$/\1/p')
source_bases="$(find * -name "*.sources" | sed -r 's/\.sources$//')"
module_bases="$(find * -name "*.??.xhtml" | xargs grep -l '<module' | sed -r 's/\...\.xhtml$//')"
all_bases="$((echo "${source_bases}"; echo "${module_bases}") | sort -u)"
if [ -z "${pattern}" ]; then
continue
for base in ${all_bases}; do
{
# Data files defined in the .sources list
if [ -f "${base}.sources" ]; then
cat "${base}.sources" | while read line; do
# Get the pattern from the pattern:[tag] construction
pattern=$(echo "${line}" | sed -rn 's/(.*):\[.*\]$/\1/p')
if [ -z "${pattern}" ]; then
continue
fi
# Honor $nextyear, $thisyear, and $lastyear variables
pattern=${pattern//\$nextyear/${nextyear}}
pattern=${pattern//\$thisyear/${thisyear}}
pattern=${pattern//\$lastyear/${lastyear}}
# Change from a glob pattern into a regex
pattern=$(echo "${pattern}" | sed -r -e 's/([.^$[])/\\\1/g; s/\*/.*/g')
# Get the tag from the pattern:[tag] construction
tag=$(echo "${line}" | sed -rn 's/.*:\[(.*)\]$/\1/p')
# We append || true so the script doesn't fail if grep finds nothing at all
if [ -n "${tag}" ]; then
cat "tags/.tagged-${tag}.xmllist"
else
echo "${all_xml}"
fi | grep "^${pattern}\$" || true
done
fi
# Honor $nextyear, $thisyear, and $lastyear variables
pattern=${pattern//\$nextyear/${nextyear}}
pattern=${pattern//\$thisyear/${thisyear}}
pattern=${pattern//\$lastyear/${lastyear}}
# Data files required for the <module>s used
for xhtml_file in ${base}.??.xhtml; do
xsltproc "build/xslt/get_modules.xsl" "${xhtml_file}"
done
} | sort -u > "/tmp/xmllist-${pid}"
# Change from a glob pattern into a regex
pattern=$(echo "${pattern}" | sed -r -e 's/([.^$[])/\\\1/g; s/\*/.*/g')
# Get the tag from the pattern:[tag] construction
tag=$(echo "${line}" | sed -rn 's/.*:\[(.*)\]$/\1/p')
# Change to lowercase and remove invalid characters
tag=$(echo "${tag,,}" | tr ' ' '_' | tr -d '/:')
# We append || true so the script doesn't fail if grep finds nothing at all
if [ -n "${tag}" ]; then
cat "tags/.tagged-${tag}.xmllist"
else
echo "${all_xml}"
fi | grep "^${pattern}\$" || true
done | sort -u > "/tmp/xmllist-${pid}"
list_file="$(dirname ${source_file})/.$(basename ${source_file} .sources).xmllist"
list_file="$(dirname ${base})/.$(basename ${base}).xmllist"
if ! cmp --quiet "/tmp/xmllist-${pid}" "${list_file}"; then
echo "* Updating ${list_file}"