gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[www] branch master updated: videos page: really use jinja.


From: gnunet
Subject: [www] branch master updated: videos page: really use jinja.
Date: Mon, 04 Nov 2019 22:22:59 +0100

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository www.

The following commit(s) were added to refs/heads/master by this push:
     new 34097e7  videos page: really use jinja.
34097e7 is described below

commit 34097e7eb7782ac98378909597b55444e25edbc3
Author: ng0 <address@hidden>
AuthorDate: Mon Nov 4 21:19:55 2019 +0000

    videos page: really use jinja.
---
 locale/de/LC_MESSAGES/messages.po |  40 +---
 locale/en/LC_MESSAGES/messages.po |  38 +--
 locale/es/LC_MESSAGES/messages.po |  40 +---
 locale/fr/LC_MESSAGES/messages.po |  40 +---
 locale/it/LC_MESSAGES/messages.po |  40 +---
 template.py                       | 477 +++++++++++++++++++++++++++++++++-----
 template/video.html.j2            | 459 ++++--------------------------------
 7 files changed, 475 insertions(+), 659 deletions(-)

diff --git a/locale/de/LC_MESSAGES/messages.po 
b/locale/de/LC_MESSAGES/messages.po
index 414718c..672bb10 100644
--- a/locale/de/LC_MESSAGES/messages.po
+++ b/locale/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2019-11-03 22:02+0000\n"
+"POT-Creation-Date: 2019-11-04 21:10+0000\n"
 "PO-Revision-Date: 2018-02-24 17:42\n"
 "Last-Translator: Torsten Grothoff <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -1966,46 +1966,10 @@ msgstr ""
 msgid "OMG you guys broke my internet"
 msgstr ""
 
-#: template/video.html.j2:6
+#: template/video.html.j2:12
 msgid "Videos related to GNUnet"
 msgstr ""
 
-#: template/video.html.j2:29
-msgid "2019"
-msgstr ""
-
-#: template/video.html.j2:42
-msgid "2018"
-msgstr ""
-
-#: template/video.html.j2:78
-msgid "2017"
-msgstr ""
-
-#: template/video.html.j2:136
-msgid "2016"
-msgstr ""
-
-#: template/video.html.j2:174
-msgid "2015"
-msgstr ""
-
-#: template/video.html.j2:214
-msgid "2014"
-msgstr ""
-
-#: template/video.html.j2:308
-msgid "2013"
-msgstr ""
-
-#: template/video.html.j2:360
-msgid "2012"
-msgstr ""
-
-#: template/video.html.j2:375
-msgid "2010"
-msgstr ""
-
 #, fuzzy
 #~| msgid "IRC Archive"
 #~ msgid "IRC archive"
diff --git a/locale/en/LC_MESSAGES/messages.po 
b/locale/en/LC_MESSAGES/messages.po
index ab6e601..5f94e75 100644
--- a/locale/en/LC_MESSAGES/messages.po
+++ b/locale/en/LC_MESSAGES/messages.po
@@ -1907,45 +1907,9 @@ msgstr ""
 msgid "OMG you guys broke my internet"
 msgstr ""
 
-#: template/video.html.j2:6
+#: template/video.html.j2:12
 msgid "Videos related to GNUnet"
 msgstr ""
 
-#: template/video.html.j2:29
-msgid "2019"
-msgstr ""
-
-#: template/video.html.j2:42
-msgid "2018"
-msgstr ""
-
-#: template/video.html.j2:78
-msgid "2017"
-msgstr ""
-
-#: template/video.html.j2:136
-msgid "2016"
-msgstr ""
-
-#: template/video.html.j2:174
-msgid "2015"
-msgstr ""
-
-#: template/video.html.j2:214
-msgid "2014"
-msgstr ""
-
-#: template/video.html.j2:308
-msgid "2013"
-msgstr ""
-
-#: template/video.html.j2:360
-msgid "2012"
-msgstr ""
-
-#: template/video.html.j2:375
-msgid "2010"
-msgstr ""
-
 #~ msgid "_project_title"
 #~ msgstr "GNUnet is the Next Generation Internet"
diff --git a/locale/es/LC_MESSAGES/messages.po 
b/locale/es/LC_MESSAGES/messages.po
index 670607a..0a30747 100644
--- a/locale/es/LC_MESSAGES/messages.po
+++ b/locale/es/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2019-11-03 22:02+0000\n"
+"POT-Creation-Date: 2019-11-04 21:10+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -1943,46 +1943,10 @@ msgstr ""
 msgid "OMG you guys broke my internet"
 msgstr ""
 
-#: template/video.html.j2:6
+#: template/video.html.j2:12
 msgid "Videos related to GNUnet"
 msgstr ""
 
-#: template/video.html.j2:29
-msgid "2019"
-msgstr ""
-
-#: template/video.html.j2:42
-msgid "2018"
-msgstr ""
-
-#: template/video.html.j2:78
-msgid "2017"
-msgstr ""
-
-#: template/video.html.j2:136
-msgid "2016"
-msgstr ""
-
-#: template/video.html.j2:174
-msgid "2015"
-msgstr ""
-
-#: template/video.html.j2:214
-msgid "2014"
-msgstr ""
-
-#: template/video.html.j2:308
-msgid "2013"
-msgstr ""
-
-#: template/video.html.j2:360
-msgid "2012"
-msgstr ""
-
-#: template/video.html.j2:375
-msgid "2010"
-msgstr ""
-
 #~ msgid "IRC archive"
 #~ msgstr "Archivo IRC"
 
diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index c0678d1..07f05c9 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2019-11-03 22:02+0000\n"
+"POT-Creation-Date: 2019-11-04 21:10+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -1927,42 +1927,6 @@ msgstr ""
 msgid "OMG you guys broke my internet"
 msgstr ""
 
-#: template/video.html.j2:6
+#: template/video.html.j2:12
 msgid "Videos related to GNUnet"
 msgstr ""
-
-#: template/video.html.j2:29
-msgid "2019"
-msgstr ""
-
-#: template/video.html.j2:42
-msgid "2018"
-msgstr ""
-
-#: template/video.html.j2:78
-msgid "2017"
-msgstr ""
-
-#: template/video.html.j2:136
-msgid "2016"
-msgstr ""
-
-#: template/video.html.j2:174
-msgid "2015"
-msgstr ""
-
-#: template/video.html.j2:214
-msgid "2014"
-msgstr ""
-
-#: template/video.html.j2:308
-msgid "2013"
-msgstr ""
-
-#: template/video.html.j2:360
-msgid "2012"
-msgstr ""
-
-#: template/video.html.j2:375
-msgid "2010"
-msgstr ""
diff --git a/locale/it/LC_MESSAGES/messages.po 
b/locale/it/LC_MESSAGES/messages.po
index 2599cbf..f5f6bde 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2019-11-03 22:02+0000\n"
+"POT-Creation-Date: 2019-11-04 21:10+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -1927,45 +1927,9 @@ msgstr ""
 msgid "OMG you guys broke my internet"
 msgstr ""
 
-#: template/video.html.j2:6
+#: template/video.html.j2:12
 msgid "Videos related to GNUnet"
 msgstr ""
 
-#: template/video.html.j2:29
-msgid "2019"
-msgstr ""
-
-#: template/video.html.j2:42
-msgid "2018"
-msgstr ""
-
-#: template/video.html.j2:78
-msgid "2017"
-msgstr ""
-
-#: template/video.html.j2:136
-msgid "2016"
-msgstr ""
-
-#: template/video.html.j2:174
-msgid "2015"
-msgstr ""
-
-#: template/video.html.j2:214
-msgid "2014"
-msgstr ""
-
-#: template/video.html.j2:308
-msgid "2013"
-msgstr ""
-
-#: template/video.html.j2:360
-msgid "2012"
-msgstr ""
-
-#: template/video.html.j2:375
-msgid "2010"
-msgstr ""
-
 #~ msgid "_project_title"
 #~ msgstr "Stack di protocolli GNU per un nuovo Internet etico"
