A minimal icalendar/ics (http://tools.ietf.org/html/rfc5545) parser for nodejs. This modul is a direct fork of the ical.js module by Peter Braden (/~https://github.com/peterbraden/ical.js) which is primarily targeted for allowing to parse icalender/ics files in pure javascript, thus within the browser itself. This node-ical module, however, primarily targets nodejs use which should allow to parse icalendar/ics files in a more flexible way.
node-ical-improved is availble on npm:
npm install node-ical-improved
var ical = require('node-ical');
ical.parseICS(str);
Parses a string with an ICS File
var data = ical.parseFile(filename);
Reads in the specified iCal file, parses it and returns the parsed data
ical.fromURL(url, options, function(err, data) {} );
Use the request library to fetch the specified URL (opts
gets passed on to the request()
call), and call the function with the result (either an error or the data).
var ical = require('node-ical-improved');
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
ical.fromURL('http://lanyrd.com/topics/nodejs/nodejs.ics', {}, function(err, data) {
for (var k in data){
if (data.hasOwnProperty(k)) {
var ev = data[k]
console.log("Conference",
ev.summary,
'is in',
ev.location,
'on the', ev.start.getDate(), 'of', months[ev.start.getMonth()]);
}
}
});