Here is the skinny:
1) modx document set to content type: text/plain and Inline
2) setup your feed format. I used this:
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME: My Events [[getCat]]
PRODID:-//Apple Computer\, Inc//iCal 2.0//EN
[!snippet-to-populate-feed!]
END:VCALENDAR
Note: the getCat snippet is to append the category name to the feed title, it is not required.
To populate the feed i used Ditto for the demo but will be using a custom setup for the final. Int he Ditto tpl I have (note this is a demo so it may be a bit crude):
BEGIN:VEVENT
DTSTART:[+editedon:date=`%Y%d%mT%H%M%SZ`+]
DTEND:[+eventDate_end:isnot="":then=`[+eventDate_end:date=`%Y%d%mT%H%M%SZ`+]`+]
SUMMARY:[+longtitle+] - [[GetField? &docid=`[+id+]` &parentLevel=`0` &field=`longtitle` &parent=`1`]]
DTSTAMP:[+editedon:date=`%Y%d%mT%H%M%SZ`+]
END:VEVENT
And here is the important part. In the feed link you need to use:
webcal://url-to-the-fee-.com/feed-link
Otherwise it will just be a text page. This is all based on my own conclusions, I am not an expert at any microformat or the webcal protocol so this may be totally off. If you do find out something please let me know since this will be needed soon for my project