orgtoical

Crates.ioorgtoical
lib.rsorgtoical
version0.3.2
created_at2024-12-11 03:53:21.193449+00
updated_at2025-09-07 20:54:29.296446+00
descriptionExport org-mode files to iCalendar
homepage
repositoryhttps://codeberg.org/felipeqq2/orgtoical
max_upload_size
id1479560
size39,937
Felipe Silva (felipeqq2)

documentation

README

orgtoical

org-mode has a builtin iCalendar export. It's horrifyingly slow with bigger files. And, apparently, it's not super hard to build. So, this is a very similar tool to handle your iCal exports, only a tad faster.

Quick comparison: using an org file with 1,3M and +20k lines, exporting this file via org-icalendar-export-to-ics takes around a very, very long time. Running cat vault.org | orgtoical takes 138.21ms.

orgtoical parses stdin as an org file, and outputs the iCalendar to stdout. Nice for piping and redirecting stuff!

Options

There is a single command-line option: an optional reminder to be set in all iCal events. It can be set with the --reminder flag: orgtoical --reminder $TRIGGER, where $TRIGGER is an iCal alarm trigger (like -PT15M for triggering 15 minutes before the start of the event. I don't know how it works or what it actually means).

iCal nonconformities

Although TIMEZONE properties are supported, no timezone definitions are added to the output. This is the same behaviour as the org export, but is a nonconformity as per the iCal spec. In my experience, consuming applications usually understand IANA timezone identifiers.

Support

Currently, it supports the following properties: TIMEZONE, LOCATION, DESCRIPTION, UID. SUMMARY is the title of the headline, and CATEGORIES is a list of all tags assigned to the headline. Both properties and tags are inherited. Only calendar events are supported.

Commit count: 0

cargo fmt