Browse Source

Refactor "<static-element>" system into "<mdoule>"

Fixes #1345
pull/1398/head
Reinhard Müller 1 year ago
committed by FSFE System
parent
commit
a42bf42bd6
  1. 25
      build/xslt/get_modules.xsl
  2. 12
      build/xslt/module.xsl
  3. 2
      events/events.de.xhtml
  4. 2
      events/events.en.xhtml
  5. 2
      events/events.fr.xhtml
  6. 2
      events/events.it.xhtml
  7. 2
      events/events.nl.xhtml
  8. 1
      events/events.sources
  9. 8
      fsfe.xsl
  10. 20
      global/data/modules/follow-events.de.xml
  11. 14
      global/data/modules/follow-events.en.xml
  12. 17
      global/data/modules/follow-events.fr.xml
  13. 17
      global/data/modules/follow-events.it.xml
  14. 15
      global/data/modules/follow-events.nl.xml
  15. 15
      global/data/modules/follow-news.de.xml
  16. 15
      global/data/modules/follow-news.en.xml
  17. 16
      global/data/modules/follow-news.fr.xml
  18. 16
      global/data/modules/follow-news.it.xml
  19. 15
      global/data/modules/follow-news.nl.xml
  20. 18
      global/data/modules/social-media.de.xml
  21. 18
      global/data/modules/social-media.en.xml
  22. 19
      global/data/modules/social-media.fr.xml
  23. 18
      global/data/modules/social-media.it.xml
  24. 18
      global/data/modules/social-media.nl.xml
  25. 37
      global/data/modules/video-supporter.de.xml
  26. 37
      global/data/modules/video-supporter.en.xml
  27. 37
      global/data/modules/video-supporter.it.xml
  28. 37
      global/data/modules/video-supporter.nl.xml
  29. 5
      news/archive-template.en.xhtml
  30. 10
      news/news.de.xhtml
  31. 9
      news/news.en.xhtml
  32. 78
      news/news.nl.xhtml
  33. 1
      news/news.sources
  34. 58
      news/podcast.en.xhtml
  35. 40
      news/podcast.nl.xhtml
  36. 1
      news/podcast.sources
  37. 6
      press/press.de.xhtml
  38. 8
      press/press.en.xhtml
  39. 9
      press/press.fr.xhtml
  40. 9
      press/press.it.xhtml
  41. 9
      press/press.nl.xhtml
  42. 5
      press/press.sources
  43. 19
      tools/static-elements/element-follow-events.de.xml
  44. 17
      tools/static-elements/element-social-media.de.xml
  45. 17
      tools/static-elements/element-social-media.en.xml
  46. 17
      tools/static-elements/element-social-media.fr.xml
  47. 17
      tools/static-elements/element-social-media.it.xml
  48. 17
      tools/static-elements/element-social-media.nl.xml
  49. 27
      tools/static-elements/element-supportervideo.de.xml
  50. 28
      tools/static-elements/element-supportervideo.en.xml
  51. 28
      tools/static-elements/element-supportervideo.it.xml
  52. 28
      tools/static-elements/element-supportervideo.nl.xml
  53. 63
      tools/update_xmllists.sh

25
build/xslt/get_modules.xsl

@ -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

@ -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>

2
events/events.de.xhtml

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

2
events/events.en.xhtml

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

2
events/events.fr.xhtml

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

2
events/events.it.xhtml

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

2
events/events.nl.xhtml

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

1
events/events.sources

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

8
fsfe.xsl

@ -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>

20
global/data/modules/follow-events.de.xml

@ -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>

14
tools/static-elements/element-follow-events.en.xml → global/data/modules/follow-events.en.xml

@ -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>

17
tools/static-elements/element-follow-events.fr.xml → global/data/modules/follow-events.fr.xml

@ -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>

17
tools/static-elements/element-follow-events.it.xml → global/data/modules/follow-events.it.xml

@ -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>

15
tools/static-elements/element-follow-events.nl.xml → global/data/modules/follow-events.nl.xml

@ -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>

15
tools/static-elements/element-follow-news.de.xml → global/data/modules/follow-news.de.xml

@ -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>

15
tools/static-elements/element-follow-news.en.xml → global/data/modules/follow-news.en.xml

@ -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>

16
tools/static-elements/element-follow-news.fr.xml → global/data/modules/follow-news.fr.xml

@ -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>

16
tools/static-elements/element-follow-news.it.xml → global/data/modules/follow-news.it.xml

@ -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>

15
tools/static-elements/element-follow-news.nl.xml → global/data/modules/follow-news.nl.xml

@ -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>

18
global/data/modules/social-media.de.xml

@ -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>

18
global/data/modules/social-media.en.xml

@ -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>

19
global/data/modules/social-media.fr.xml

@ -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>

18
global/data/modules/social-media.it.xml

@ -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>

18
global/data/modules/social-media.nl.xml

@ -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>

37
global/data/modules/video-supporter.de.xml

@ -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>

37
global/data/modules/video-supporter.en.xml

@ -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>

37
global/data/modules/video-supporter.it.xml

@ -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>

37
global/data/modules/video-supporter.nl.xml

@ -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>

5
news/archive-template.en.xhtml

@ -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>

10
news/news.de.xhtml

@ -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>

9
news/news.en.xhtml

@ -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>

78
news/news.nl.xhtml

@ -1,44 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<html>
<version>3</version>
<head>
<title>Nieuws - FSFE</title>
</head>
<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>
<include-news/>
<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>
<sidebar promo="none">
<div class="news-sidebar">
<static-element id="follow-news" />
<static-element id="social-media" />
<hr/>
<static-element id="video" />
</div>
</sidebar>
<translator>André Ockers</translator>
</html>
<head>
<title>Nieuws - FSFE</title>
</head>
<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>
<include-news/>
<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>
<sidebar promo="none">
<div class="news-sidebar">
<module id="follow-news"/>
<module id="social-media"/>
<hr/>
<module id="video-supporter"/>
</div>
</sidebar>
<translator>André Ockers</translator>
</html>

1
news/news.sources

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

58
news/podcast.en.xhtml

@ -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>

40
news/podcast.nl.xhtml

@ -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>

1
news/podcast.sources

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

6
press/press.de.xhtml

@ -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">

8
press/press.en.xhtml

@ -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">

9
press/press.fr.xhtml

@ -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">

9
press/press.it.xhtml

@ -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">

9
press/press.nl.xhtml

@ -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">

5
press/press.sources

@ -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-*:[]

19
tools/static-elements/element-follow-events.de.xml

@ -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>

17
tools/static-elements/element-social-media.de.xml

@ -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>

17
tools/static-elements/element-social-media.en.xml

@ -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>

17
tools/static-elements/element-social-media.fr.xml

@ -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>

17
tools/static-elements/element-social-media.it.xml

@ -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>

17
tools/static-elements/element-social-media.nl.xml

@ -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>

27
tools/static-elements/element-supportervideo.de.xml

@ -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>

28
tools/static-elements/element-supportervideo.en.xml

@ -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>

28
tools/static-elements/element-supportervideo.it.xml

@ -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>

28
tools/static-elements/element-supportervideo.nl.xml

@ -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>

63
tools/update_xmllists.sh

@ -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
fi
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}}
# 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')
# 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')
# 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
fi
# 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}"
# 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}"
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}"

Loading…
Cancel
Save