diff --git a/UPDATE_CHECKLIST.md b/UPDATE_CHECKLIST.md new file mode 100644 index 0000000000..d84febac5f --- /dev/null +++ b/UPDATE_CHECKLIST.md @@ -0,0 +1,12 @@ +# Dependency Update Checklist + +- [ ] Run `npm ci` and verify dependencies install without additional flags or + manual changes. +- [ ] Run `npm run build` and verify the production site builds successfully. +- [ ] Run `npm run start` and verify the docs are visible at + http://localhost:3000. +- [ ] With the local site running, verify Mermaid diagrams render correctly. +- [ ] With the local site running, verify slides open correctly. +- [ ] When updating Docusaurus, check whether its `@mermaid-js/layout-elk` peer + dependency supports 0.2.x or later; if so, remove the corresponding + Dependabot ignore rule in `.github/dependabot.yml`. diff --git a/docs/additional-material/steffen/java-1/slides.md b/docs/additional-material/steffen/java-1/slides.md index e8952e4d03..e7448f0d06 100644 --- a/docs/additional-material/steffen/java-1/slides.md +++ b/docs/additional-material/steffen/java-1/slides.md @@ -5,27 +5,41 @@ sidebar_position: 10 tags: [] --- -- 08.01.2026 [Einleitung](/slides/steffen/java-1/intro) - 08.01.2026 - [Datentypen und Datenobjekte ](/slides/steffen/java-1/datatypes-and-dataobjects) + Einleitung +- 08.01.2026 + Datentypen + und Datenobjekte - 09.01.2026 - [Methoden und Operatoren](/slides/steffen/java-1/methods-and-operators) + Methoden + und Operatoren - 15.01.2026 - [Kontrollstrukturen und Arrays](/slides/steffen/java-1/if-and-switch) + Kontrollstrukturen + und Arrays - 16.01.2026 - [Math, Random und Scanner](/slides/steffen/java-1/math-random-scanner) + Math, + Random und Scanner - 22.01.2026 Kurztest -- 22.01.2026 [Klassen und Objekte](/slides/steffen/java-1/classes-and-objects) +- 22.01.2026 + Klassen + und Objekte - 23.01.2026 - [Konstruktor und static](/slides/steffen/java-1/constructor-and-static) + Konstruktor + und static - 05.02. & 06.02.2026 - [Java API, Enum, Klassendiagramm, Aktivitätsdiagramm](/slides/steffen/java-1/class-diagram-java-api-enum) -- 12.02.2026 [Vererbung](/slides/steffen/java-1/inheritance) -- 12.02.2026 [Polymorphie](/slides/steffen/java-1/polymorphism) + Java + API, Enum, Klassendiagramm, Aktivitätsdiagramm +- 12.02.2026 + Vererbung +- 12.02.2026 + Polymorphie - 13.02.2026 - [Abstrakte und finale Klassen](/slides/steffen/java-1/abstract-and-final) -- 19.02.2026 [Interfaces](/slides/steffen/java-1/interfaces) -- 20.02.2026 [Exceptions](/slides/steffen/java-1/exceptions) + Abstrakte + und finale Klassen +- 19.02.2026 + Interfaces +- 20.02.2026 + Exceptions - 27.02.2026 & 06.03.2026 Klausurvorbereitung - 10.03.2026 Klausur diff --git a/docs/additional-material/steffen/java-2/slides.mdx b/docs/additional-material/steffen/java-2/slides.mdx index 8c2be45c1a..b6288971e2 100644 --- a/docs/additional-material/steffen/java-2/slides.mdx +++ b/docs/additional-material/steffen/java-2/slides.mdx @@ -5,20 +5,93 @@ sidebar_position: 10 tags: [] --- -- 09.04.2026 [Wiederholung, Organisatorisches](/slides/steffen/java-2/00-recap) - 09.04.2026 - [Generics und Optional](/slides/steffen/java-2/07-generics-optional) + + Wiederholung, Organisatorisches + +- 09.04.2026 + + Generics und Optional + - 10.04.2026 - [Set, Map, Hashes & Records](/slides/steffen/java-2/08-sets-maps-hashes-records) + + Set, Map, Hashes & Records + - 16.04.2026 - [Funktionale Programmierung](/slides/steffen/java-2/09-functional-programming) -- 17.04.2026 [Stream Api ](/slides/steffen/java-2/10-stream-api) + + Funktionale Programmierung + +- 17.04.2026 + + Stream Api + +- 23.04.2026 + + Intro Algorithmen und Daten Strukturen + - 23.04.2026 - [Intro Algorithmen und Daten Strukturen](/slides/steffen/java-2/01-intro-dsa) -- 23.04.2026 [Suchalgorithmen](/slides/steffen/java-2/02-search-algo) -- 24.04.2026 [Rekursion](/slides/steffen/java-2/03-iteration-recursion) -- 24.04.2026 [Sortieralgorithmen](/slides/steffen/java-2/04-sort-algo) -- 11.05.2026 [Stack, Queue, List](/slides/steffen/java-2/05-stack-queue-list) -- 21.05.2026 [Trees](/slides/steffen/java-2/06-trees) + + Suchalgorithmen + +- 24.04.2026 + + Rekursion + +- 24.04.2026 + + Sortieralgorithmen + +- 11.05.2026 + + Stack, Queue, List + +- 21.05.2026 + + Trees + - 22.05.2026 Klausurvorbereitung - 28.05.2026 Klausur Fortgeschrittene Programmierung (50 Punkte / 60 Minuten) diff --git a/src/components/Slides/index.tsx b/src/components/Slides/index.tsx index 221b093364..6740043d7d 100644 --- a/src/components/Slides/index.tsx +++ b/src/components/Slides/index.tsx @@ -1,5 +1,6 @@ import BrowserOnly from '@docusaurus/BrowserOnly'; import React, { type ReactNode, useEffect } from 'react'; +import type { RevealApi } from 'reveal.js'; interface SlidesProps { children: ReactNode; @@ -13,9 +14,19 @@ function SlidesInner({ height, }: SlidesProps): React.JSX.Element { useEffect(() => { + let disposed = false; + let deck: RevealApi | undefined; + import('./initSlides').then(({ defaultInitSlides }) => { - defaultInitSlides(); + if (!disposed) { + deck = defaultInitSlides(); + } }); + + return () => { + disposed = true; + deck?.destroy(); + }; }, []); return ( diff --git a/src/components/Slides/initSlides.ts b/src/components/Slides/initSlides.ts index 8bdff271cf..78a08ac6eb 100644 --- a/src/components/Slides/initSlides.ts +++ b/src/components/Slides/initSlides.ts @@ -1,11 +1,12 @@ import Reveal from 'reveal.js'; -import Zoom from 'reveal.js/plugin/zoom'; import Notes from 'reveal.js/plugin/notes'; import Search from 'reveal.js/plugin/search'; import Highlight from 'reveal.js/plugin/highlight'; export const defaultInitSlides = () => { - new Reveal({ - plugins: [Zoom, Notes, Search, Highlight], - }).initialize({ hash: true }); + const deck = new Reveal({ + plugins: [Notes, Search, Highlight], + }); + deck.initialize({ hash: true }); + return deck; };