ical-gen-app
v1.0.0
Published
Consumes JSON containing calendar event data and generates an iCalendar file
Maintainers
Readme
ical-gen-app
The ical-gen-app project provides a command-line interface (CLI) application (iCalGenerator) that consumes a JSON
file containing calendar event data and generates an iCalendar (.ics) file.
Overview
The iCalGenerator CLI application is designed to generate iCalendar files (e.g., myCalendar.ics) conforming to
appropriate calendar componants defined in the iCalendar Specification.
This CLI application takes as input a path to a JSON source file containing event details.
The JSON source file was designed to be a simple, easy-to-read, and easy-to-write format for calendar event data.
It must adhere to the application-specific JSON Schema.
The intent is to generate calendars that can be imported into various calendar applications. Example use cases include calendars containing events for:
- Family's birthdays and anniversaries that can be provided to all family members
- Sports team's practices and games that can be provided to all team members
- Curated set of specific holidays
These generated calendars DO NOT support scheduling or event management such as sending event requests, managing attendees, or updating existing events.
Description
The iCalGenerator CLI application is a simple tool that:
- Reads the provided JSON source file
- Validates the JSON against the application-specific JSON Schema (using Ajv)
- Generates an iCalendar object (using ical-generator)
- Writes the generated iCalendar object to a file in a predetermined output path
If desired, this generated iCalendar file can be validated using the iCalendar Validator before importing it into a calendar application such as Google Calendar or Apple Calendar.
iCalGenerator CLI Documentation
iCalGenerator CLI Documentation
References
- iCalendar.org
- RRULE Tool - tool to generate repeating rule strings
- iCalendar Validator - tool to validate iCalendar data
- iCalendar (RFC 5545)
- Internet Calendaring and Scheduling Core Object Specification (iCalendar) - RFC-5545
