GIBZ Template Package
A template package providing reusable components for teaching and learning material at GIBZ.
It comes with a configurable document setup (gibz-conf) and a collection of styled components such as tasks, hints, supplementary material, and more.
Features
- 📄 Configurable document layout with title page, table of contents, and headers/footers.
- 🎨 Consistent styling through a
base_boxandicon_boxsystem. - ✏️ Task component with badges for time, social form, results recording, and evaluation.
- 💡 Hint, ❓ Question, 🎬 Video, 📖 Supplementary Material boxes.
- 🔳 Black code box for highlighting code snippets.
- 🌍 Built-in i18n (currently German and English).
- 🧩 Exposed via a flat prefixed API (
gibz-task,gibz-hint, …) and an optionalGIBZnamespace.
Quick Start
Create a new project from this template in the Typst CLI:
typst init @preview/gibz-script:0.1.0
Or in the Typst web app:
New → From Template → GIBZ.
Usage
Import the flat API (recommended)
#import "@preview/gibz-script:0.1.0": gibz-conf, gibz-task, gibz-supplementary
#show: gibz-script(
moduleNumber: 114,
moduleTitle: "Codierungs-, Kompressions- und Verschlüsselungsverfahren einsetzen",
documentTitle: "Skript",
language: "de",
doc: {
#gibz-hint("Dieses Skript wurde mit Typst geschrieben :-)")
#gibz-supplementary([Cheat Sheet])
}
)
Or use the namespaced API
#import "@preview/gibz-script:0.1.0": GIBZ
#show: GIBZ.script(
moduleNumber: 114,
moduleTitle: "Codierungs-, Kompressions- und Verschlüsselungsverfahren einsetzen",
documentTitle: "Skript",
language: "de",
doc: {
#GIBZ.hint("Dieses Skript wurde mit Typst geschrieben :-)")
#GIBZ.supplementary([Cheat Sheet])
}
)
API Reference
Configuration
gibz-conf(moduleNumber, moduleTitle, documentTitle, language, doc)
Wraps your document with title page, table of contents, headers/footers, and base styles.
Components
gibz-task(...)– exercise/task box with time, social form, recording, evaluation.gibz-hint(content)– hint box with 💡 icon.gibz-question(question, task: none)– question box with ❓ icon, optional task description.gibz-video(url, title, description: none)– video reference with 🎬 icon.gibz-supplementary(body, title: none)– supplementary material box with 📖 icon.gibz-black_code_box(body, codly-opts: (:), box-opts: (:))– code box with dark background.
Utilities
gibz-base_box(body, style: (:))– low-level styled container.gibz-icon_box(icon, content, style: (:))– container with icon + content layout.gibz-colors.blue– standard accent color.gibz-t(key, lang: none)– translation lookup (DE/EN).
Localization
The package supports German (de) and English (en) for static labels (e.g., Exercise, Supplementary Material, Table of Contents).
The language is set via gibz-conf(language: "de" | "en").
License
This package is licensed under the MIT-0 License, allowing reuse with minimal restrictions.
Contributing
Issues and pull requests are welcome!
The source is maintained on GitLab, with mirrored contributions published to Typst Universe.