ICS File Generator
Generate iCalendar files.
Installation
npm install ics
Usage
Require the module: require('ics')
.
ics.getEvent(options)
Returns an iCal-compliant text string.
ics.createEvent(options, filepath, cb)
Returns a callback with an iCal-compliant .ics
file.
Options:
dtstart
: (Date string) Event start time. Defaults to current time.dtend
: (Date string) Event end time. Defaults to one hour fromdtstart
.description
: (String) Description (details) of the event.eventName
: (String) Title of the event as it appears in calendar applicationfilename
: (String) Name of the iCal file. Defaults tocalendar-event.ics
.location
: (String) Location of the event.organizer
: (Object)name
: (String)email
: (String)
Example:
var ical = require('ics');
var options = {
eventName: 'Fingerpainting lessons',
filename: 'event.ics',
dtstart: 'Sat Nov 02 2014 13:15:00 GMT-0700 (PDT)',
location: 'Here and there',
email: {
name: 'Isaac Asimov',
email: 'isaac@asimov.com'
}
};
ical.createEvent(options, null, function(err, success) {
if (err) {
console.log(err);
}
console.log(success); // returns filepath
});
The above snippet creates a file named event.ics
, saves it to the operating
system's temporary directory, and returns the filepath.
The event.ics
file should look something like this:
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTAMP:20150701T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:20150714T170000Z
DTEND:20150715T035959Z
SUMMARY:Fingerpainting lessons
END:VEVENT
END:VCALENDAR
TODO
- Description property
- Add express/restify browser download examples
- Recurrence Identifier Range
- Alarm Trigger Relationship
- Time Zone Identifier
- Geographic Position
- Location
References
RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar)