lia-freeze-v2 for LiaScript: Quiz Submission and Teacher Review Links
- André Dietrich
- Template , Tutorial
- May 28, 2026
LiaScript courses store quiz state in the student’s browser — but there’s no built-in way to hand that state to a teacher for grading. The lia-freeze-v2 community plugin by MINT-the-GAP closes this gap with a “freeze” mechanism: at the end of the course the student clicks a button to generate a URL that encodes all their quiz answers. The teacher opens the URL and sees the completed course, locked for review and automatically scored.
Quick Start
<!--
import: https://raw.githubusercontent.com/MINT-the-GAP/lia-freeze-v2/main/README.md
version: 1.0.0
-->
Important: The course must have
version: 1.0.0or higher in its header. LiaScript only persists quiz state to IndexedDB for versioned courses — without it the freeze snapshot will be empty.
The Workflow
- The student works through the course and answers all quizzes
- On the final submission slide, they click Create Link
- The plugin encodes all quiz answers into a compressed URL token
- The student copies and sends the link to the teacher
- The teacher opens the link — answers are restored and the page is locked for review
Key Macros
@Abgabe — Submission slide
Place this on the final slide of the course to render the name field and link creation button:
## Submit your work
@Abgabe
@Auswertung — Evaluation / teacher view
Place this at the end of your course. When the teacher opens the freeze link, this slide shows all quiz answers automatically scored.
@Auswertung
Optional parameters track academic integrity:
@Auswertung(F12;Tab;Time)
| Option | Effect |
|---|---|
F12 | Flags if the student opened browser DevTools |
Tab | Flags if the student switched to another tab/window |
Time | Records time spent on each slide |
@ADetails — Point values and topic tags
Place after any quiz block to assign points and optional topic tags:
The capital of France is [[Paris]].
@ADetails(1;Geography)
Which are primary colors? [[X]] Red [[X]] Blue [[ ]] Green
@ADetails(2;Art)
@Exam(N) — Timed exam mode
Place on a dedicated intro slide to start a countdown when students leave that slide:
## Exam Instructions
You have **60 minutes** to complete this exam.
@Exam(60)
When time runs out, the submission link is generated automatically and the student is redirected to the @Abgabe slide.
Full Example Course
<!--
import: https://raw.githubusercontent.com/MINT-the-GAP/lia-freeze-v2/main/README.md
version: 1.0.0
-->
# English Quiz
## Task 1 — Fill in the blanks
The capital of Germany is [[Berlin]].
@ADetails(1;Geography)
The largest planet is [[Jupiter]].
@ADetails(1;Astronomy)
## Task 2 — Multiple choice
Which are primary colors?
[[ ]] Green
[[X]] Red
[[X]] Blue
[[X]] Yellow
@ADetails(2;Art)
## Task 3 — Free text
Describe photosynthesis in one sentence.
[[___ ___]]
@ADetails(3;Biology)
## Submit
@Abgabe
@Auswertung(F12;Tab;Time)
Try it live — answer the quizzes, then go to the Submit slide and click Create Link to see the freeze mechanism in action:
Full Template Demo
Use Cases
School assessments — Students complete a quiz course at home or in a computer lab, generate a freeze link, and send it to the teacher via email or LMS.
Timed exams — Use @Exam(N) to set a hard time limit; the submission is automatic when time expires.
Formative feedback — Teachers open freeze links to see exactly which questions each student got wrong, with per-topic scoring from @ADetails.
Combined with lia-coordinate / lia-canvas-ocr — Point positions and OCR-recognized answers are also captured in the freeze snapshot.
Technical Facts
| Runs in browser | Yes — no server needed |
| Server required | No |
| Key macros | @Abgabe, @Auswertung, @ADetails, @Exam |
| Version requirement | version: 1.0.0 or higher in course header |
| State encoding | Compressed URL token |
| Integrity tracking | Optional — F12, tab switch, time per slide |
| Timed exam | Yes — @Exam(N) in minutes |
| Community template | Yes (MINT-the-GAP) |
| License | MIT |
Try It
Try in LiaScript Open in LiveEditor View on GitHubRelated Templates
- lia-timer — per-quiz countdown that hides the solution button until time is up
- lia-coordinate — coordinate exercises whose answers are captured in the freeze snapshot
- lia-canvas-ocr — handwriting recognition for quiz fields
- Random — randomized quiz banks to vary assignments across students