From 1340f4a77213883e022fbe52d9b55d2229484331 Mon Sep 17 00:00:00 2001 From: Lyn Fugmann Date: Fri, 4 Oct 2024 13:54:40 +0200 Subject: [PATCH 1/2] add nerd101 --- _includes/header.css | 9 ++++ _includes/nerd101.css | 42 ++++++++++++++++ _includes/nerd101.njk | 79 ++++++++++++++++++++++++++++++ _includes/page.css | 1 + _includes/program.njk | 12 ++--- content/_data/nerd101.yaml | 98 ++++++++++++++++++++++++++++++++++++++ content/de/nerd101.md | 4 ++ content/en/nerd101.md | 4 ++ eleventy.config.js | 6 +++ 9 files changed, 247 insertions(+), 8 deletions(-) create mode 100644 _includes/nerd101.css create mode 100644 _includes/nerd101.njk create mode 100644 content/_data/nerd101.yaml create mode 100644 content/de/nerd101.md create mode 100644 content/en/nerd101.md diff --git a/_includes/header.css b/_includes/header.css index a9ee6c6..154ea0a 100644 --- a/_includes/header.css +++ b/_includes/header.css @@ -1,3 +1,12 @@ +html { + scroll-padding-top: 108px; +} +@media (width < 1024px) { + html { + scroll-padding-top: 84px; + } +} + header { z-index: 1000; display: flex; diff --git a/_includes/nerd101.css b/_includes/nerd101.css new file mode 100644 index 0000000..7ebafac --- /dev/null +++ b/_includes/nerd101.css @@ -0,0 +1,42 @@ +table { + width: 100%; + background-color: #f5f5f5; +} + +@media (width < 640px) { + table { + display: block; + overflow-x: scroll; + } +} + +thead tr, +tbody tr:nth-of-type(even) { + background: #efefef; +} + +tbody td { + vertical-align: top; + padding: 3px 6px; +} + +p .icon, +td .icon { + height: 1.1em; + vertical-align: text-bottom; + fill: currentColor; +} + +.annotation { + background-color: rgba(255, 139, 0, 0.06); + border: 1px solid #ff8b00; + border-radius: 3px; + width: fit-content; + padding: .5em 1em; + font-weight: 500; +} + +.annotation .icon { + color: #ff8b00; + margin-right: .5em; +} diff --git a/_includes/nerd101.njk b/_includes/nerd101.njk new file mode 100644 index 0000000..0cd07af --- /dev/null +++ b/_includes/nerd101.njk @@ -0,0 +1,79 @@ +--- +layout: page.njk +--- +{{ content | safe }} + +
+

+ {{ "Schedule" if lang == "en" else "Zeitplan" }} +

+ +

+ {% icon "solid:video", title="Livestream" %} + {% if lang == "en" %} + indicates, that the talk will be live streamed. + {% else %} + zeigt an, dass der Vortrag gestreamt wird. + {% endif %} +

+ + + + + + + + + + + + + {% for talk in nerd101.talks %} + + + + + + + + {% endfor %} + +
{{ "Topic" if lang == "en" else "Thema" }}{{ "Level" if lang == "en" else "Niveau" }}{{ "Language" if lang == "en" else "Sprache" }}{{ "Time" if lang == "en" else "Zeit" }}{{ "Room" if lang == "en" else "Raum" }}
+ {% if talk.livestream %} + {% icon "solid:video", title="Livestream" %} + {% endif %} + + {{ talk.title | localized }} + + {{ talk.level| localized }}{{ talk.language | localized }}{{ talk.start }} + + {{ talk.room }} + +
+
+ +
+

+ {{ "Descriptions" if lang == "en" else "Beschreibungen" }} +

+ + {% for talk in nerd101.talks %} +

+ {{ talk.title | localized }} +

+ +

{{ talk.description | localized | mdInline | safe }}

+ + {% if talk.annotation %} +

+ {% icon "solid:exclamation", title=("Notice" if lang == "en" else "Hinweis") %} + {{ talk.annotation | localized | mdInline | safe }} +

+ {% endif %} + + {% endfor %} +
+ +{% css %} + {% include "nerd101.css" %} +{% endcss %} diff --git a/_includes/page.css b/_includes/page.css index 831b9de..8650329 100644 --- a/_includes/page.css +++ b/_includes/page.css @@ -114,6 +114,7 @@ a.btn:hover { } :root { + scroll-behavior: smooth; font-size: 12px; --page-width: 1280px; --color-text: #495057; diff --git a/_includes/program.njk b/_includes/program.njk index b2a8648..6c8223a 100644 --- a/_includes/program.njk +++ b/_includes/program.njk @@ -1,10 +1,6 @@ ---js { layout: "page.njk", - getLocalized: function(item) { - if (typeof item === "string") return item; - return item[this.ctx.lang]; - }, toDate: function(dateStr) { return new Date(dateStr); } @@ -23,7 +19,7 @@

{% if event.livestream %}{% icon "solid:video", title="Livestream" %}{% endif %} - {{ getLocalized(event.title) }} + {{ event.title | localized }}

@@ -34,19 +30,19 @@ {{ event.start }}{{ " – " + event.end if event.end }}
-

{{ getLocalized(event.description) | mdInline | safe }}

+

{{ event.description | localized | mdInline | safe }}

{% if event.annotation %}

{% icon "solid:exclamation", title=("Notice" if lang == "en" else "Hinweis") %} - {{ getLocalized(event.annotation) | mdInline | safe }} + {{ event.annotation | localized | mdInline | safe }}

{% endif %} {% if event.location %}

{% icon "solid:location-dot", title=("Location" if lang == "en" else "Veranstaltungsort") %} - {{ getLocalized(event.location) | mdInline | safe }} + {{ event.location | localized | mdInline | safe }}

{% endif %} diff --git a/content/_data/nerd101.yaml b/content/_data/nerd101.yaml new file mode 100644 index 0000000..19b1ae8 --- /dev/null +++ b/content/_data/nerd101.yaml @@ -0,0 +1,98 @@ +rooms: + E009: https://navigator.tu-dresden.de/etplan/apb/00/raum/542100.2140 + E010: https://navigator.tu-dresden.de/etplan/apb/00/raum/542100.2150 +talks: + - title: Git + start: 12:00 + room: E009 + livestream: true + level: + de: schonmal eine Konsole gesehen + en: have seen a console before + language: + de: Deutsch, Englisch auf Nachfrage + en: German, English on request + description: + de: programm3_neu.py oder programm3_temp_final.py? Und welche Version war nochmal die mit dem Bugfix? Solche und ähnliche Fragen wirst du dir als Informatikstudent früher oder später sicher stellen. Außer du nutzt Git! + en: program3_new.py or program3_temp_final.py? And which version was the one with the bugfix again? As a computer science student, you are bound to ask yourself these and similar questions sooner or later. Unless you use Git! + annotation: + de: Laptops erwünscht (erlauben ein direktes Ausprobieren) + en: A laptop is recommended (allows you to try things out directly) + - title: KI intuitiv erklärt + start: 12:00 + room: E010 + livestream: true + level: keine Mathematik Vorkenntnisse notwendig + language: TBA + description: Nicht viele Dinge haben unseren Alltag so viel verändert wie die aktuellen Fortschritte im Bereich KI. Jeder von uns und ihre Mutter hat von Transformer Modellen wie ChatGPT gehört. Doch was macht du, um eine Maschine menschlich und intelligent zu machen? Hiermit lade ich dich ein auf ein Abenteuer in den Kern der Frage, was es eigentlich heißt zu lernen, und was wir tun um es einer Maschine zu ermöglichen. + - title: Smartphone Privacy Guide (iOS + Android) + start: 13:00 + room: E009 + level: + de: keine Vorkenntnisse + en: no prior knowledge + language: + de: Deutsch, Englisch auf Nachfrage + en: German, English on request + description: + de: Wenn du oft dein Smartphone nutzt und etwas gegen nervige Werbung und Tracking tun möchtest, dann komm vorbei. Wir zeigen dir Tools und Einstellungen, um deine Privatsphäre zu verbessern. + en: If you use your smartphone a lot and want to do something about annoying advertising and tracking, then come along. We'll show you tools and settings to improve your privacy. + annotation: + de: Smartphones erwünscht. iOS und Android möglich + en: Smartphones appreciated. iOS and Android possible + - title: + de: Open Source Lizenzen + en: Open Source Licenses + start: 14:00 + room: E009 + livestream: true + level: + de: keine Vorkenntnisse + en: no prior knowledge + language: + de: Deutsch, Englisch auf Nachfrage + en: German, English on request + description: + de: Open Source wird heutzutage von jedem genutzt, jedoch braucht auch solche Software Lizenzen. Ob MIT, Apache 2 oder GPL 3, Lizenzen für Open Source gibt es mit vielen verschiedenen Bedingungen und Variationen. Was sie genau bedeuten und was man bei ihnen beachten muss erfahrt ihr in diesem Vortrag. + en: Open source is used by everyone these days, but even such software needs licenses. Whether MIT, Apache 2 or GPL 3, there are licenses for open source with many different conditions and variations. In this presentation, you will find out exactly what they mean and what you need to bear in mind. + - title: LaTeX + start: 14:00 + room: E010 + level: + de: keine Vorkenntnisse + en: no prior knowledge + language: + de: Deutsch, Englisch auf Nachfrage + en: German, English on request + description: + de: "LaTeX ist wie Word, nur besser. Ob ihr es für wissenschaftliche Arbeiten im Studium oder für viel abgefahrenere Sachen verwendet: Ihr werdet es brauchen." + en: "LaTeX is like Word, only better. Whether you use it for scientific papers in your studies or for much wackier things: You'll need it." + annotation: + de: Laptops empfohlen (sonst kein eigenes Ausprobieren) + en: Laptops recommended (otherwise no hands-on testing) + - title: + de: Reguläre Ausdrücke + en: Regular Expressions + start: 15:00 + room: E009 + livestream: true + level: + de: keine Vorkenntnisse + en: no prior knowledge + language: + de: Deutsch, Englisch auf Nachfrage + en: German, English on request + description: + de: Wolltest du schon immer mal magische Zaubersprüche lernen, mit welchen du Text schnell und flexibel durchsuchen kannst? Falls ja besuche diesen Vortrag um mehr über eine der unleserlichsten Sprachen der Informatik zu erfahren. + en: Have you always wanted to learn magic spells that allow you to search text quickly and flexibly? If so, attend this talk to learn more about one of the most illegible languages in computer science. + annotation: + de: Laptops optional, ausprobieren geht auch mit Smartphone + en: Laptops optional, trying out with a smartphone is also possible + - title: + de: Nextbike API und advanced Support + en: Nextbike API and advanced support + start: 15:00 + room: E010 + level: TBA + language: TBA + description: TBA diff --git a/content/de/nerd101.md b/content/de/nerd101.md new file mode 100644 index 0000000..4c5911f --- /dev/null +++ b/content/de/nerd101.md @@ -0,0 +1,4 @@ +--- +layout: nerd101.njk +--- +# Nerd101 diff --git a/content/en/nerd101.md b/content/en/nerd101.md new file mode 100644 index 0000000..4c5911f --- /dev/null +++ b/content/en/nerd101.md @@ -0,0 +1,4 @@ +--- +layout: nerd101.njk +--- +# Nerd101 diff --git a/eleventy.config.js b/eleventy.config.js index a25d453..c517103 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -100,6 +100,12 @@ module.exports = function(eleventyConfig) { return value.filter(item => item.page.lang === this.page.lang) }); + // translations + eleventyConfig.addFilter("localized", function(item) { + if (typeof item === "string") return item; + return item[this.ctx.lang]; + }); + const md_link_open = function (tokens, idx, options, env, self) { const href = tokens[idx].attrGet('href'); From c32bbb3149d800aacc715d9cf94fbbd0e59955e1 Mon Sep 17 00:00:00 2001 From: Lyn Fugmann Date: Fri, 4 Oct 2024 13:55:23 +0200 Subject: [PATCH 2/2] nerd101: hide livestream for now --- content/_data/nerd101.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/_data/nerd101.yaml b/content/_data/nerd101.yaml index 19b1ae8..6e48f6e 100644 --- a/content/_data/nerd101.yaml +++ b/content/_data/nerd101.yaml @@ -5,7 +5,7 @@ talks: - title: Git start: 12:00 room: E009 - livestream: true + # livestream: true level: de: schonmal eine Konsole gesehen en: have seen a console before @@ -21,7 +21,7 @@ talks: - title: KI intuitiv erklärt start: 12:00 room: E010 - livestream: true + # livestream: true level: keine Mathematik Vorkenntnisse notwendig language: TBA description: Nicht viele Dinge haben unseren Alltag so viel verändert wie die aktuellen Fortschritte im Bereich KI. Jeder von uns und ihre Mutter hat von Transformer Modellen wie ChatGPT gehört. Doch was macht du, um eine Maschine menschlich und intelligent zu machen? Hiermit lade ich dich ein auf ein Abenteuer in den Kern der Frage, was es eigentlich heißt zu lernen, und was wir tun um es einer Maschine zu ermöglichen. @@ -45,7 +45,7 @@ talks: en: Open Source Licenses start: 14:00 room: E009 - livestream: true + # livestream: true level: de: keine Vorkenntnisse en: no prior knowledge @@ -75,7 +75,7 @@ talks: en: Regular Expressions start: 15:00 room: E009 - livestream: true + # livestream: true level: de: keine Vorkenntnisse en: no prior knowledge