hcalendar-implementations
hCalendar Implementations
This page is an informative section of the hCalendar specification.
The following implementations have been developed which either generate or parse hCalendars. If you have an hCalendar implementation, feel free to add it to the New Implementations section. If you have a page or site which just publishes hCalendar events, please use hcalendar-examples-in-wild instead.
New Implementations
Add new implementations here:
- Hcalproxy runs as an HTTP server, either standalone or under inetd(8), and converts hCalendar to iCalendar.
- The calendar of TikiWiki CMS/Groupware uses hCalendar markup for events. It's a built-in feature (no need to download separate module/plugin/etc). You can see in action over at wiki-translation.com
- Schoorbs has bookings flavored with hCalendar in view_entry.php since revision 175 (becoming 1.0-Alpha2).
- Cognition supports hcalendar 1.1
- ...
Authoring
Implementations you can use to author, create, and publish hCalendar events.
Web-based Creators
- hCalendar Creator
- hCalendar creator (hCalendar creator feedback) - create your own hCalendar events.
- Conference Schedule Creator
- Conference Schedule Creator (Conference Schedule Creator feedback) - create your conference schedule with hCalendar events.
- Permatime hCalendar vevent generator
- Permatime enables sharing of points in time as well as acting as a quick way to generate hcalendar vevents.
Blogging and CMS tools
- Midgard CMS
- Midgard CMS - net.nemein.calendar - as blogged by Henri Bergius
- Drupal module
- Drupal Upcoming.org syndication module emits hCalendar
- MovableType and WordPress plug-ins
- StructuredBlogging is a set of plugins for WordPress and for MovableType that supports embedding hCalendar and other microformats in templates and blog posts.
- Textpattern plug-ins
- pnh_mf is a plugin for Textpattern that supports embedding hCalendar and other microformats in templates and blog posts. Written by Chris Casciano.
- jmc_event_manager is a plugin for Textpattern that outputs events and locations in hCalendar (and hCard) formats. Written by Joel Courtney.
Browser scripts and plug-ins
Browser plugins that work with existing authoring tools:
- Any browser with javascript and a little bit of CSS
- microformats.org hCalendar creator (see also original: Ryan King has an hCalendar creator).
- Firefox Greasemonkey user script hCalendar creator
- magic_hcalendar Greasemonkey user script by Les Orchard - allows easy form entry of an event into any textarea, e.g. into a blog post text area.
- Firefox Greasemonkey user script hCalendar to Google Calendar
- Elias Torres has created a simple script that will parse hCalendar entries and create a link to add event to Google Calendar's service. Based on George's and Arve's work.
Desktop Authoring Tools
- Dreamweaver Extension
- Extension suite for Dreamweaver 8 from the Web Standards Project.
- xfy
In xfy Community, there are some hCalendar implementations.
- hCalendar via RSS parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.
- hCalendar Marker XVCD helps to mark up an event information in XHTML document with hCalendar.
- Simple RDF Calendar XVCD is a schedule tool which uses RDF Calendar format. It also converts RDF Calendar format to iCalendar and hCalendar format.
- Windows Live Writer
- WLW's Event Plugin formats events in blog posts with hCalendar.
Search and Discovery
- Technorati Microformats Search indexes hCard, hCalendar, and hReview as announced by Tantek.
- Microformats Bookmarklet is a bookmarklet designed for Safari (works in Firefox and Camino) that overlays on the current page to allow users to import individual hCards or hCalendars. Written by Remy Sharp.
Conversion and Import
Implementations you can use to importing into a calendar application, typically by converting hCalendar to iCalendar/vCalendar.
Web Services
These return iCalendar (.ics) and other calendar formats for easy importing into typical calendar programs or other processing.
- Technorati Events Feed service uses X2V library to parse hCalendar and return iCalendar (.ics).
- Note friendly URL, e.g. http://feeds.technorati.com/events/http%3A//microformats.org
- The enhanced-hcalendar-downloads script detects links to this service and displays a menu when they are clicked containing the original Technorati link and links to add the event to Google, Yahoo! and 30boxes.
- X2V parses hCalendar and produces a .ics (iCalendar) stream.
- Note: needs to be updated to track changes in the specification as they occur.
- Spanning Salesforce produces hCalendar-enabled RSS feeds and .ics calendars from Salesforce.com.
- MySpace Events RSS Creator creates RSS feeds of MySpace events with hCalendar markup.
Firefox Greasemonkey Plugins
- George has built a Greasemonkey user script that detects hCalendar events and allows users to easily add them to their calendar application(s).
- Martin Rehfeld has updated the work of David Janes and produced a Greasemonkey script that finds many microformat elements, including hCalendar events, and provides a popup menu of actions. The hCalendar to vCalendar conversion is done internally within the script. This will work with FireFox 1.5+/GreaseMonkey 0.6.4+ now.
Aggregators
- Extract Microformats is a script for NetNewsWire that supports extracting hCard and hCalendar data in blog posts (via Technorati service). Written by Chris Casciano
- Endo, an OS X aggregator, supports discovering hCalendar and adding those events to iCal. Look at the last screenshot at the bottom of the page.
Converters
- Hcalproxy runs as an HTTP server, either standalone or under inetd(8), and converts hCalendar to iCalendar. E.g., if Hcalproxy is running on localhost port 8000 and http://example.org/page.html points is an HTML page, then http://localhost:8000/http://example.org/page.html is an iCalendar document with the events from that page.
Browsing
Implementations that detect, display and otherwise highlight hCalendar events in pages.
- In xfy Community, there are some hCalendar implementations. "hCalendar via RSS" parses an RSS feed, retrieves XHTML documents linked from that feed, and syndicates hCalendars into a calendar view.
- js-hcalendar parses hCalendar and produces a displayable HTML table/CSS-based calendar (formerly called JSCalendar).
- jqueryhcal is a jQuery-based hCalendar parser that supports multi-day events, dtend, and other features.
Firefox extension
- AlchemyPoint is a Firefox extension and proxy service that can detect microformats in HTML documents and display browsing/mashup suggestions based on their contents.
- Tails is a Firefox Extension that will display the presence of microformats (hCard, hCalendar, hReview, xFolk) on a webpage.
- Operator also displays the presence of microformats, is extensible, and allows you to add actions such as "Add hCalender to Yahoo! Calendar".
Pending
- ReminderFox have hCalendar import on their "to do " list.
Flock extension
- AlchemyPoint is a Flock extension and proxy service that can detect microformats in HTML documents and display browsing/mashup suggestions based on their contents.
- Flocktails - port of Tails extension for Flock 0.5.12 that looks for hCards, hCalendar, xFolk and hReview and tosses them into a handy topbar
Libraries
Open source libraries of hCalendar parsers and other related code for building hCalendar implementations. Note: it is very likely that some of the above implementations may be duplicated in this section. That's ok.
- Javascript
- PHP
- Microformat Base is an open-source PHP microformat aggregation crawler, currently recognizing hreview, hcalendar, and hcard (Source code no longer available as of 6 Dec 06).
- phpMicroformats is a PHP class library that generates microformats for calendar events (hCalendar) and vcards (hCard).
- hCalendar profile for the hKit parser.
- X2V is available as an XSLT library
- palmagent by User:DanC includes toICal.xsl and test materials; it works much like xhtml2vcal.xsl in X2V. See also: RDF Calendar workspace with icalendar test materials.
- Python
- vObject, part of the Chandler project, claims experimental hCalendar support.
Related Pages
- hCalendar - specification
- hCalendar intro - plain English introduction
- hCalendar authoring - learn how to add hCalendar markup to your existing events.
- hCalendar creator (hCalendar creator feedback) - create your own hCalendar events.
- hCalendar cheatsheet - hCalendar properties
- hCalendar examples in the wild - an on-going list of websites which use hCalendars.
- hCalendar implementations - websites or tools which either generate or parse hCalendars
- hCalendar FAQ - If you have any questions about hCalendar, check here.
- hCalendar parsing - normative details of how to parse hCalendar.
- hCalendar profile - the XMDP profile for hCalendar
- hCalendar singular properties - an explanation of the list of singular properties in hCalendar.
- hCalendar tests - a wiki page with actual embedded hCalendar events to try parsing.
- hCalendar "to do" - jobs to do
- hCalendar advocacy - encourage others to use hCalendar.
- iCalendar implementations
This specification is a work in progress. As additional aspects are discussed, understood, and written, they will be added. These thoughts, issues, and questions are kept in separate pages.
- hCalendar Brainstorming - brainstorms and other explorations relating to hCalendar
- hCalendar issues - issues with the specification