g

gibz-script

@preview

Template and components (tasks, hints, supplementary, code box) with DE/EN i18n and a clean flat API to be used at GIBZ for creating teaching materials.

v0.1.0
MIT-0
Template

Preview

Template preview

1. Get the package

Download the package using the TPIX CLI:

tpix get @preview/gibz-script:0.1.0

2. Initialize from template

Create a new project from this template:

typst init @preview/gibz-script:0.1.0

Version History

0.1.0
263500e15607...

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 and icon_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 optional GIBZ 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 "@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.