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_box
andicon_box
system. - ✏️ 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 optionalGIBZ
namespace.
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.