list available languages and topics for links, and allow for their dynamic display

This commit is contained in:
2020-02-27 14:29:26 +01:00
parent 5c273ce8c2
commit 7be63977ac
6 changed files with 160 additions and 108 deletions

View File

@@ -5,9 +5,13 @@ page: true
A selection of links to [audio and video recordings](#av), [journalistic articles](#media) I wrote or have been quoted in, some of my [scientific papers](#science), and [organisations I volunteer for](#volunteer). A selection of links to [audio and video recordings](#av), [journalistic articles](#media) I wrote or have been quoted in, some of my [scientific papers](#science), and [organisations I volunteer for](#volunteer).
You can click on the buttons to select only links with the given language or topic.
{{< tags >}}
## Audio/Video Recordings {#av} ## Audio/Video Recordings {#av}
A selection of my presentations and radio shows I participated in. Clicking on the respective icons you can watch the video recording, access the slides and listen to the audio recording. The buttons indicate the spoken language as well as the general topic of the talk. A selection of my presentations and radio shows I participated in. By clicking on the respective icons you can watch the video recording, access the slides and listen to the audio recording.
{{< links type="av" >}} {{< links type="av" >}}

View File

@@ -6,9 +6,8 @@
links: links:
- href: https://www.theregister.co.uk/2019/03/11/eu_directive_ban_rf_radio_firmware_tinkering/ - href: https://www.theregister.co.uk/2019/03/11/eu_directive_ban_rf_radio_firmware_tinkering/
text: "News @ The Register" text: "News @ The Register"
tags: lang: ["EN"]
- EN tags: ["radiolockdown"]
- radio lockdown
- desc: '"Open Source Software: 20-Plus Years of Innovation"' - desc: '"Open Source Software: 20-Plus Years of Innovation"'
type: media type: media
@@ -16,8 +15,7 @@
links: links:
- href: https://www.linuxinsider.com/story/85646.html - href: https://www.linuxinsider.com/story/85646.html
text: "News @ LinuxInsider" text: "News @ LinuxInsider"
tags: lang: ["EN"]
- EN
- desc: '"How to push back Google - and optimise Android"' - desc: '"How to push back Google - and optimise Android"'
type: media type: media
@@ -25,9 +23,8 @@
links: links:
- href: https://www.welt.de/wirtschaft/webwelt/article181237140/Android-Kontrolle-So-verbannen-Sie-Google-vom-Smartphone.html - href: https://www.welt.de/wirtschaft/webwelt/article181237140/Android-Kontrolle-So-verbannen-Sie-Google-vom-Smartphone.html
text: "News @ WELT" text: "News @ WELT"
tags: lang: ["DE"]
- DE tags: ["android"]
- android
- desc: '"Public Money, Public Code pushes for governments to switch to open-source software"' - desc: '"Public Money, Public Code pushes for governments to switch to open-source software"'
type: media type: media
@@ -35,9 +32,8 @@
links: links:
- href: https://www.shareable.net/blog/public-money-public-code-pushes-for-governments-to-switch-to-open-source-software - href: https://www.shareable.net/blog/public-money-public-code-pushes-for-governments-to-switch-to-open-source-software
text: "News @ Shareable" text: "News @ Shareable"
tags: lang: ["EN"]
- EN tags: ["publiccode"]
- publiccode
- desc: '"Free Software, Free Society. Why analogue freedom can no longer be thought without digital freedom"' - desc: '"Free Software, Free Society. Why analogue freedom can no longer be thought without digital freedom"'
type: media type: media
@@ -45,8 +41,7 @@
links: links:
- href: http://www.zurichglobalist.uzh.ch/dam/jcr:3576081b-18a9-4d80-95a9-fcc13071974c/Zurich%20Globalist_Freedom.pdf - href: http://www.zurichglobalist.uzh.ch/dam/jcr:3576081b-18a9-4d80-95a9-fcc13071974c/Zurich%20Globalist_Freedom.pdf
text: "Article @ Zurich Globalist" text: "Article @ Zurich Globalist"
tags: lang: ["DE"]
- DE
- desc: '"Radio Lockdown Directive - Threat for user rights and companies"' - desc: '"Radio Lockdown Directive - Threat for user rights and companies"'
type: media type: media
@@ -54,9 +49,8 @@
links: links:
- href: https://www.ispa.at/wissenspool/ispa-news.html - href: https://www.ispa.at/wissenspool/ispa-news.html
text: Article @ ISPA News text: Article @ ISPA News
tags: lang: ["DE"]
- DE tags: ["radiolockdown"]
- radio lockdown
- desc: '"About advantages of Free Software and non-techy tech conferences"' - desc: '"About advantages of Free Software and non-techy tech conferences"'
type: media type: media
@@ -64,8 +58,7 @@
links: links:
- href: https://netzpolitik.org/2016/interview-mit-max-mehl-ueber-die-vorteile-von-freier-software-und-tech-konferenzen-die-keine-sind/ - href: https://netzpolitik.org/2016/interview-mit-max-mehl-ueber-die-vorteile-von-freier-software-und-tech-konferenzen-die-keine-sind/
text: Interview @ Netzpolitik.org text: Interview @ Netzpolitik.org
tags: lang: ["DE"]
- DE
- desc: '"New law lets German internet users connect with their own routers"' - desc: '"New law lets German internet users connect with their own routers"'
type: media type: media
@@ -73,9 +66,8 @@
links: links:
- href: https://www.cio.com/article/3101864/new-law-lets-german-internet-users-connect-with-their-own-routers.html - href: https://www.cio.com/article/3101864/new-law-lets-german-internet-users-connect-with-their-own-routers.html
text: News @ CIO.com text: News @ CIO.com
tags: lang: ["EN"]
- EN tags: ["routerfreedom"]
- router freedom
- desc: '"Compulsory Routers abolished - what internet users have to know"' - desc: '"Compulsory Routers abolished - what internet users have to know"'
type: media type: media
@@ -83,9 +75,8 @@
links: links:
- href: https://www.sueddeutsche.de/wirtschaft/internet-der-routerzwang-endet-was-internetnutzer-jetzt-wissen-muessen-1.3095231 - href: https://www.sueddeutsche.de/wirtschaft/internet-der-routerzwang-endet-was-internetnutzer-jetzt-wissen-muessen-1.3095231
text: News @ Süddeutsche Zeitung text: News @ Süddeutsche Zeitung
tags: lang: ["DE"]
- DE tags: ["routerfreedom"]
- router freedom
- desc: '"EU Radio Directive threatens competition and user rights"' - desc: '"EU Radio Directive threatens competition and user rights"'
type: media type: media
@@ -93,9 +84,8 @@
links: links:
- href: https://www.dvtm.net - href: https://www.dvtm.net
text: Article @ DVTM Newsletter text: Article @ DVTM Newsletter
tags: lang: ["DE"]
- DE tags: ["radiolockdown"]
- radio lockdown
- desc: '"Commentary: 10 years Sony Rootkit Why we should care"' - desc: '"Commentary: 10 years Sony Rootkit Why we should care"'
type: media type: media
@@ -103,9 +93,8 @@
links: links:
- href: https://www.heise.de/ct/artikel/Kommentar-10-Jahre-Sony-Rootkit-Why-we-should-care-2865608.html - href: https://www.heise.de/ct/artikel/Kommentar-10-Jahre-Sony-Rootkit-Why-we-should-care-2865608.html
text: Commentary @ c't magazin text: Commentary @ c't magazin
tags: lang: ["DE"]
- DE tags: ["drm"]
- drm
- desc: '"10 years Sony Rootkit: malware by manufacturer"' - desc: '"10 years Sony Rootkit: malware by manufacturer"'
type: media type: media
@@ -113,9 +102,8 @@
links: links:
- href: http://www.heise.de/newsticker/meldung/10-Jahre-Sony-Rootkit-Schadsoftware-vom-Hersteller-2865426.html - href: http://www.heise.de/newsticker/meldung/10-Jahre-Sony-Rootkit-Schadsoftware-vom-Hersteller-2865426.html
text: Commentary @ heise online text: Commentary @ heise online
tags: lang: ["DE"]
- DE tags: ["drm"]
- drm
- desc: '"The long road from Compulsory Routers to freedom of choice"' - desc: '"The long road from Compulsory Routers to freedom of choice"'
type: media type: media
@@ -123,9 +111,8 @@
links: links:
- href: https://netzpolitik.org/2015/der-lange-weg-des-routerzwangs-zur-endgeraetefreiheit/ - href: https://netzpolitik.org/2015/der-lange-weg-des-routerzwangs-zur-endgeraetefreiheit/
text: Article @ Netzpolitik.org text: Article @ Netzpolitik.org
tags: lang: ["DE"]
- DE tags: ["routerfreedom"]
- router freedom
# AUDIO/VIDEO # AUDIO/VIDEO
@@ -136,9 +123,8 @@
- href: https://www.digitale-gesellschaft.ch/kongress/2020/talks/keine_it-sicherheit_ohne_freie_software/ - href: https://www.digitale-gesellschaft.ch/kongress/2020/talks/keine_it-sicherheit_ohne_freie_software/
text: Talk @ Winterkongress DigiGes CH text: Talk @ Winterkongress DigiGes CH
slides: https://download.fsfe.org/presentations/20200222-mm-Winterkongress-ITSec.de.pdf slides: https://download.fsfe.org/presentations/20200222-mm-Winterkongress-ITSec.de.pdf
tags: lang: ["DE"]
- DE tags: ["itsec"]
- itsec
- desc: '"Go REUSE to license your code"' - desc: '"Go REUSE to license your code"'
type: av type: av
@@ -148,9 +134,8 @@
text: Talk @ FOSDEM text: Talk @ FOSDEM
video: https://www.youtube.com/watch?v=vyAYKROvTO8 video: https://www.youtube.com/watch?v=vyAYKROvTO8
slides: https://download.fsfe.org/presentations/20200202-mm-FOSDEM-REUSE.en.pdf slides: https://download.fsfe.org/presentations/20200202-mm-FOSDEM-REUSE.en.pdf
tags: lang: ["EN"]
- EN tags: ["reuse"]
- reuse
- desc: '"REUSE: Make licensing easy for everyone"' - desc: '"REUSE: Make licensing easy for everyone"'
type: av type: av
@@ -159,9 +144,8 @@
- href: https://osseu19.sched.com/event/05a3272287d3def1bcb0a62ace00b730 - href: https://osseu19.sched.com/event/05a3272287d3def1bcb0a62ace00b730
text: Talk @ Open Source Summit Europe text: Talk @ Open Source Summit Europe
slides: https://download.fsfe.org/presentations/20191028-mm-OSSEU-REUSE.en.pdf slides: https://download.fsfe.org/presentations/20191028-mm-OSSEU-REUSE.en.pdf
tags: lang: ["EN"]
- EN tags: ["reuse"]
- reuse
- desc: '"No IT security without Free Software"' - desc: '"No IT security without Free Software"'
type: av type: av
@@ -171,9 +155,8 @@
text: Talk @ BalCCon text: Talk @ BalCCon
video: https://www.youtube.com/watch?v=8SWijSFbMhg video: https://www.youtube.com/watch?v=8SWijSFbMhg
slides: https://download.fsfe.org/presentations/20190914-mm-BalCCon-ITSec.en.pdf slides: https://download.fsfe.org/presentations/20190914-mm-BalCCon-ITSec.en.pdf
tags: lang: ["EN"]
- EN tags: ["itsec"]
- itsec
- desc: '"No IT security without Free Software"' - desc: '"No IT security without Free Software"'
type: av type: av
@@ -183,9 +166,8 @@
text: Talk @ Pass the SALT text: Talk @ Pass the SALT
video: https://www.youtube.com/watch?v=B0qxm331Q8Q video: https://www.youtube.com/watch?v=B0qxm331Q8Q
slides: https://download.fsfe.org/presentations/20190703-mm-SALT-ITSec.en.pdf slides: https://download.fsfe.org/presentations/20190703-mm-SALT-ITSec.en.pdf
tags: lang: ["EN"]
- EN tags: ["itsec"]
- itsec
- desc: '"IT Security? Free Software!"' - desc: '"IT Security? Free Software!"'
type: av type: av
@@ -195,9 +177,8 @@
text: Keynote @ Grazer Linuxtage text: Keynote @ Grazer Linuxtage
video: https://www.youtube.com/watch?v=DOv_5ZPcFZ8 video: https://www.youtube.com/watch?v=DOv_5ZPcFZ8
slides: https://download.fsfe.org/presentations/20190427-mm-Graz-ITSec.de.pdf slides: https://download.fsfe.org/presentations/20190427-mm-Graz-ITSec.de.pdf
tags: lang: ["DE"]
- DE tags: ["itsec"]
- itsec
- desc: '"Public Code with Free Software: Modernising Public Digital Infrastructure"' - desc: '"Public Code with Free Software: Modernising Public Digital Infrastructure"'
type: av type: av
@@ -207,9 +188,8 @@
text: Talk @ BalCCon text: Talk @ BalCCon
video: https://www.youtube.com/watch?v=tEkCnCtoQ60 video: https://www.youtube.com/watch?v=tEkCnCtoQ60
slides: https://download.fsfe.org/presentations/20180915-mm-BalCCon-PMPC.en.pdf slides: https://download.fsfe.org/presentations/20180915-mm-BalCCon-PMPC.en.pdf
tags: lang: ["EN"]
- EN tags: ["publiccode"]
- publiccode
- desc: '"Public Money? Public Code! - Modernising Digital Public Infrastructure"' - desc: '"Public Money? Public Code! - Modernising Digital Public Infrastructure"'
type: av type: av
@@ -218,9 +198,8 @@
- href: https://www.drupaleurope.org/session/public-code-free-software-modernising-digital-public-infrastructure - href: https://www.drupaleurope.org/session/public-code-free-software-modernising-digital-public-infrastructure
text: Talk @ DrupalEurope text: Talk @ DrupalEurope
slides: https://download.fsfe.org/presentations/20180911-mm-DrupalEurope-PMPC.en.pdf slides: https://download.fsfe.org/presentations/20180911-mm-DrupalEurope-PMPC.en.pdf
tags: lang: ["EN"]
- EN tags: ["publiccode"]
- publiccode
- desc: '"Public Money? Public Code! - Modernising Digital Public Infrastructure"' - desc: '"Public Money? Public Code! - Modernising Digital Public Infrastructure"'
type: av type: av
@@ -229,9 +208,8 @@
- href: - href:
text: Talk @ RMLL/LSM text: Talk @ RMLL/LSM
slides: https://download.fsfe.org/presentations/20180707-mm-RMLL-PMPC.en.pdf slides: https://download.fsfe.org/presentations/20180707-mm-RMLL-PMPC.en.pdf
tags: lang: ["EN"]
- EN tags: ["publiccode"]
- publiccode
- desc: '"Sovereignty by Free Software"' - desc: '"Sovereignty by Free Software"'
type: av type: av
@@ -239,9 +217,8 @@
links: links:
- href: - href:
text: Talk @ German Armed Forces text: Talk @ German Armed Forces
tags: lang: ["DE"]
- DE tags: ["publiccode"]
- publiccode
- desc: '"Public Code with Free Software: Modernising Public Digital Infrastructure"' - desc: '"Public Code with Free Software: Modernising Public Digital Infrastructure"'
type: av type: av
@@ -251,9 +228,8 @@
text: Keynote @ OW2Con text: Keynote @ OW2Con
video: https://www.youtube.com/watch?v=kQGw25xG_5c video: https://www.youtube.com/watch?v=kQGw25xG_5c
slides: https://download.fsfe.org/presentations/20180607-mm-OW2Con-PMPC.en.pdf slides: https://download.fsfe.org/presentations/20180607-mm-OW2Con-PMPC.en.pdf
tags: lang: ["EN"]
- EN tags: ["publiccode"]
- publiccode
- desc: '"EU Radio Equipment Directive: Extensive Device Lockdown"' - desc: '"EU Radio Equipment Directive: Extensive Device Lockdown"'
type: av type: av
@@ -262,9 +238,8 @@
- href: https://fsfe.org/news/2017/news-20170619-01.html - href: https://fsfe.org/news/2017/news-20170619-01.html
text: Talk @ Legal and Licensing Workshop text: Talk @ Legal and Licensing Workshop
slides: https://download.fsfe.org/presentations/20170427-mm-LLW-RadioLockdown_verbose.en.pdf slides: https://download.fsfe.org/presentations/20170427-mm-LLW-RadioLockdown_verbose.en.pdf
tags: lang: ["EN"]
- EN tags: ["radiolockdown"]
- radio lockdown
- desc: '"Radio Lockdown Directive - Our devices are engangered"' - desc: '"Radio Lockdown Directive - Our devices are engangered"'
type: av type: av
@@ -274,9 +249,8 @@
text: Talk @ Chemnitzer Linuxtage text: Talk @ Chemnitzer Linuxtage
video: https://chemnitzer.linux-tage.de/2017/en/programm/beitrag/266 video: https://chemnitzer.linux-tage.de/2017/en/programm/beitrag/266
slides: https://download.fsfe.org/presentations/20170311-mm-CLT-RadioLockdown.de.pdf slides: https://download.fsfe.org/presentations/20170311-mm-CLT-RadioLockdown.de.pdf
tags: lang: ["DE"]
- DE tags: ["radiolockdown"]
- radio lockdown
- desc: '"Radio Lockdown Directive - Major Threat for Free Software on Radio Devices"' - desc: '"Radio Lockdown Directive - Major Threat for Free Software on Radio Devices"'
type: av type: av
@@ -286,9 +260,8 @@
text: Talk @ FOSDEM text: Talk @ FOSDEM
video: https://archive.fosdem.org/2017/schedule/event/radio_lockdown_directive/ video: https://archive.fosdem.org/2017/schedule/event/radio_lockdown_directive/
slides: https://download.fsfe.org/presentations/20170204-mm-FOSDEM-Radiolockdown.en.pdf slides: https://download.fsfe.org/presentations/20170204-mm-FOSDEM-Radiolockdown.en.pdf
tags: lang: ["EN"]
- EN tags: ["radiolockdown"]
- radio lockdown
- desc: '"Compulsory Routers and Radio Lockdown What activists can learn from it"' - desc: '"Compulsory Routers and Radio Lockdown What activists can learn from it"'
type: av type: av
@@ -298,11 +271,8 @@
text: Talk @ 33. Chaos Communication Congress text: Talk @ 33. Chaos Communication Congress
video: https://media.ccc.de/v/33c3-8024-routerzwang_und_funkabschottung video: https://media.ccc.de/v/33c3-8024-routerzwang_und_funkabschottung
slides: https://download.fsfe.org/presentations/20161227-mm-33C3-Radio+Router.de.pdf slides: https://download.fsfe.org/presentations/20161227-mm-33C3-Radio+Router.de.pdf
tags: lang: ["EN", "DE"]
- EN tags: ["routerfreedom", "radiolockdown"]
- DE
- router freedom
- radio lockdown
- desc: '"No more Compulsory Routers Free choice of DSL modem and cable modem"' - desc: '"No more Compulsory Routers Free choice of DSL modem and cable modem"'
type: av type: av
@@ -311,9 +281,8 @@
- href: https://www.deutschlandfunk.de/dsl-modem-und-kabelrouter-schluss-mit-dem-routerzwang.772.de.html?dram:article_id=362214 - href: https://www.deutschlandfunk.de/dsl-modem-und-kabelrouter-schluss-mit-dem-routerzwang.772.de.html?dram:article_id=362214
text: Radio Show @ Deutschlandfunk text: Radio Show @ Deutschlandfunk
audio: https://up.mehl.mx/audio/20160901-dlf-routerzwang.ogg audio: https://up.mehl.mx/audio/20160901-dlf-routerzwang.ogg
tags: lang: ["DE"]
- DE tags: ["routerfreedom"]
- router freedom
- desc: '"Compulsory Routers and Radio Lockdown What activists can learn from it"' - desc: '"Compulsory Routers and Radio Lockdown What activists can learn from it"'
type: av type: av
@@ -322,10 +291,8 @@
- href: https://programm.froscon.de/2016/events/1738.html - href: https://programm.froscon.de/2016/events/1738.html
text: Talk @ FrOSCon text: Talk @ FrOSCon
video: https://www.youtube.com/watch?v=CdRQtaePiIs video: https://www.youtube.com/watch?v=CdRQtaePiIs
tags: lang: ["DE"]
- DE tags: ["radiolockdown", "routerfreedom"]
- radio lockdown
- router freedom
- desc: '"The FSFE uncut"' - desc: '"The FSFE uncut"'
type: av type: av
@@ -333,8 +300,7 @@
links: links:
- href: - href:
text: Podcast @ Living Linux text: Podcast @ Living Linux
tags: lang: ["DE"]
- DE
- desc: '"Compulsory Routers and what activists can learn from it"' - desc: '"Compulsory Routers and what activists can learn from it"'
type: av type: av
@@ -343,9 +309,8 @@
- href: https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/177 - href: https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/177
text: Chemnitzer Linuxtage text: Chemnitzer Linuxtage
video: https://www.youtube.com/watch?v=P5EMZ8VFuME video: https://www.youtube.com/watch?v=P5EMZ8VFuME
tags: lang: ["DE"]
- DE tags: ["routerfreedom"]
- router freedom
# SCIENCE # SCIENCE
@@ -357,8 +322,7 @@
text: B.A. Thesis text: B.A. Thesis
- href: https://up.mehl.mx/ba/ba-mehl.zip - href: https://up.mehl.mx/ba/ba-mehl.zip
text: Data & Code text: Data & Code
tags: lang: ["DE"]
- DE
- desc: '"Once again a surpising crisis?" - Quantitative study of clustering news' - desc: '"Once again a surpising crisis?" - Quantitative study of clustering news'
type: science type: science
@@ -366,8 +330,7 @@
links: links:
- href: https://up.mehl.mx/uni/2014-suprisingnews.zip - href: https://up.mehl.mx/uni/2014-suprisingnews.zip
text: Paper & Code text: Paper & Code
tags: lang: ["DE"]
- DE
- desc: '"The imprint is still not taken for granted" - Analysis of compliance with the German imprint requirement' - desc: '"The imprint is still not taken for granted" - Analysis of compliance with the German imprint requirement'
type: science type: science
@@ -375,8 +338,7 @@
links: links:
- href: https://up.mehl.mx/uni/2014-impressum.zip - href: https://up.mehl.mx/uni/2014-impressum.zip
text: Paper & Code text: Paper & Code
tags: lang: ["DE"]
- DE
# VOLUNTEER # VOLUNTEER

View File

@@ -1,5 +1,6 @@
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="{{ .Site.BaseURL }}js/jquery-1.11.3.min.js"></script> <script src="{{ .Site.BaseURL }}js/jquery-1.11.3.min.js"></script>
<script src="{{ .Site.BaseURL }}js/filter-tags.js"></script>
<!-- Bootstrap core JavaScript --> <!-- Bootstrap core JavaScript -->
<!--<script src="{{ .Site.BaseURL }}js/bootstrap-3.3.7.min.js" ></script>--> <!--<script src="{{ .Site.BaseURL }}js/bootstrap-3.3.7.min.js" ></script>-->
{{ range .Site.Params.custom_js -}} {{ range .Site.Params.custom_js -}}

View File

@@ -5,18 +5,22 @@
{{ end }} {{ end }}
<ul> <ul>
{{- range sort $data "date" "desc" }} {{- range sort $data "date" "desc" }}
<li>{{.desc}}&nbsp;&nbsp; {{- $tags := slice -}}
{{- $len := (len .links) -}} <!-- amount of elements under .links --> {{- range .lang }}{{ $tags = $tags | append . }}{{ end -}}
{{- range .tags }}{{ $tags = $tags | append . }}{{ end -}}
<li class="link" tags="{{ delimit $tags " " }}">
{{ .desc -}}&nbsp;&nbsp;
{{- $len := (len .links) -}} <!-- amount of elements under .links -->
{{- range $index, $element := .links -}} <!-- range over links, but keep index --> {{- range $index, $element := .links -}} <!-- range over links, but keep index -->
{{ with .href }}<a href="{{.}}" target="_blank">{{ end }}{{.text}}{{ with .href }}</a>{{end}} {{- with .href }}<a href="{{.}}" target="_blank">{{ end }}{{.text}}{{ with .href }}</a>{{end}}
{{- if ne (add $index 1) $len -}}, {{- end -}} <!-- only append comma if not last element (index starts with 0) --> {{- if ne (add $index 1) $len -}}, {{- end -}} <!-- only append comma if not last element (index starts with 0) -->
{{- end -}} {{ end -}}
{{- if or (.video) (.audio) (.slides) }},{{ end -}} {{- if or (.video) (.audio) (.slides) }},{{ end -}}
{{ with .video }}&nbsp;<a href="{{ . }}" target="_blank" aria-label="Video Recording"><i class="fas fa-video" aria-hidden="true" title="Video Recording"></i></a>{{ end }} {{ with .video }}&nbsp;<a href="{{ . }}" target="_blank" aria-label="Video Recording"><i class="fas fa-video" aria-hidden="true" title="Video Recording"></i></a>{{ end }}
{{- with .audio }}&nbsp;<a href="{{ . }}" target="_blank" aria-label="Audio Recording"><i class="fas fa-microphone" aria-hidden="true" title="Audio Recording"></i></a>{{ end }} {{- with .audio }}&nbsp;<a href="{{ . }}" target="_blank" aria-label="Audio Recording"><i class="fas fa-microphone" aria-hidden="true" title="Audio Recording"></i></a>{{ end }}
{{ with .slides }}&nbsp;<a href="{{ . }}" target="_blank" aria-label="Slides"><i class="fas fa-desktop" aria-hidden="true" title="Slides"></i></a>{{ end -}} {{ with .slides }}&nbsp;<a href="{{ . }}" target="_blank" aria-label="Slides"><i class="fas fa-desktop" aria-hidden="true" title="Slides"></i></a>{{ end -}}
{{- with .date }} ({{.}}){{ end }} {{- with .date }} ({{.}}){{ end -}}
{{ range .tags }}<span class="label label-success">{{ . }}</span>&nbsp;{{ end }} {{ range $tags }}&nbsp;<span class="label label-success">{{ . }}</span>{{ end -}}
</li> </li>
{{ end }} {{ end }}
</ul> </ul>

View File

@@ -0,0 +1,34 @@
{{- $data := .Site.Data.links -}}
{{ $scratch := newScratch -}}
{{- range $data -}}
{{- range .tags -}}
{{- $scratch.Add "tags" (slice .) -}}
{{- end -}}
{{- range .lang -}}
{{- $scratch.Add "lang" (slice .) -}}
{{- end -}}
{{- end -}}
<div class="metadata-page">
<div class="row vertical-align">
<div class="col-xs-3 col-md-2 text-right">
<em>Languages:</em>
</div>
<div class="col-xs-9 col-md-10">
<a class="label label-success tag active" tags="all" onclick="selectAllTags()">All</a>
{{- range sort ($scratch.Get "lang") | uniq }}
<a class="label label-success tag" tags="{{ . }}" onclick="selectTag('{{ . }}')">{{ . }}</a>
{{- end -}}
</div>
</div>
<div class="row vertical-align">
<div class="col-xs-3 col-md-2 text-right">
<em>Topics:</em>
</div>
<div class="col-xs-9 col-md-10">
<a class="label label-success tag active" tags="all" onclick="selectAllTags()">All</a>
{{- range sort ($scratch.Get "tags") | uniq }}
<a class="label label-success tag" tags="{{ . }}" onclick="selectTag('{{ . }}')">{{ . }}</a>
{{- end -}}
</div>
</div>
</div>

View File

@@ -0,0 +1,47 @@
/*
* SPDX-FileCopyrightText: 2020 Max Mehl <https://mehl.mx>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
function selectTag(tag) {
let li_tags = document.querySelectorAll('li.link');
for (i = 0; i < li_tags.length; i++) {
tags = li_tags[i].getAttribute('tags');
if (tags.indexOf(tag) !== -1) {
li_tags[i].style.display = "list-item";
} else {
li_tags[i].style.display = "none";
}
}
let a_tags = document.querySelectorAll('a.tag');
for (i = 0; i < a_tags.length; i++) {
tags = a_tags[i].getAttribute('tags');
if (tags.indexOf(tag) !== -1) {
a_tags[i].classList.add("active");
} else {
a_tags[i].classList.remove("active");
}
}
}
function selectAllTags() {
let li_tags = document.querySelectorAll('li.link');
for (i = 0; i < li_tags.length; i++) {
li_tags[i].style.display = "list-item";
}
let a_tags = document.querySelectorAll('a.tag');
for (i = 0; i < a_tags.length; i++) {
tags = a_tags[i].getAttribute('tags');
if (tags == "all") {
a_tags[i].classList.add("active");
} else {
a_tags[i].classList.remove("active");
}
}
}