Notams non api googley calendar parser made for the administration søtnoser <3
Convert .ics calendar files to JSON format. And feast your eyes with the html/css data visualisation output.
First get the .ics files from Gåågle
-
Go to takeout.google.com
-
Deselect all services
-
Select only "Calendar"
-
Choose specific calendars (Studio 1, Studio 2, Prosjektrum, etc.)
-
Export in .zip format
-
Extract .ics files and process with
kalsium
Convert .ics calendar files to JSON format
Usage: kalsium [OPTIONS]
Options:
-i, --input <FILE>... Input .ics file(s). Accepts multiple paths or shell globs, e.g. *.ics
-o, --output <OUTPUT> Output file path (default: stdout). For a single input file
-d, --output-dir <DIR> Write one output file per input file into this directory. Each file is named after its input with the extension replaced, e.g. studio.ics -> studio.html or studio.json. Conflicts with --output
-p, --pretty Pretty-print JSON output
--html Generate styled HTML output
-I, --ignore <SUMMARY> Ignore events with these SUMMARY values (can be specified multiple times)
--year <YYYY> Filter to a specific year, e.g. --year 2024
--from <YYYY-MM> Filter from this month (inclusive), e.g. --from 2024-01
--to <YYYY-MM> Filter to this month (inclusive), e.g. --to 2024-06
--all-day-hours <HOURS> Hours to count for an entire-day entry with no time in the summary. Overrides the value set in Cargo.toml [package.metadata.kalsium]
-h, --help Print help
-V, --version Print version
Basic Conversion json to stdout
kalsium -i input.ics
Generate HTML Report
kalsium -i input.ics --html -o report.html
Generate Markdown Table
kalsium -i input.ics --markdown -o overview.md
Pretty-print JSON Output
kalsium -i input.ics --pretty -o calendar.json
Filter Out Unwanted Events
kalsium -i input.ics -I "Notam" -I "Velikehold" --html
Flags for time range output
--year 2024
--from 2024-01 --to 2024-06
— they can be combined freely, e.g. --from 2023-06 --to 2024-03 spans across years
Real world example:
kalsium -i *.ics --html --year 2025 \
-I "Notam closed for the holidays" -d .
or
kalsium -i "STUDIO.ics" \
-I "NOTAM" \
-I "Should not be counted" \
-o "STUDIO-SUMMARY-2025.html" \
--html --year 2025
Time Format Support
Tool automatically detects time formats in event summaries:
HH-HH → "12-24"
HH:MM-HH:MM → "09:00-17:00"
HH.MM-HH.MM → "9.30-11.45"
HHMM-HHMM → "0900-1700"
H-H → "9-5"
Installation: