aboutsummaryrefslogtreecommitdiff
path: root/template.py
diff options
context:
space:
mode:
Diffstat (limited to 'template.py')
-rwxr-xr-xtemplate.py477
1 files changed, 420 insertions, 57 deletions
diff --git a/template.py b/template.py
index f2fc9a67..87dbcb3c 100755
--- a/template.py
+++ b/template.py
@@ -199,102 +199,464 @@ def copy_static(locale, indict):
199# just using static html + css + some awk and other base tools. 199# just using static html + css + some awk and other base tools.
200newsposts = [ 200newsposts = [
201 { 201 {
202 'page': '2019-0.11.8.html', 202 "page": "2019-0.11.8.html",
203 'date': '2019-10-30', 203 "date": "2019-10-30",
204 'title': 'GNUnet 0.11.8' 204 "title": "GNUnet 0.11.8"
205 }, 205 },
206 { 206 {
207 'page': '2019-0.11.7.html', 207 "page": "2019-0.11.7.html",
208 'date': '2019-10-27', 208 "date": "2019-10-27",
209 'title': 'GNUnet 0.11.7' 209 "title": "GNUnet 0.11.7"
210 }, 210 },
211 { 211 {
212 'page': '2019-10-ICANNPanel.html', 212 "page": "2019-10-ICANNPanel.html",
213 'date': '2019-10-20', 213 "date": "2019-10-20",
214 'title': 'ICANN Panel' 214 "title": "ICANN Panel"
215 }, 215 },
216 { 216 {
217 'page': '2019-10-GNSSpec1.html', 217 "page": "2019-10-GNSSpec1.html",
218 'date': '2019-10-04', 218 "date": "2019-10-04",
219 'title': 'GNS Spec 1' 219 "title": "GNS Spec 1"
220 }, 220 },
221 { 221 {
222 'page': '2019-0.11.6.html', 222 "page": "2019-0.11.6.html",
223 'date': '2019-07-24', 223 "date": "2019-07-24",
224 'title': 'GNUnet 0.11.6' 224 "title": "GNUnet 0.11.6"
225 }, 225 },
226 { 226 {
227 'page': '2019-07-GHM_Aug_2019.html', 227 "page": "2019-07-GHM_Aug_2019.html",
228 'date': '2019-07-17', 228 "date": "2019-07-17",
229 'title': 'GNUnet Hacker Meeting 2019' 229 "title": "GNUnet Hacker Meeting 2019"
230 }, 230 },
231 { 231 {
232 'page': '2019-06-DSTJ.html', 232 "page": "2019-06-DSTJ.html",
233 'date': '2019-06-28', 233 "date": "2019-06-28",
234 'title': 'Peer DSTJ is dead, long live peer Y924' 234 "title": "Peer DSTJ is dead, long live peer Y924"
235 }, 235 },
236 { 236 {
237 'page': '2019-0.11.5.html', 237 "page": "2019-0.11.5.html",
238 'date': '2019-06-05', 238 "date": "2019-06-05",
239 'title': 'GNUnet 0.11.5' 239 "title": "GNUnet 0.11.5"
240 }, 240 },
241 { 241 {
242 'page': '2019-06.html', 242 "page": "2019-06.html",
243 'date': '2019-06-01', 243 "date": "2019-06-01",
244 'title': '2019-06' 244 "title": "2019-06"
245 }, 245 },
246 { 246 {
247 'page': '2019-0.11.4.html', 247 "page": "2019-0.11.4.html",
248 'date': '2019-05-12', 248 "date": "2019-05-12",
249 'title': 'GNUnet 0.11.4' 249 "title": "GNUnet 0.11.4"
250 }, 250 },
251 { 251 {
252 'page': '2019-0.11.3.html', 252 "page": "2019-0.11.3.html",
253 'date': '2019-04-07', 253 "date": "2019-04-07",
254 'title': 'GNUnet 0.11.3' 254 "title": "GNUnet 0.11.3"
255 }, 255 },
256 { 256 {
257 'page': '2019-0.11.2.html', 257 "page": "2019-0.11.2.html",
258 'date': '2019-04-04', 258 "date": "2019-04-04",
259 'title': 'GNUnet 0.11.2' 259 "title": "GNUnet 0.11.2"
260 }, 260 },
261 { 261 {
262 'page': '2019-0.11.1.html', 262 "page": "2019-0.11.1.html",
263 'date': '2019-04-03', 263 "date": "2019-04-03",
264 'title': 'GNUnet 0.11.1' 264 "title": "GNUnet 0.11.1"
265 }, 265 },
266 { 266 {
267 'page': '2019-0.11.0.html', 267 "page": "2019-0.11.0.html",
268 'date': '2019-02-28', 268 "date": "2019-02-28",
269 'title': 'GNUnet 0.11.0' 269 "title": "GNUnet 0.11.0"
270 }, 270 },
271 { 271 {
272 'page': '2019-02.html', 272 "page": "2019-02.html",
273 'date': '2019-02-01', 273 "date": "2019-02-01",
274 'title': 'Google Summer of Code 2019' 274 "title": "Google Summer of Code 2019"
275 }, 275 },
276 { 276 {
277 'page': '2018-08.html', 277 "page": "2018-08.html",
278 'date': '2018-08-14', 278 "date": "2018-08-14",
279 'title': 'GSoC 2018 - GNUnet Web-based User Interface' 279 "title": "GSoC 2018 - GNUnet Web-based User Interface"
280 }, 280 },
281 { 281 {
282 'page': '2018-07.html', 282 "page": "2018-07.html",
283 'date': '2018-07-01', 283 "date": "2018-07-01",
284 'title': 'Second GNUnet Hacker Meeting 2018' 284 "title": "Second GNUnet Hacker Meeting 2018"
285 }, 285 },
286 { 286 {
287 'page': '2018-06.html', 287 "page": "2018-06.html",
288 'date': '2018-06-06', 288 "date": "2018-06-06",
289 'title': 'GNUnet 0.11.0pre66' 289 "title": "GNUnet 0.11.0pre66"
290 }, 290 },
291 { 291 {
292 'page': '2017-10.html', 292 "page": "2017-10.html",
293 'date': '2017-10-01', 293 "date": "2017-10-01",
294 'title': 'Launching the new gnunet.org' 294 "title": "Launching the new gnunet.org"
295 }, 295 },
296] 296]
297 297
298# <!-- FIXME 2015: source only available on yt. <li>Ludovic Courtès, <a href="">Reproducible Software Deployment with GNU Guix</a>, Inria</li> -->
299# <!-- FIXME 2014: no source link on web. <li>Julian Kirsch, <a href="">"Knocking down the HACIENDA"</a>, GNU Hacker Meeting 2014</li> -->
300# <!-- FIXME 2014: no source link on web. <li>Peter Schaar, <a href="">"Technik, Recht und Überwachung"</a>, Technische Universität München</li> -->
301# <!-- 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> -->
302# <!-- FIXME 2013: no source link on web. <li>Bart Polot, <a href="">"GNUnet CADET and GNUnet Conversation" at YBTI/30c3</a>, 30C3</li> -->
303# <!-- 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> -->
304# <!-- 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> -->
305
306videoslist = [
307 {
308 "year": "2019",
309 "author": "Christian Grothoff",
310 "location": "IETF",
311 "description": "",
312 "name": "GNU Name System",
313 "source": "https://git.gnunet.org/gnunet-videos-2019.git/plain/IETF104/GNU_Name_System_-_2019_Edition_IETF104__Christian_Grothoff.webm",
314 "mirror_source": "",
315 "slides": "",
316 "comment": ""
317 },
318 {
319 "year": "2018",
320 "author": "t3sserakt",
321 "location": "Datenspuren 2018",
322 "description": "",
323 "name": "State of the GNUnet",
324 "source": "https://git.gnunet.org/gnunet-videos-2018.git/plain/Datenspuren2018/DS2018-9337-deu-State_of_the_GNUnet_webm-hd.webm",
325 "mirror_source": "",
326 "slides": "",
327 "comment": ""
328 },
329 {
330 "year": "2018",
331 "author": "sva",
332 "location": "hack.lu",
333 "description": "",
334 "name": "You Broke The Internet - Let's Make a GNU One",
335 "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",
336 "mirror_source": "",
337 "slides": "",
338 "comment": ""
339 },
340 {
341 "year": "2018",
342 "author": "Christian Grothoff",
343 "location": "",
344 "description": "",
345 "name": "GNS - The GNU Name System - Overview",
346 "source": "https://git.gnunet.org/gnunet-videos-2018.git/plain/GNS_-_The_GNU_Name_System_-_Overview.webm",
347 "mirror_source": "",
348 "slides": "",
349 "comment": ""
350 },
351 {
352 "year": "2017",
353 "author": "Christian Grothoff",
354 "location": "Technische Universitaet Muenchen",
355 "description": "",
356 "name": "Big Data, Little Data, No Data",
357 "source": "https://git.gnunet.org/gnunet-videos-2017.git/plain/Big_Data-Little_Data-No_Data.mp4",
358 "mirror_source": "",
359 "slides": "",
360 "comment": ""
361 },
362 {
363 "year": "2017",
364 "author": "lynX",
365 "location": "34C3",
366 "description": "",
367 "name": "Three Ways to Enhance Metadata Protection Beyond Tor",
368 "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",
369 "mirror_source": "",
370 "slides": "",
371 "comment": ""
372 },
373 {
374 "year": "2017",
375 "author": "t3sserakt",
376 "location": "34C3",
377 "description": "",
378 "name": "Modeling Trust in a Distributed Private Social Network",
379 "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",
380 "mirror_source": "",
381 "slides": "",
382 "comment": ""
383 },
384 {
385 "year": "2017",
386 "author": "lynX",
387 "location": "34C3",
388 "description": "",
389 "name": "Scalable and privacy-respectful distributed systems - Our chance to avoid cloud computing",
390 "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",
391 "mirror_source": "",
392 "slides": "",
393 "comment": ""
394 },
395 {
396 "year": "2017",
397 "author": "lynX, Christian Grothoff",
398 "location": "34C3",
399 "description": "",
400 "name": "Privacy-Oriented Distributed Networking for an Ethical Internet",
401 "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",
402 "mirror_source": "",
403 "slides": "",
404 "comment": ""
405 },
406 {
407 "year": "2016",
408 "author": "Daniel Golle",
409 "location": "Battlemesh v9 (Porto, Portugal)",
410 "description": "",
411 "name": "GNUnet For Mesh Communities",
412 "source": "https://git.gnunet.org/gnunet-videos-2016.git/plain/Battlemeshv9/Gnunet%20For%20Mesh%20Communities%20-%20Battlemesh%20v9%20(Porto,%20Portugal).mp4",
413 "mirror_source": "",
414 "slides": "",
415 "comment": ""
416 },
417 {
418 "year": "2016",
419 "author": "Jeff Burdges",
420 "location": "GNU Hacker Meeting 2016",
421 "description": "",
422 "name": "Xolotl - A compact mixnet format with stronger forwared secrecy and hybrid anonymity",
423 "source": "https://git.gnunet.org/gnunet-videos-2015.git/plain/GHM%202015/expose-GNUJeffBurdges19aout2016.mp4",
424 "mirror_source": "",
425 "slides": "",
426 "comment": ""
427 },
428 {
429 "year": "2016",
430 "author": "t3sserakt, xrs",
431 "location": "Datenspuren 2016",
432 "description": "",
433 "name": "secushare",
434 "source": "https://git.gnunet.org/gnunet-videos-2016.git/plain/Datenspuren2016/DS2016-7775-deu-Secushare_webm-hd.webm",
435 "mirror_source": "",
436 "slides": "",
437 "comment": ""
438 },
439 {
440 "year": "2015",
441 "author": "Christian Grothoff",
442 "location": "PSC 2015",
443 "description": "",
444 "name": "The Architecture of the GNUnet: 45 Subsystems in 45 Minutes",
445 "source": "https://git.gnunet.org/gnunet-videos-2015.git/plain/psc2015/grothoff.webm",
446 "mirror_source": "",
447 "slides": "",
448 "comment": ""
449 },
450 {
451 "year": "2015",
452 "author": "t3sserakt, demos",
453 "location": "Datenspuren 2015",
454 "description": "",
455 "name": "Echt Dezentrales Netzwerk",
456 "source": "https://git.gnunet.org/gnunet-videos-2015.git/plain/Datenspuren2015/datenspuren15-7069-de-EDN_-_Echt_Dezentrales_Netzwerk_webm.webm",
457 "mirror_source": "",
458 "slides": "",
459 "comment": ""
460 },
461 {
462 "year": "2015",
463 "author": "Florian Dold",
464 "location": "32C3",
465 "description": "",
466 "name": "Byzantine Fault Tolerance Set Consensus with Efficient Set Reconciliation",
467 "source": "https://git.gnunet.org/gnunet-videos-2015.git/plain/32c3/byzantine-fault-tolerant-set-consensus-with-efficient-set-reconciliation.mp4",
468 "mirror_source": "",
469 "slides": "",
470 "comment": ""
471 },
472 {
473 "year": "2015",
474 "author": "Daniel Golle",
475 "location": "BattleMesh 2015",
476 "description": "",
477 "name": "GNUnet in Community Networks",
478 "source": "https://git.gnunet.org/gnunet-videos-2015.git/plain/BattleMeshV8/GNUnet%20in%20Community%20Mesh%20Networks%20+%20Slides%20-%20BattleMeshV8.webm",
479 "mirror_source": "",
480 "slides": "",
481 "comment": ""
482 },
483 {
484 "year": "2014",
485 "author": "Florian Dold",
486 "location": "31C3",
487 "description": "",
488 "name": "Electronic Voting and Key Generation in Distributed Systems",
489 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/voting-voting.webm",
490 "mirror_source": "",
491 "slides": "",
492 "comment": ""
493 },
494 {
495 "year": "2014",
496 "author": "Markus Sabadello, Suhin Mohan Adapa",
497 "location": "31C3",
498 "description": "",
499 "name": "FreedomBox Status Update",
500 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/freedombox-freedombox.webm",
501 "mirror_source": "",
502 "slides": "",
503 "comment": ""
504 },
505 {
506 "year": "2014",
507 "author": "Lucas Fulchir",
508 "location": "31C3",
509 "description": "",
510 "name": "why TLS sucks and what I am doing about it",
511 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/fenrir-fenrir.webm",
512 "mirror_source": "",
513 "slides": "",
514 "comment": ""
515 },
516 {
517 "year": "2014",
518 "author": "Nicolas Benes",
519 "location": "31C3",
520 "description": "",
521 "name": "Panic! An approach for home routers to securely erase sensitive data",
522 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/do-panic-do-panic.webm",
523 "mirror_source": "",
524 "slides": "",
525 "comment": ""
526 },
527 {
528 "year": "2014",
529 "author": "Christian Grothoff, Douwe Korff, Jacob Appelbaum",
530 "location": "Council of Europe",
531 "description": "",
532 "name": "After Snowden: using law and technology to counter snooping",
533 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/2014-coe.webm",
534 "mirror_source": "",
535 "slides": "",
536 "comment": ""
537 },
538 {
539 "year": "2014",
540 "author": "Christian Grothoff, Florian Dold",
541 "location": "31C3",
542 "description": "",
543 "name": "Taler",
544 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/taler-taler.webm",
545 "mirror_source": "",
546 "slides": "",
547 "comment": ""
548 },
549 {
550 "year": "2014",
551 "author": "Markus Benter",
552 "location": "31C3",
553 "description": "",
554 "name": "Complex Queries in P2P networks",
555 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/queries-queries.webm",
556 "mirror_source": "",
557 "slides": "",
558 "comment": ""
559 },
560 {
561 "year": "2014",
562 "author": "Bernd Paysan",
563 "location": "31C3",
564 "description": "",
565 "name": "net2o - Reinventing the Internet",
566 "source": "https://git.gnunet.org/gnunet-videos-2014.git/plain/31c3/net2o-net2o.webm",
567 "mirror_source": "",
568 "slides": "",
569 "comment": ""
570 },
571 {
572 "year": "2013",
573 "author": "Christian Grothoff, Carlo von Lynx, jacob Appelbaum, Richard Stallman",
574 "location": "Berlin",
575 "description": "",
576 "name": "You broke the Internet. We're making ourselves a GNU one.",
577 "source": "https://git.gnunet.org/gnunet-videos-2013.git/plain/you%20broke%20the%20internet/internetistschuld.webm",
578 "mirror_source": "",
579 "slides": "",
580 "comment": ""
581 },
582 {
583 "year": "2013",
584 "author": "Christian Grothoff",
585 "location": "GNU Hacker Meeting 2013",
586 "description": "",
587 "name": "The GNU Name System and the Future of Social Networking with GNUnet",
588 "source": "",
589 "mirror_source": "https://audio-video.gnu.org/video/ghm2013/Christian_Grothoff-The_GNU_Name_System_and_the_Future_of_Social_Networking_with_GNUnet_.webm",
590 "slides": "",
591 "comment": ""
592 },
593 {
594 "year": "2013",
595 "author": "Christian Grothoff",
596 "location": "30C3",
597 "description": "",
598 "name": "The GNU Name System",
599 "source": "",
600 "mirror_source": "https://cdn.media.ccc.de/congress/2013/mp4-lq/30c3-5212-en-The_GNU_Name_System_h264-iprod.mp4",
601 "slides": "",
602 "comment": ""
603 },
604 {
605 "year": "2013",
606 "author": "Markus Teich",
607 "location": "Technische Universitaet Muenchen",
608 "description": "",
609 "name": "Monkey - generating Useful Bug Reports Automatically",
610 "source": "",
611 "mirror_source": "https://media.net.in.tum.de/videos/standalonevideo/video/491",
612 "slides": "",
613 "comment": "TUM internal access"
614 },
615 {
616 "year": "2012",
617 "author": "Martin Schanzenbach",
618 "location": "Technische Universitaet Muenchen",
619 "description": "",
620 "name": "A Censorship-Resistant and Fully Decentralized Naming System",
621 "source": "",
622 "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",
623 "slides": "",
624 "comment": ""
625 },
626 {
627 "year": "2010",
628 "author": "Matthias Wachs",
629 "location": "GNU Hacker Meeting 2010",
630 "description": "",
631 "name": "GNUnet - Transport and Transport Selection",
632 "source": "https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/GNUnet_-_Transports_and_Transport_Selection.ogv",
633 "mirror_source": "",
634 "slides": "",
635 "comment": ""
636 },
637 {
638 "year": "2010",
639 "author": "Nathan S. Evan",
640 "location": "GNU Hacker Meeting 2010",
641 "description": "",
642 "name": "GNUnet Distributed Data Storage - DHT and Distance Vector Transport",
643 "source": "https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/GNUnet_Distributed_Data_Storage_-_DHT_and_Distance_Vector_Transport.ogv",
644 "mirror_source": "",
645 "slides": "",
646 "comment": ""
647 },
648 {
649 "year": "2010",
650 "author": "Christian Grothoff",
651 "location": "GNU Hacker Meeting 2010",
652 "description": "",
653 "name": "Introduction to the GNUnet Peer-to-Peer Framework",
654 "source": "https://git.gnunet.org/gnunet-videos-2010.git/plain/GHM_Hague/Introduction_to_The_GNUnet_Peer-to-Peer_Framework.ogv",
655 "mirror_source": "",
656 "slides": "",
657 "comment": ""
658 },
659]
298 660
299def generate_site(root): 661def generate_site(root):
300 for in_file in glob.glob(root + "/*.j2"): 662 for in_file in glob.glob(root + "/*.j2"):
@@ -357,6 +719,7 @@ def generate_site(root):
357 lang_full=langs_full[locale], 719 lang_full=langs_full[locale],
358 url=url, 720 url=url,
359 newsdata=newsposts, 721 newsdata=newsposts,
722 videosdata=videoslist,
360 self_localized=self_localized, 723 self_localized=self_localized,
361 url_localized=url_localized, 724 url_localized=url_localized,
362 url_static=url_static, 725 url_static=url_static,