• This repository has been archived on 15/Aug/2020
  • Stars
    star
    234
  • Rank 171,630 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 13 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

iCalendar parser and generator for Node.js

iCalendar for Node

Provides iCalendar (RFC5545) parsing as well as a convenient API for generating iCalendar data.

node-icalendar is published to npm as icalendar. To install, run:

npm install icalendar

Generating iCalendar Files

You can generate a single event:

var event = new icalendar.VEvent('cded25be-3d7a-45e2-b8fe-8d10c1f8e5a9');
event.setSummary("Test calendar event");
event.setDate(new Date(2011,11,1,17,0,0), new Date(2011,11,1,18,0,0));
event.toString();

Or create a collection of events:

var ical = new icalendar.iCalendar();
ical.addComponent(event);

var event2 = ical.addComponent('VEVENT');
event2.setSummary("Second test event");
event2.setDate(new Date(2011,11,5,12,0,0), 60*60); // Duration in seconds

Parsing iCalendar Files

Create a iCalendar collection from a string:

// data is a string containing RFC5545 data
var ical = icalendar.parse_calendar(data);

Access an array of the events defined within:

ical.events()

Implementation Status

Several portions of the iCalendar spec remain unimplemented:

* HOURLY, MINUTELY, and SECONDLY recurrence are not implemented.
    - Support for these is not currently planned, as they do not
      seem to be found in actual use.
* BYSETPOS
* WKST
    - This could very likely become important
* BYWEEKNO
* BYYEARDAY

* RDATE is not yet implemented
* RECURRENCE-ID and multiple related VEVENTS are not currently supported

* Documentation is pretty weak

Contact