LmsQuiz
Lern-InteraktionQuiz mit einer oder mehreren Fragen, Einzel- oder Mehrfachauswahl.
::lms-quiz Im Zusammenhang ansehen Konsolidiert aus QuizCard, QuizBlock, KmuQuiz, NuggetQuiz, Quiz und QuizQuestion.
options: string[] plus
correct: [1, 2]). Hier steht die Lösung an der Option selbst: ein Indexverweis
auf eine Liste ist in Markdown nicht nachvollziehbar.Beispiele (4)
Einfachauswahl
Genau eine richtige Option ergibt Radiobuttons.
Ab wie vielen Beschäftigten kann ein Betrieb als wichtige Einrichtung gelten?
Mehrfachauswahl
Mehr als eine richtige Option schaltet automatisch auf Checkboxen um. Ein Hinweis dazu erscheint unter der Frage.
Welche Fristen kennt die Meldekette nach NIS-2?
Mehrfachauswahl möglich
Mehrere Fragen mit Gesamtübersicht
Jede Frage wird einzeln geprüft. Sobald eine geprüft ist, erscheint die laufende Auswertung.
Wer trägt nach NIS-2 die Verantwortung für die Billigung der Maßnahmen?
Was löst die Meldepflicht aus?
Gilt NIS-2 auch für Zulieferer?
Ohne Gesamtübersicht
Wie heißt die deutsche Umsetzung der NIS-2-Richtlinie?
API
Vollständig aus den Quellen erzeugt. Dieselben Angaben stehen an jedem Beispiel hinter dem Knopf API — hier ausgeschrieben, damit sie über die Seitensuche und im Druck auffindbar bleiben.
Props
| Prop | Typ | Standard | Bedeutung |
|---|---|---|---|
idPflicht | string | — | Eindeutig im Dokument. Schlüssel für den gespeicherten Stand. |
itemsPflicht | LmsQuizItem[] | — | Wiederholte Kinder. Ein Eintrag besteht aus:
|
color | Tone | 'primary' | Semantische Farbrolle. |
summary | boolean | true | Laufende Gesamtübersicht unter den Fragen. |
reset | 'ask' | 'off' | 'free' | 'ask' | `ask` fragt nach (Vorgabe), `off` nimmt den Knopf weg, `free` fragt nicht. |
Slots
Dieser Baustein hat keine Slots — sein Inhalt kommt vollständig aus den Props.
Emits
Dieser Baustein sendet keine Events.
Theme
Dieser Baustein hat keine Fläche in der app.config.ts.
Sein Aussehen steuerst du über Props — bei den didaktischen Bausteinen über das gemeinsame Farbrollen-Vokabular (color, variant), bei den dekorativen über deren eigene Props. Eine Theming-Ebene wie ui.<komponente> in Nuxt UI gibt es hier noch nicht.
Changelog
- Behoben
1.29.0Eine richtige Antwort, die nicht angekreuzt wurde, stand nach dem Prüfen grün mit „richtig“ da, genau wie eine getroffene. Bei „Nicht ganz“ war damit jede Option grün, und man sah nicht, was gefehlt hat (gemessen an einer Frage, deren drei Antworten alle richtig sind). Jetzt gelb mit „fehlt“ (
labels.quiz.optionMissed) - Behoben
1.29.0„Antwort prüfen“ schreibt den Stand: Die Einordnung (
correct,score,answered) reiste nur mit, wenn sich die Kreuze änderten, und Prüfen ändert sie nicht — gespeichert blieb das Ergebnis von vor dem Prüfen - Behoben
1.29.0Nach dem Neuladen gelten gespeicherte Antworten wieder als geprüft (außerhalb einer Prüfung). Vorher standen die Kreuze ohne Urteil da und ließen sich still neu beantworten
- Hinzugefügt
1.24.1Gemischte Prüfungen: Liefert der Adapter einen Startwert (
LmsExamAdapter.mischung, je Person und Versuch), stehen Seiten, Fragen und Antworten in eigener Reihenfolge (mischreihenfolge(), deterministisch — ein Neuladen ändert nichts). Nur die Anzeige: gespeichert, gemeldet und aufgelöst wird weiter in der Reihenfolge des Inhalts, das Zielprojekt wertet unverändert. Ein Seitentitel „Frage 7 von 13 · …" wird auf die Seite umgeschrieben. Bis der Startwert da ist, bleibt der Inhalt unsichtbar; „Nochmal" holt einen neuen - Geändert
1.24.1Mit nur einer Frage entfallen die Nummer vor der Frage und die Zusammenfassung „1 von 1 Fragen geprüft"; beides zählt nur, wenn es mehrere gibt. Betrifft vor allem Prüfungen, deren Seiten je eine Frage tragen
- Hinzugefügt
1.23.0In einer Prüfung leeren sie ihre Eingaben, wenn ein neuer Versuch beginnt (
neustartam Prüfungscontroller) - Hinzugefügt
1.21.0Feste Metaangaben an Fragen.
metakennt genau drei Felder (LmsFragenmeta):kompetenzniveau(konzeptuell,prozedural,interpretativ— dieselben Dimensionen wie am Lernpfad),thema(kurzes Stichwort) undgesetz(Rechtsgrundlage, nur wo es eine gibt). Die Liste steht insrc/runtime/utils/fragenmeta.ts - Hinzugefügt
1.20.0Verdeckte Prüfungen. Steht in einer Prüfung keine Lösung im Dokument (kein
correct, keineexplanation), färbtLmsQuiznach der Abgabe nach dem Urteil des Zielprojekts:bewertungsagt je Frage, ob sie stimmte,aufloesungnennt für falsch beantwortete Fragen die richtigen Optionen (mit ihrem Text) und die Erklärung. Nach einem bestandenen Versuch bleibt die Lösung falsch beantworteter Fragen verdeckt — sie steht dann nur als „falsch“ da. Das Zielprojekt kann die Lösungen so vor dem Ausliefern entfernen; gewertet wird ohnehin auf seinem Server.LmsExamControllerreicht dafür das Urteil alsurteilan die Aufgaben weiter,LmsExamErgebniskenntbewertung - Hinzugefügt
1.20.0multiplean einer Frage: Mehrfachauswahl, ohne zu verraten, welche Optionen richtig sind. Ohne das Feld ergibt sie sich wie bisher aus der Zahl dercorrect-Optionen - Hinzugefügt
1.19.0metaan einer Frage (bzw. an der Umfrage): Metaangaben der Redaktion wiekompetenzniveau: konzeptuell. Der Baustein zeigt sie nicht; das Zielprojekt liest sie aus dem Markdown und zeigt sie in seinen Auswertungen. Die Prüfleiste des Editors kennt das Feld jetzt und warnt nicht mehr - Geändert
0.8.0speichert die Antworten über
useLmsProgress, meldet sich im - Behoben
0.8.0verwarf die Antworten bei jedem Neuzeichnen. Der Watcher hing an
- Behoben
1.29.0Schreiben in den Fortschrittsspeicher geschieht je Schlüssel nacheinander, und zuletzt immer der neueste Stand. Vorher liefen Schreibvorgänge gleichzeitig, und der zuletzt fertige gewann: Ein Quiz blieb mit dem Stand von vor „Antwort prüfen“ stehen, eine Reflexion (Freitext, je Tastendruck geschrieben) konnte mit abgeschnittenem Text enden
- Hinzugefügt
1.29.0useLmsProgressnimmt als viertes ArgumentbeimLaden: gerufen, wenn ein gespeicherter Stand angekommen ist - Hinzugefügt
1.29.0LmsProgressMetakenntpointsundmaxPointsfür Bausteine, die Punkte zählen.scorebleibt der Anteil richtiger Antworten; Punkte gewichten anders und dürfen negativ sein - Hinzugefügt
1.28.0Überarbeitungen: Werkzeug
untertitel_erzeugen(nur auf Hinweis der Redaktion). Die Brücke holt Videos ohnesubtitles-srcüberki-auftrag-videoder Plattform, schreibt mit WhisperNotesmedien/<kennung>.srtund trägt es ein; wahlweise nur für bestimmte Nuggetdateien - Hinzugefügt
1.28.0Aufträge: Beim
pruefenundabgebenschreibt die Brücke für jedeslms-videoohnesubtitles-src, dessen Video im Paket liegt, mit ffmpeg und WhisperNotes ein.srtdaneben und trägt es alssubtitles-srcein (playground/server/utils/untertitel.ts). Ein zweiter Lauf tut nichts; ohne WhisperNotes bleibt das Paket, wie es ist, und der Agent erfährt es - Hinzugefügt
1.27.0Aufträge: Überarbeitung eines vorhandenen Lernpfads. Die Plattform gibt den Lernpfad als Paket mit (
ausgang), die Brücke legt ihn nachpaket/und unverändert nachbestand/. Zwei Werkzeuge mehr:plan_vorlegenundrueckfragewarten auf die Antwort der Redaktion, die die Brücke bei der Plattform abholt (ki-auftrag-frage,ki-auftrag-antwort) — Antworten geht so auch aus einem anderen Fenster. Endet ein Lauf ohne Abgabe, meldet die Brücke das - Hinzugefügt
1.27.0Brücke:
POST /api/editor/ki/abschreibenschreibt eine Sprachnotiz ab (ffmpeg + WhisperNotes), für fremde Gastgeber freigegeben wieverfuegbar - Hinzugefügt
1.26.0Datum im Inhalt:
2026-10wird beim Zeichnen gerechnet statt im Text zu stehen — vor dem zweiten Doppelpunkt der Versatz in Tagen, dahinter das Schema (JJJJ,JJ,MM,TT; englischYYYY,YY,DD), beides entbehrlich. Der Versatz zählt Tage, mit angehängtemj/yJahre — nötig, wo im Inhalt eine Zahl danebensteht: Im Passwort-Beispiel stehtLuna2021!neben „Luna wird heute 5!“, und5 × 365Tage lägen nach einem Schaltjahr im falschen Jahr. Ohne Schema gilt das der Sprache,content.dateFormat, überschreibbar wie jede Beschriftung. Wirkt in jedem Textfeld, das durchLmsMarkdownläuft, und zusätzlich in den reinen Textfeldern der Mail-Attrappen (Betreff, Absender, Adresse, Vorschauzeile, Linkziel, Anhangsname) in LmsPhishingQuiz, LmsMailTriage und LmsMockMail. Damit veraltet ein Beispiel nicht mehr: Eine Phishing-Mail mit einer Rechnungsnummer von vorgestern ist glaubwürdig, eine von 2024 verrät sich an der falschen Stelle. Der Tag kommt aususeStichtag()— auf dem Server gerechnet, über die Nutzlast in den Browser, dort einmal nachgebessert, damit auch eine vorgerenderte Seite nicht den Tag ihres Builds trägt. Geprüft vonpnpm run datum-test. Auch dort eingesetzt, wo ein Feld nicht gerendert, sondern verglichen oder zerlegt wird: das gesuchte Passwort in LmsPasswordHunt und die Tage eines Rasters in LmsHeatmap — ein Raster mit festen Tagen zeigt nach zwölf Wochen nichts mehr - Hinzugefügt
1.25.0Aufträge: Folien, Word-Seiten und PDFs liegen zusätzlich als Seitenbilder im Auftragsordner (LibreOffice +
pdftoppm, ausgeblendete Folien mit, damit die Nummern zum Textauszug passen) — der Textauszug kennt keine Anordnung, und Schaubilder gingen verloren - Hinzugefügt
1.25.0Aufträge über die Brücke (
/_ws/ki-auftrag): Ein Agent baut aus hochgeladenem Material in einem eigenen Ordner ein Lernpfadpaket, prüft es bei der Plattform und gibt es dort ab;useLmsBausteinwissen()liefert ihm Katalog, Typen, Konventionen und Muster.laufeCodex()nimmt einen eigenen Arbeitsordner, der MCP-Kanal eine eigene Werkzeugliste - Behoben
1.16.2Die Umbrüche richten sich nach der eigenen Breite, nicht nach dem Fenster. Nach
LmsHeadersind die übrigen 28 Bausteine mitsm:/md:/lg:nachgezogen: Raster, Seitenspalten und Zeilenumbrüche fragen jetzt per@containerihren eigenen Platz ab - Hinzugefügt
1.15.0Die eingebauten Beschriftungen gibt es auf Englisch. Gewählt wird über
lms.sprachein derapp.config.ts(deoderen);labelsgilt weiterhin und liegt über der gewählten Sprache, so dass sich einzelne Texte weiter austauschen lassen - Geändert
0.7.0src/runtime/utils/totp.tskommt hinzu: TOTP in reinem JavaScript, gegen die Testvektoren des RFC geprüft. Einzige Änderung gegenüber der Quelle sind Nicht-Null-Zusicherungen an den Feldzugriffen — der Bestand an@ts-nocheckbleibt bei 51, und keine Ausnahme liegt außerhalb vonfx/ - Hinzugefügt
0.6.0useLmsProgress: Fortschritt lässt sich speichern, ohne dass die Bibliothek ein Backend kennt. Das Zielprojekt hinterlegt einmal einen Adapter mitget/set, die Bausteine nutzen ihn, wenn er da ist — sonst halten sie den Stand im Speicher wie bisher. Ereignisse wären hier nutzlos: MDC kann keine Events abonnieren, und genau dort werden diese Bausteine benutzt - Behoben
0.4.0Die Warnung
Slot "default" invoked outside of the render functionerscheint nicht mehr. Der Katalog läuft jetzt mit 0 Fehlern und 0 Warnungen - Hinzugefügt
0.3.0Der MDC-Bereich jedes Beispiels ist jetzt ein Editor: Syntaxhervorhebung, Code-Vervollständigung aus der Registry, Prüfung in sechs Stufen und eine Vorschau, die beim Tippen mitläuft. Oben rechts Zurücksetzen und Kopieren
- Hinzugefügt
0.3.0Die Prüfung meldet unbekannte Bausteine, unbekannte Props, fehlende Pflicht-Props, unbekannte Slots, Events (die MDC nicht abonnieren kann) und den Typkonflikt, an dem man in MDC am häufigsten hängenbleibt: Inline-Attribute sind immer Zeichenketten,
{count=14}übergibt"14" - Hinzugefügt
0.2.0API-Ansicht je Baustein: Props, Slots, Emits, Theme und dieser Changelog. In der Demo-Hülle als Reiter hinter dem Knopf API, auf der Detailseite ausgeschrieben
- Hinzugefügt
0.2.0Emits werden dokumentiert. Sie sind der Grund, warum sich manche Bausteine aus Markdown heraus nicht vollständig bedienen lassen: MDC kann keine Events abonnieren
- Geändert
0.2.0Die Komponentenreferenz der README wird jetzt vollständig erzeugt statt von Hand gepflegt
- Geändert
0.2.0Auch die Tabelle der optionalen Abhängigkeiten wird erzeugt. Sie war gedriftet:
motion-vstand mit 50 statt 54 Komponenten darin,@uiw/color-convertunter „je 1", obwohl es drei sind - Hinzugefügt
0.1.0Erstveröffentlichung: 187 Bausteine in 17 Kategorien, davon 40 didaktische
Lms- und 147 dekorativeFx-Bausteine aus Inspira UI