2 unstable releases

new 0.2.0 Jan 14, 2025
0.1.0 Dec 11, 2024

#614 in Command line utilities

Download history 90/week @ 2024-12-05 59/week @ 2024-12-12 1/week @ 2024-12-19 1/week @ 2025-01-02 67/week @ 2025-01-09

70 downloads per month

Apache-2.0

15KB
310 lines

#+TITLE: orgtoical

=org-mode= has a builtin [[https://orgmode.org/manual/iCalendar-Export.html][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 [[https://www.rfc-editor.org/rfc/rfc5545][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.

Dependencies

~4MB
~74K SLoC