Skip to main content

Crate shift_export

Crate shift_export 

Source
Expand description

§export-engine

ICS (RFC 5545) calendar export for shift schedules.

Generates standard .ics files importable into Thunderbird, GNOME Calendar, Nextcloud, Apple Calendar, Google Calendar, Outlook.

§Design

One VEVENT per day — simple, correct, no RRULE complexity. A full year produces ~365 VEVENTs (~50KB), well within ICS limits.

The earlier RRULE approach was abandoned because shift types appear at multiple irregular positions within a cycle (e.g. Morning appears 7 times in 42 days), which can’t be expressed as a single FREQ=DAILY;INTERVAL=42.

Functions§

generate_shift_ics
Generate an ICS calendar file covering a date range.

Type Aliases§

AlarmConfig
Configuration for alarm times. Key: shift type name (“morning”, etc.), Value: (hour, minute).