diff --git a/template.py b/template.py
index f2fc9a6..87dbcb3 100755
--- a/template.py
+++ b/template.py
@@ -199,102 +199,464 @@ def copy_static(locale, indict):
 # just using static html + css + some awk and other base tools.
 newsposts = [
     {
-        'page': '2019-0.11.8.html',
-        'date': '2019-10-30',
-        'title': 'GNUnet 0.11.8'
+        "page": "2019-0.11.8.html",
+        "date": "2019-10-30",
+        "title": "GNUnet 0.11.8"
     },
     {
-        'page': '2019-0.11.7.html',
-        'date': '2019-10-27',
-        'title': 'GNUnet 0.11.7'
+        "page": "2019-0.11.7.html",
+        "date": "2019-10-27",
+        "title": "GNUnet 0.11.7"
     },
     {
-        'page': '2019-10-ICANNPanel.html',
-        'date': '2019-10-20',
-        'title': 'ICANN Panel'
+        "page": "2019-10-ICANNPanel.html",
+        "date": "2019-10-20",
+        "title": "ICANN Panel"
     },
     {
-        'page': '2019-10-GNSSpec1.html',
-        'date': '2019-10-04',
-        'title': 'GNS Spec 1'
+        "page": "2019-10-GNSSpec1.html",
+        "date": "2019-10-04",
+        "title": "GNS Spec 1"
     },
     {
-        'page': '2019-0.11.6.html',
-        'date': '2019-07-24',
-        'title': 'GNUnet 0.11.6'
+        "page": "2019-0.11.6.html",
+        "date": "2019-07-24",
+        "title": "GNUnet 0.11.6"
     },
     {
-        'page': '2019-07-GHM_Aug_2019.html',
-        'date': '2019-07-17',
-        'title': 'GNUnet Hacker Meeting 2019'
+        "page": "2019-07-GHM_Aug_2019.html",
+        "date": "2019-07-17",
+        "title": "GNUnet Hacker Meeting 2019"
     },
     {
-        'page': '2019-06-DSTJ.html',
-        'date': '2019-06-28',
-        'title': 'Peer DSTJ is dead, long live peer Y924'
+        "page": "2019-06-DSTJ.html",
+        "date": "2019-06-28",
+        "title": "Peer DSTJ is dead, long live peer Y924"
     },
     {
-        'page': '2019-0.11.5.html',
-        'date': '2019-06-05',
-        'title': 'GNUnet 0.11.5'
+        "page": "2019-0.11.5.html",
+        "date": "2019-06-05",
+        "title": "GNUnet 0.11.5"
     },
     {
-        'page': '2019-06.html',
-        'date': '2019-06-01',
-        'title': '2019-06'
+        "page": "2019-06.html",
+        "date": "2019-06-01",
+        "title": "2019-06"
     },
     {
-        'page': '2019-0.11.4.html',
-        'date': '2019-05-12',
-        'title': 'GNUnet 0.11.4'
+        "page": "2019-0.11.4.html",
+        "date": "2019-05-12",
+        "title": "GNUnet 0.11.4"
     },
     {
-        'page': '2019-0.11.3.html',
-        'date': '2019-04-07',
-        'title': 'GNUnet 0.11.3'
+        "page": "2019-0.11.3.html",
+        "date": "2019-04-07",
+        "title": "GNUnet 0.11.3"
     },
     {
-        'page': '2019-0.11.2.html',
-        'date': '2019-04-04',
-        'title': 'GNUnet 0.11.2'
+        "page": "2019-0.11.2.html",
+        "date": "2019-04-04",
+        "title": "GNUnet 0.11.2"
     },
     {
-        'page': '2019-0.11.1.html',
-        'date': '2019-04-03',
-        'title': 'GNUnet 0.11.1'
+        "page": "2019-0.11.1.html",
+        "date": "2019-04-03",
+        "title": "GNUnet 0.11.1"
     },
     {
-        'page': '2019-0.11.0.html',
-        'date': '2019-02-28',
-        'title': 'GNUnet 0.11.0'
+        "page": "2019-0.11.0.html",
+        "date": "2019-02-28",
+        "title": "GNUnet 0.11.0"
     },
     {
-        'page': '2019-02.html',
-        'date': '2019-02-01',
-        'title': 'Google Summer of Code 2019'
+        "page": "2019-02.html",
+        "date": "2019-02-01",
+        "title": "Google Summer of Code 2019"
     },
     {
-        'page': '2018-08.html',
-        'date': '2018-08-14',
-        'title': 'GSoC 2018 - GNUnet Web-based User Interface'
+        "page": "2018-08.html",
+        "date": "2018-08-14",
+        "title": "GSoC 2018 - GNUnet Web-based User Interface"
     },
     {
-        'page': '2018-07.html',
-        'date': '2018-07-01',
-        'title': 'Second GNUnet Hacker Meeting 2018'
+        "page": "2018-07.html",
+        "date": "2018-07-01",
+        "title": "Second GNUnet Hacker Meeting 2018"
     },
     {
-        'page': '2018-06.html',
-        'date': '2018-06-06',
-        'title': 'GNUnet 0.11.0pre66'
+        "page": "2018-06.html",
+        "date": "2018-06-06",
+        "title": "GNUnet 0.11.0pre66"
     },
     {
-        'page': '2017-10.html',
-        'date': '2017-10-01',
-        'title': 'Launching the new gnunet.org'
+        "page": "2017-10.html",
+        "date": "2017-10-01",
+        "title": "Launching the new gnunet.org"
     },
 ]
 
