Gliederungs-Designer für Lektionen
Verwandle den Inhalt einer Lektion in ein lernförderliches Folienpaket und ein Videotext-Skript für die vertonte Version. Eine Lektion nach der anderen, ein Ordner pro Lektion.
Ausgabe, in slides/<kurs>/<lektion>/, außer der Benutzer nennt einen anderen Ort:
| Datei | Beschreibung |
|---|---|
slides.json | Die einzige Quelle: jede Folie als Daten, mit 16 Folientypen (references/slide-types.md). Bearbeite diese Datei, dann neu erstellen |
<dateiname>.pptx | Das 16:9 Deck, Arial, ein Dreifarbthema; die Erzählung jeder Folie befindet sich in den Sprechernotizen |
<dateiname>.video-script.md | Die Datei für den Video-Schritt: ein Block pro Folie mit Bildschirmtext, Produktionshinweisen, Erzählung bereit für Text-to-Speech, und Sekunden, plus einer Übersichtstabelle |
_preview/slide-NN.png, _preview/kontaktblatt.png | 1920×1080 Bilder jeder Folie und ein Kontaktblatt, für die eigene visuelle Prüfung und als Standbilder für ein Video |
<dateiname>.preview.mp4 (optional) | Eine stille Diashow mit den skriptgesteuerten Zeiten, oder eine vertonte, wenn Audio pro Folie vorhanden ist |
Werkzeuge, die die Skripte verwenden: Python 3.9+ mit python-pptx, Pillow, lxml (und cairosvg für Icons, oder sharp-cli, rsvg-convert, Inkscape); LibreOffice und Poppler (pdftoppm) zum Rendern von Vorschauen; ffmpeg für das optionale Vorschauvideo. Icons sind der Lucide-Satz (ISC-Lizenz) in assets/icons/.
Arbeitsablauf
Schritt 0. Lies die Quelle und kläre den Auftrag
- Lies die gesamte Lektionsquelle: Ziele, Zielgruppe, Durchführungsart, den Unterrichtsplan mit Minuten, das Skript, die Fragen mit Antworten, jeden Folienentwurf, Handouts. Wenn der Benutzer nur einen Titel angibt, fordere den Inhalt an oder schreibe ihn zuerst (das begleitende Skill
lesson-content-writermacht genau das). - Lies
references/slide-standards.md(die Regeln und die Deck-Struktur) undreferences/slide-types.md(die 16 Typen und ihre Textlimits). - Kläre: Durchführung (selbstgesteuertes Video, also ist jedes Video ein Cluster mit eigenem Anfang, Körper und Ende plus Pausenfolien; oder Live-Unterricht, also Folien, um den Raum zu fragen und Praxis zu besprechen); Sprache (
language, jede Sprache funktioniert,enundvierhalten zusätzliche Prüfungen); Thema (Standardnavy; ein Thema pro Kurs, bei jeder Lektion wiederverwenden); wie der Dozent die Lernenden anspricht (aus dem Skript übernehmen); Name und Kontakt des Dozenten für die Fußzeile.
Schritt 1. Plane das Deck
Aus dem Folienentwurf der Quelle oder der Sequenz der Lektion schreibe eine Tabelle: # | Typ | die eine Idee der Folie | visuelles Element oder Icon | Frage oder Pause | Video-Nummer. Einschränkungen:
- Vollständige Struktur:
title-> (question, ein „Probiere-es-zuerst“-Einstieg, falls die Lektion einen hat) ->objectives->agenda-> für jeden Teil einsection(oder dieagendaerneut mitcurrent) -> 2 bis 5 Inhaltsfolien -> mindestens einequestion->summary->closing. - Eine Idee pro Folie. Mindestens 4 Folientypen pro Deck, niemals 3 des gleichen Typs hintereinander, eine Pause oder Frage mindestens alle 10 bis 12 Minuten Erzählung.
- Plane den emotionalen Bogen und setze einen Rhythmus-Breaker bei 1/3 und 2/3 des Materials; schreibe Titel als Aussagen, nicht als Beschriftungen (
references/rhythm-and-titles.md). Zahlen mit Quellenangabe kommen aufbig-numbersoderchart, nicht in Aufzählungspunkten. - Fakten, Begriffe, Zahlen und Beispiele stammen nur aus der Lektionsquelle. Erfinde sie niemals. Beispiele stammen aus der eigenen Arbeit der Lernenden.
- Videokurse: Folge dem Unterrichtsplan, decke jeden Abschnitt, jedes Beispiel, jede Pausenfrage und jedes bearbeitete Beispiel der Quelle auf einer Folie oder in der Erzählung ab, und deklariere
videosmit geplanten Minuten, damit das Skript vor dünnen Videos warnen kann. Ein Folienentwurf in der Quelle ist eine Untergrenze, keine Obergrenze. Eine 100-minütige Lektion benötigt normalerweise 35 bis 60 Folien; die 17-Folien-Vorlage ist eine technische Demo, keine vollständige Lektion.
Schritt 2. Schreibe slides.json
Kopiere templates/slides.example.json und fülle es aus dem Plan aus. Für jede Folie:
- Text auf dem Bildschirm sind Schlüsselwörter und kurze Zeilen, die bei 24 pt passen (Grenzen pro Typ in
slide-types.md). Zu lang? Teile die Folie. Verkleinere niemals den Text. narration: aus dem Lektionsskript, für das Ohr umgeschrieben (references/narration-and-video-script.md): ein Atemzug pro Zeile, jede Zeile endet mit.,,,?oder!, Zahlen werden so geschrieben, wie sie gesprochen werden, die Folie wird nicht Wort für Wort vorgelesen, Fragefolien sagen „Pausiere das Video“.notes: Produktionsanweisungen (eins nach dem anderen anzeigen, zeigen, einkreisen, Clip einfügen, „Stille 60 Sekunden“).- Wähle Icons nach Bedeutung aus (
slide-types.md, Abschnitt 4) und behalte ein Icon pro wiederkehrendem Konzept für den gesamten Kurs. Echte Bilder (Screenshots, Produktfotos) liegen nebenslides.jsonmit ihrer Quelle inIMAGE-SOURCES.md. Frage, bevor du Bilder aus dem Internet herunterlädst, und überprüfe die Lizenz. - Schreibe wie ein Mensch, nicht wie eine Broschüre (
references/plain-human-voice.md).
Schritt 3. Erstellen und prüfen
python scripts/build_slides.py slides/<kurs>/<lektion>/slides.json
Das Skript stoppt bei schwerwiegenden Verstößen: mehr als 6 Zeilen, Text, der bei 24 pt nicht passt, ein verwaistes Wort, das nicht durch Zusammenziehen von zwei Wörtern behoben werden kann, fehlendes Icon oder Bild, unbekannter Typ, verbotener Strich oder KI-Phrase, eine Timer-Beschriftung, die nicht mit der Erzählung übereinstimmt, ein Element, das die Erzählung nie vorliest. Repariere slides.json und erstelle erneut, bis es 0 Fehler gibt. Lies auch jede Warnung (lange Zeilen, Ziffern in der Erzählung, drei Folien eines Typs hintereinander, kein Rhythmus-Breaker, dünne Videos) und behebe sie oder notiere, warum nicht.
python scripts/render_slides.py slides/<kurs>/<lektion>/<dateiname>.pptx
Betrachte _preview/kontaktblatt.png, dann jedes slide-NN.png in voller Größe, mit der Checkliste in slide-standards.md Abschnitt 5: abgeschnittener oder überlappender Text, große leere Bereiche, Fehlausrichtung, bei einem Drittel der Größe lesbar, ein Brennpunkt pro Folie. Repariere, erstelle neu, betrachte erneut, bis ein vollständiger Durchlauf nichts zeigt. Gib niemals „fertig“ an, ohne die neueste Wiedergabe gesehen zu haben.
Optional, um das Timing zu überprüfen oder einen Videoentwurf zu übergeben:
python scripts/preview_video.py slides/<kurs>/<lektion>/slides.json [--audio <ordner mit S01.mp3 ...>]
Lange Lektionen auf Videoplattformen (ein Thema pro Video, 10 bis 12 Minuten): behalte eine lektionsweite slides.json mit einer video-Nummer auf jeder Folie und teile sie auf:
python scripts/split_videos.py slides/<kurs>/<lektion>/slides.json --build --render
Jedes Video erhält einen eigenen Ordner und ein Deck mit einer Titelfolie („Video k/N“), eigenen Zielen, einem eigenen Körper und einem Abschluss, der zum nächsten Video überleitet. Bearbeite die lektionsweite Datei, niemals die generierten.
Schritt 4. Bericht
Gib dem Benutzer: die Pfade des Decks, des Videotexts und des Kontaktblatts; eine kurze Übersichtstabelle (# - Typ - Idee - Sekunden); Folienanzahl und geschätzte Länge; das Thema; deine Annahmen (Anredeform, Zahlen und woher sie stammen); Warnungen, die du hinterlassen hast, und warum. Zeige das Kontaktblatt.
Mehrere Lektionen hintereinander
Verwende das Thema, die Fußzeile, die Anredeform und den Icon-pro-Konzept-Satz der früheren Lektionen im selben Kursordner erneut. Halte title- und closing-Folien im gesamten Kurs in der Gestaltung identisch, und lasse jeden Abschluss zur nächsten Lektion überleiten.
Prinzipien
- Die Standards bewegen sich nicht (
slide-standards.md). Der Inhalt darin ist der Ort, an dem die Kreativität stattfindet. Das Skript ist der Wächter; schalte niemals eine Prüfung ab, um durchzukommen. - Folien sind für die Augen, Erzählung ist für die Ohren. Die beiden Kanäle ergänzen sich und duplizieren sich niemals.
- Lernende tun etwas. Jeder Teil hat eine Frage oder eine Pause; das Deck endet mit einer konkreten Handlung.
- Titel in Großbuchstaben standardmäßig (
"title_case": "upper"), das JSON bleibt wie geschrieben, sodass Erzählung und Untertitel nicht beeinträchtigt werden. Großbuchstaben laufen breiter, also halte Titel kurz. - 24 pt ist die Untergrenze für alles, einschließlich Beschriftungen, Bildunterschriften, Quellen und Fußzeilen. Zu lang bedeutet Umschreiben, nicht Verkleinern.
- Keine verwaisten Wörter. Ein einzelnes Wort allein in der letzten Zeile eines Titels, einer Karte, eines Schritts oder eines Aufzählungspunkts wirkt abgehackt. Das Skript zieht die letzten beiden Wörter zusammen, wenn das passt, und stoppt, wenn es nicht passt.
- Führe es aus, dann übergebe es. Erstellen, rendern, betrachten, messen. Ratschlage niemals.
- Um einen Folientyp hinzuzufügen, füge eine
s_<typ>-Methode inscripts/build_slides.pyhinzu, registriere sie inKINDS, dokumentiere sie inslide-types.mdund erstelle ein Testdeck, bevor du sie verwendest.
Referenzdateien
references/slide-standards.md– was digitale Lernfolien sind, die zehn Gestaltungsregeln und wie das Skript jede prüft, die Deck-Struktur, Prinzipien des multimedialen Lernens, die Checkliste vor der Auslieferung.references/slide-types.md– dasslides.json-Format, die 16 Folientypen mit Textlimits, Themen, Videoplanung, die Icon-Liste.references/narration-and-video-script.md– Erzählregeln für Text-to-Speech oder eine menschliche Stimme, Produktionshinweise, Vorlesen jedes Bildschirmelements, Übergabe an die Videoproduktion.references/rhythm-and-titles.md– der emotionale Bogen einer Lektion, Rhythmus-Breaker bei 1/3 und 2/3, Aussagentitel, Satzmuster für Einstiege, Vergleiche, Zahlen und Abschlüsse.references/plain-human-voice.md– wie man die KI-Stimme entfernt: verbotene Striche und Phrasen, Satzrhythmus, konkrete Details, Meinung.templates/slides.example.json– eine Demo-Lektion mit 17 Folien, die jeden Haupttyp verwendet, bereits erstellt und geprüft.