A Typst package for plotting timelines.
Examples


Installation
Copy this package to your Typst packages directory or use it locally:
#import "@preview/zeitline:0.1.0": timeline
Usage
#import "@preview/zeitline:0.1.0": timeline
#let events = (
(date: "Jan 1", desc: "First event description"),
(date: "Jan 2", desc: "Second event description"),
(date: "Jan 3", desc: "Third event description"),
)
#timeline(events)
Each event is a dictionary with:
date: The date/time label (required)desc: Event description (required)side(optional): Force “left” or “right” placement (alternates by default)
Theme Customization
#timeline(events, theme: (
colors: (
accent: rgb("#2980b9"), // Blue instead of red
muted: rgb("#555555"),
line: rgb("#aaaaaa"),
),
sizes: (
date: 12pt,
body: 10pt,
dot: 6pt,
line-width: 3pt,
),
spacing: (
row: 1.5em,
arm: 3em,
),
))
Running Tests
To run the tests (e.g., repro.typ or custom_theme.typ), you must run typst compile from the project root and specify the root path so that imports resolve correctly:
# Run from the project root
typst compile --root . tests/repro.typ
typst compile --root . tests/custom_theme.typ
License
MIT