+# <!-- FIXME 2015: source only available on yt. <li>Ludovic Courtès, <a 
href="">Reproducible Software Deployment with GNU Guix</a>, Inria</li> -->
+# <!-- FIXME 2014: no source link on web. <li>Julian Kirsch, <a 
href="">"Knocking down the HACIENDA"</a>, GNU Hacker Meeting 2014</li> -->
+# <!-- FIXME 2014: no source link on web. <li>Peter Schaar, <a 
href="">"Technik, Recht und Überwachung"</a>, Technische Universität 
München</li> -->
+# <!-- FIXME 2014: no source link on web. <li>Christian Grothoff, <a 
href="">"A Public Key Infrastructure for Social Movements in the Age of 
Universal Surveillance"</a>, University of Oxford</li> -->
+# <!-- FIXME 2013: no source link on web. <li>Bart Polot, <a href="">"GNUnet 
CADET and GNUnet Conversation" at YBTI/30c3</a>, 30C3</li> -->
+# <!-- FIXME 2013: no media link. <li>Roger Dingledine and Jacob Appelbaum, "Q 
&amp; A", Technische Universität München (<a 
href="https://archive.org/details/RogerDingledineAndJacobAppelbaumQAMarathon"; 
download>download</a>)</li> -->
+# <!-- FIXME 2013: no source link on web. <li>Maximilian Szengel, <a 
href="">"Decentralized Evaluation of Regular Expressions for Capability 
Discovery in Peer-to-Peer Networks"</a>, Technische Universität München</li> -->
+
+videoslist = [
+    {
+        "year": "2019",
+        "author": "Christian Grothoff",
+        "location": "IETF",
+        "description": "",
+        "name": "GNU Name System",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2019.git/plain/IETF104/GNU_Name_System_-_2019_Edition_IETF104__Christian_Grothoff.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2018",
+        "author": "t3sserakt",
+        "location": "Datenspuren 2018",
+        "description": "",
+        "name": "State of the GNUnet",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2018.git/plain/Datenspuren2018/DS2018-9337-deu-State_of_the_GNUnet_webm-hd.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2018",
+        "author": "sva",
+        "location": "hack.lu",
+        "description": "",
+        "name": "You Broke The Internet - Let's Make a GNU One",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2018.git/plain/hack.lu/Hack.lu_2018_LT_-_GNUnet_-_You_Broke_The_Internet_Lets_Make_A_GNU_One__sva.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2018",
+        "author": "Christian Grothoff",
+        "location": "",
+        "description": "",
+        "name": "GNS - The GNU Name System - Overview",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2018.git/plain/GNS_-_The_GNU_Name_System_-_Overview.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2017",
+        "author": "Christian Grothoff",
+        "location": "Technische Universitaet Muenchen",
+        "description": "",
+        "name": "Big Data, Little Data, No Data",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2017.git/plain/Big_Data-Little_Data-No_Data.mp4";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2017",
+        "author": "lynX",
+        "location": "34C3",
+        "description": "",
+        "name": "Three Ways to Enhance Metadata Protection Beyond Tor",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-1-eng-Three_Ways_to_Enhance_Metadata_Protection_Beyond_Tor_-_secushareorg_webm-hd.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2017",
+        "author": "t3sserakt",
+        "location": "34C3",
+        "description": "",
+        "name": "Modeling Trust in a Distributed Private Social Network",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-2-eng-Modeling_Trust_in_a_Distributed_Private_Social_Network_-_secushareorg_webm-hd.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2017",
+        "author": "lynX",
+        "location": "34C3",
+        "description": "",
+        "name": "Scalable and privacy-respectful distributed systems - Our 
chance to avoid cloud computing",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-7-eng-Scalable_and_privacy-respectful_distributed_systems_-_Our_chance_to_avoid_cloud_computing_webm-hd.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2017",
+        "author": "lynX, Christian Grothoff",
+        "location": "34C3",
+        "description": "",
+        "name": "Privacy-Oriented Distributed Networking for an Ethical 
Internet",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-6-eng-Privacy-Oriented_Distributed_Networking_for_an_Ethical_Internet_-_including_50_subsystems_of_GNUnet_webm-hd.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2016",
+        "author": "Daniel Golle",
+        "location": "Battlemesh v9 (Porto, Portugal)",
+        "description": "",
+        "name": "GNUnet For Mesh Communities",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2016.git/plain/Battlemeshv9/Gnunet%20For%20Mesh%20Communities%20-%20Battlemesh%20v9%20(Porto,%20Portugal).mp4",
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2016",
+        "author": "Jeff Burdges",
+        "location": "GNU Hacker Meeting 2016",
+        "description": "",
+        "name": "Xolotl - A compact mixnet format with stronger forwared 
secrecy and hybrid anonymity",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2015.git/plain/GHM%202015/expose-GNUJeffBurdges19aout2016.mp4";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2016",
+        "author": "t3sserakt, xrs",
+        "location": "Datenspuren 2016",
+        "description": "",
+        "name": "secushare",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2016.git/plain/Datenspuren2016/DS2016-7775-deu-Secushare_webm-hd.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2015",
+        "author": "Christian Grothoff",
+        "location": "PSC 2015",
+        "description": "",
+        "name": "The Architecture of the GNUnet: 45 Subsystems in 45 Minutes",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2015.git/plain/psc2015/grothoff.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2015",
+        "author": "t3sserakt, demos",
+        "location": "Datenspuren 2015",
+        "description": "",
+        "name": "Echt Dezentrales Netzwerk",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2015.git/plain/Datenspuren2015/datenspuren15-7069-de-EDN_-_Echt_Dezentrales_Netzwerk_webm.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2015",
+        "author": "Florian Dold",
+        "location": "32C3",
+        "description": "",
+        "name": "Byzantine Fault Tolerance Set Consensus with Efficient Set 
Reconciliation",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2015.git/plain/32c3/byzantine-fault-tolerant-set-consensus-with-efficient-set-reconciliation.mp4";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2015",
+        "author": "Daniel Golle",
+        "location": "BattleMesh 2015",
+        "description": "",
+        "name": "GNUnet in Community Networks",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2015.git/plain/BattleMeshV8/GNUnet%20in%20Community%20Mesh%20Networks%20+%20Slides%20-%20BattleMeshV8.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Florian Dold",
+        "location": "31C3",
+        "description": "",
+        "name": "Electronic Voting and Key Generation in Distributed Systems",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/voting-voting.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Markus Sabadello, Suhin Mohan Adapa",
+        "location": "31C3",
+        "description": "",
+        "name": "FreedomBox Status Update",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/freedombox-freedombox.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Lucas Fulchir",
+        "location": "31C3",
+        "description": "",
+        "name": "why TLS sucks and what I am doing about it",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/fenrir-fenrir.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Nicolas Benes",
+        "location": "31C3",
+        "description": "",
+        "name": "Panic! An approach for home routers to securely erase 
sensitive data",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/do-panic-do-panic.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Christian Grothoff, Douwe Korff, Jacob Appelbaum",
+        "location": "Council of Europe",
+        "description": "",
+        "name": "After Snowden: using law and technology to counter snooping",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/2014-coe.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Christian Grothoff, Florian Dold",
+        "location": "31C3",
+        "description": "",
+        "name": "Taler",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/taler-taler.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Markus Benter",
+        "location": "31C3",
+        "description": "",
+        "name": "Complex Queries in P2P networks",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/queries-queries.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2014",
+        "author": "Bernd Paysan",
+        "location": "31C3",
+        "description": "",
+        "name": "net2o - Reinventing the Internet",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/net2o-net2o.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2013",
+        "author": "Christian Grothoff, Carlo von Lynx, jacob Appelbaum, 
Richard Stallman",
+        "location": "Berlin",
+        "description": "",
+        "name": "You broke the Internet. We're making ourselves a GNU one.",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2013.git/plain/you%20broke%20the%20internet/internetistschuld.webm";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2013",
+        "author": "Christian Grothoff",
+        "location": "GNU Hacker Meeting 2013",
+        "description": "",
+        "name": "The GNU Name System and the Future of Social Networking with 
GNUnet",
+        "source": "",
+        "mirror_source": 
"https://audio-video.gnu.org/video/ghm2013/Christian_Grothoff-The_GNU_Name_System_and_the_Future_of_Social_Networking_with_GNUnet_.webm";,
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2013",
+        "author": "Christian Grothoff",
+        "location": "30C3",
+        "description": "",
+        "name": "The GNU Name System",
+        "source": "",
+        "mirror_source": 
"https://cdn.media.ccc.de/congress/2013/mp4-lq/30c3-5212-en-The_GNU_Name_System_h264-iprod.mp4";,
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2013",
+        "author": "Markus Teich",
+        "location": "Technische Universitaet Muenchen",
+        "description": "",
+        "name": "Monkey - generating Useful Bug Reports Automatically",
+        "source": "",
+        "mirror_source": 
"https://media.net.in.tum.de/videos/standalonevideo/video/491";,
+        "slides": "",
+        "comment": "TUM internal access"
+    },
+    {
+        "year": "2012",
+        "author": "Martin Schanzenbach",
+        "location": "Technische Universitaet Muenchen",
+        "description": "",
+        "name": "A Censorship-Resistant and Fully Decentralized Naming System",
+        "source": "",
+        "mirror_source": 
"https://media.net.in.tum.de/videoarchive/SS12/Oberseminar/2012+09+19_1600+Design+and+Implementation+of+a+Censorship+Resist/priv/camera.mp4";,
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2010",
+        "author": "Matthias Wachs",
+        "location": "GNU Hacker Meeting 2010",
+        "description": "",
+        "name": "GNUnet - Transport and Transport Selection",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/GNUnet_-_Transports_and_Transport_Selection.ogv";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2010",
+        "author": "Nathan S. Evan",
+        "location": "GNU Hacker Meeting 2010",
+        "description": "",
+        "name": "GNUnet Distributed Data Storage - DHT and Distance Vector 
Transport",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/GNUnet_Distributed_Data_Storage_-_DHT_and_Distance_Vector_Transport.ogv";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+    {
+        "year": "2010",
+        "author": "Christian Grothoff",
+        "location": "GNU Hacker Meeting 2010",
+        "description": "",
+        "name": "Introduction to the GNUnet Peer-to-Peer Framework",
+        "source": 
"https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/Introduction_to_The_GNUnet_Peer-to-Peer_Framework.ogv";,
+        "mirror_source": "",
+        "slides": "",
+        "comment": ""
+    },
+]
 
 def generate_site(root):
     for in_file in glob.glob(root + "/*.j2"):
@@ -357,6 +719,7 @@ def generate_site(root):
                                   lang_full=langs_full[locale],
                                   url=url,
                                   newsdata=newsposts,
+                                  videosdata=videoslist,
                                   self_localized=self_localized,
                                   url_localized=url_localized,
                                   url_static=url_static,
diff --git a/template/video.html.j2 b/template/video.html.j2
index 750e575..fe341c0 100644
--- a/template/video.html.j2
+++ b/template/video.html.j2
@@ -1,415 +1,48 @@
 {% extends "common/base.j2" %}
 {% block body_content %}
-<article class="container">
-
-  <header>
-    <h1>{{ _("Videos related to GNUnet") }}</h1>
-  </header>
-
-  <div class="row">
-    <div class="col-lg-12">
-      <!-- FIXME
-       - some links are missing
-       - most of the videos are loaded from git which is a bottleneck for 
performance. idea: replace some with orginal sources (media.ccc.de, ...)
-      -->
-      <!-- ##### TEMPLATE #####
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source src="">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-
-        </div>
-      </div>
-      -->
-
-      <h2>{{ _("2019") }}</h2>
-      <hr>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2019.git/plain/IETF104/GNU_Name_System_-_2019_Edition_IETF104__Christian_Grothoff.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">Christian Grothoff, GNU Name System, IETF
-        </div>
-      </div>
-
-      <h2>{{ _("2018") }}</h2>
-      <hr>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2018.git/plain/Datenspuren2018/DS2018-9337-deu-State_of_the_GNUnet_webm-hd.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          t3sserakt, State of the GNUnet, Datenspuren 2018
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2018.git/plain/hack.lu/Hack.lu_2018_LT_-_GNUnet_-_You_Broke_The_Internet_Lets_Make_A_GNU_One__sva.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          sva, You Broke The Internet - Lets Make A GNU One, hack.lu
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2018.git/plain/GNS_-_The_GNU_Name_System_-_Overview.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grofhoff, GNS - The GNU Name System - Overview
-        </div>
-      </div>
-
-      <h2>{{ _("2017") }}</h2>
-      <hr>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2017.git/plain/Big_Data-Little_Data-No_Data.mp4";
 type="video/mp4">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff, Big Data, Little Data, No Data, Technische 
Universität München
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-1-eng-Three_Ways_to_Enhance_Metadata_Protection_Beyond_Tor_-_secushareorg_webm-hd.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          lynX, Three Ways to Enhance Metadata Protection Beyond Tor, 34C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-2-eng-Modeling_Trust_in_a_Distributed_Private_Social_Network_-_secushareorg_webm-hd.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          t3sserakt, Modeling Trust in a Distributed Private Social Network, 
34C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-7-eng-Scalable_and_privacy-respectful_distributed_systems_-_Our_chance_to_avoid_cloud_computing_webm-hd.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          lynX, Scalable and privacy-respectful distributed systems - Our 
chance to avoid cloud computing, 34C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2017.git/plain/34c3/34c3-chaoswest-6-eng-Privacy-Oriented_Distributed_Networking_for_an_Ethical_Internet_-_including_50_subsystems_of_GNUnet_webm-hd.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          lynX and Christian Grothoff, Privacy-Oriented Distributed Networking 
for an Ethical Internet, 34C3
-        </div>
-      </div>
-
-      <h2>{{ _("2016") }}</h2>
-      <hr>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2016.git/plain/Battlemeshv9/Gnunet%20For%20Mesh%20Communities%20-%20Battlemesh%20v9%20(Porto,%20Portugal).mp4"
 type="video/mp4">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Daniel Golle, Gnunet For Mesh Communities, Battlemesh v9 (Porto, 
Portugal)
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2015.git/plain/GHM%202015/expose-GNUJeffBurdges19aout2016.mp4";
 type="video/mp4">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Jeff Burdges, Xolotl - A compact mixnet format with stronger 
forwared secrecy and hybrid anonymity, GNU Hacker Meeting
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2016.git/plain/Datenspuren2016/DS2016-7775-deu-Secushare_webm-hd.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          t3sserakt and xrs, Secushare, Datenspuren 2016
-        </div>
-      </div>
-      <ul>
-      </ul>
-
-      <h2>{{ _("2015") }}</h2>
-      <hr>
-      <!-- FIXME: source only available on yt. <li>Ludovic Courtès, <a 
href="">Reproducible Software Deployment with GNU Guix</a>, Inria</li> -->
-      <!-- FIXME: source not available. <li><a 
href="https://git.gnunet.org/gnunet-videos-2015.git/plain/32c3/byzantine-fault-tolerant-set-consensus-with-efficient-set-reconciliation.mp4";>Byzantine
 fault tolerant set consensus with efficient set reconciliation</a>, 32C4 -->
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2015.git/plain/psc2015/grothoff.webm"; 
type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff, The Architecture of the GNUnet: 45 Subsystems in 
45 Minutes
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2015.git/plain/Datenspuren2015/datenspuren15-7069-de-EDN_-_Echt_Dezentrales_Netzwerk_webm.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          t3sserakt and demos, Echt Dezentrales Netzwerk, Datenspuren 2015
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2015.git/plain/BattleMeshV8/GNUnet%20in%20Community%20Mesh%20Networks%20+%20Slides%20-%20BattleMeshV8.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Daniel Golle, GNUnet in Community Networks, BattleMesh 2015
-        </div>
-      </div>
-      <ul>
-      </ul>
-
-      <h2>{{ _("2014") }}</h2>
-      <hr>
-      <!-- FIXME: no source link on web. <li>Julian Kirsch, <a 
href="">"Knocking down the HACIENDA"</a>, GNU Hacker Meeting 2014</li> -->
-      <!-- FIXME: no source link on web. <li>Peter Schaar, <a 
href="">"Technik, Recht und Überwachung"</a>, Technische Universität 
München</li> -->
-      <!-- FIXME: no source link on web. <li>Christian Grothoff, <a href="">"A 
Public Key Infrastructure for Social Movements in the Age of Universal 
Surveillance"</a>, University of Oxford</li> -->
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/voting-voting.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Florian Dold, Electronic Voting and Key Generation in Distributed 
Systems, 31C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/freedombox-freedombox.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Markus Sabadello and Suhin Mohan Adapa, FreedomBox Status Update, 
31C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/fenrir-fenrir.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Lucas Fulchir, why TLS sucks and what I'm doing about it, 31C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/do-panic-do-panic.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Nicolas Benes, Panic! An approach for home routers to securely erase 
sensitive data, 31C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/2014-coe.webm"; 
type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Jacob Appelbaum, Douwe Korff and Christian Grothoff, After Snowden: 
using law and technology to counter snooping, Counsil of Europe
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/taler-taler.webm"; 
type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff and Florian Dold, Taler, 31C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/queries-queries.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Markus Benter, Complex Queries in P2P networks, 31C3
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/net2o-net2o.webm"; 
type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Bernd Paysan, net2o - Reinventing the internet, 31C3
-        </div>
-      </div>
-
-      <h2>{{ _("2013") }}</h2>
-      <hr>
-      <!-- FIXME: no source link on web. <li>Bart Polot, <a href="">"GNUnet 
CADET and GNUnet Conversation" at YBTI/30c3</a>, 30C3</li> -->
-      <!-- FIXME: no media link. <li>Roger Dingledine and Jacob Appelbaum, "Q 
&amp; A", Technische Universität München (<a 
href="https://archive.org/details/RogerDingledineAndJacobAppelbaumQAMarathon"; 
download>download</a>)</li> -->
-      <!-- FIXME: no source link on web. <li>Maximilian Szengel, <a 
href="">"Decentralized Evaluation of Regular Expressions for Capability 
Discovery in Peer-to-Peer Networks"</a>, Technische Universität München</li> -->
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2013.git/plain/you%20broke%20the%20internet/internetistschuld.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff, Carlo von Lynx, Jacob Appelbaum and Richard 
Stallman, You broke the Internet. We're making ourselves a GNU one., Berlin
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://audio-video.gnu.org/video/ghm2013/Christian_Grothoff-The_GNU_Name_System_and_the_Future_of_Social_Networking_with_GNUnet_.webm";
 type="video/webm">
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff, The GNU Name System and the Future of Social 
Networking with GNUnet, GHM
-        </div>
-      </div>
-      <!--
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://media.net.in.tum.de/v/Oberseminar-SS13--Monkey_-_Generating_Useful_Bug_R";>
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Markus Teich, Monkey, generating Useful Bug Reports Automatically, 
Technische Universität München
-        </div>
-      </div>
-      -->
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://cdn.media.ccc.de/congress/2013/mp4-lq/30c3-5212-en-The_GNU_Name_System_h264-iprod.mp4";>
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff, The GNU Name System, 30C3
-        </div>
-      </div>
-
-      <h2>{{ _("2012") }}</h2>
-      <hr>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://media.net.in.tum.de/videoarchive/SS12/Oberseminar/2012+09+19_1600+Design+and+Implementation+of+a+Censorship+Resist/priv/camera.mp4";>
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Martin Schanzenbach, A Censorship-Resistant and Fully Decentralized 
Naming System, Technische Universität München
-        </div>
-      </div>
-      </ul>
-
-      <h2>{{ _("2010") }}</h2>
-      <hr>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/GNUnet_-_Transports_and_Transport_Selection.ogv";>
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Matthias Wachs, GNUnet - Transport and Transport Selection, GNU 
Hacker Meeting 2010
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/GNUnet_Distributed_Data_Storage_-_DHT_and_Distance_Vector_Transport.ogv";>
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Nathan S. Evans, GNUnet Distributed Data Storage - DHT and Distance 
Vector Transport, GNU Hacker Meeting 2010
-        </div>
-      </div>
-      <div class="row container">
-        <div class="col-md-5 col-12">
-          <video width="100%" height="100%" controls preload="none">
-           <source 
src="https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/Introduction_to_The_GNUnet_Peer-to-Peer_Framework.ogv";>
-           Your browser does not support the video tag.
-         </video>
-        </div>
-        <div class="col">
-          Christian Grothoff, Introduction to the GNUnet Peer-to-Peer 
Framework, GNU Hacker Meeting 2010
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-</div> <!-- /container -->
-{% endblock body_content %}
+  <!--
+      FIXME
+      - some links are missing
+      - most of the videos are loaded from git which is a bottleneck for 
performance.
+      - Better selective loop over the dicts.
+    -->
+
+    <article class="container">
+      <header>
+        <h1>{{ _("Videos related to GNUnet") }}</h1>
+      </header>
+      <div class="row">
+        <div class="col-lg-12">
+          {% for item in videosdata %}
+            <section>
+              <header>
+                <h2>{{ item['name'] }} ({{ item['year'] }})</h2>
+              </header>
+              <div class="row container">
+                <div class="col-md-5 col-12">
+                  <video width="100%" height="100%" controls preload="none">
+                   <source src="{{ item['source']}}">
+                      Your web browser does not support the video tag.
+                  </video>
+                </div>
+                <div class="col">
+                  <p>
+                    Name: {{ item['name'] }}<br>
+                    Authors: {{ item['author'] }}<br>
+                    Location: {{ item['location'] }}<br>
+                    Description: {{ item['description'] }}<br>
+                    Year: {{ item['year'] }}<br>
+                    Slides: {% if item['slides'] %}<a href="{{ item['slides'] 
}}">Slides</a>{% endif %}<br>
+                    Mirror: {% if item['mirror_source'] %}<a href="{{ 
item['mirror_source'] }}">Mirror Source</a>{% endif %}<br>
+                    {% if item['comment'] %}
+                      Comment: {{ item['comment'] }}
+                    {% endif %}
+                  </p>
+                </div>
+              </div>
+            </section>
+          {% endfor %}
+        </div>
+      </div>
+    </article>
+  {% endblock body_content %}

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]