Difference between revisions of "h-event"

From Microformats Wiki
Jump to navigation Jump to search
(embedded rather than nested)
(add reserved properties, p-organizer, per hcalendar-brainstorming#hCard_organizer)
Line 66: Line 66:
hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.
hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) {{should}} prefer <code>p-name</code> over <code>p-summary</code>, and use <code>p-summary</code> value(s) as a fallback if there is no <code>p-name</code>.
Reserved properties:
* '''<code>p-organizer</code>''' - a person (co-)organizing the event, optionally embed [[h-card]] {{main|h-card}}
== Examples in the wild ==
== Examples in the wild ==

Revision as of 23:35, 27 June 2013

<entry-title>h-event</entry-title> Tantek Çelik (Editor)

h-event is a simple, open format for publishing events on the web. h-event is one of several open microformat draft standards suitable for embedding data in HTML/HTML5.

h-event is the microformats2 update to hCalendar 1.0.


Here is a simple event example:

<div class="h-event">
  <h1 class="p-name">Microformats Meetup</h1>
    <time class="dt-start" datetime="2013-06-30 12:00">30<sup>th</sup> June 2013, 12:00</time>
    to <time class="dt-end" datetime="2013-06-30 18:00">18:00</time>
    at <span class="p-location">Some bar in SF</span></p>
  <p class="p-summary">Get together and discuss all things microformats-related.</p>

Get started

The class h-event is a root class name that indicates the presence of an h-event.

p-name, dt-start, dt-end, p-location, p-summary, and the other h-event property class names listed below define properties of the h-event.

See microformats2 parsing specification to learn more about property class names.


h-event properties, inside an element with class h-event:

  • p-name - event name (or title)
  • p-summary - short summary of the event
  • dt-start - datetime the event starts
  • dt-end - datetime the event ends
  • dt-duration - duration of the event
  • p-description - more detailed description of the event
  • u-url - permalink for the event
  • p-category - event category(ies)/tag(s)
  • p-location - where the event takes place, optionally embedded h-adr or h-card
    Main article: h-adr
    Main article: h-card
  • p-geo - geophysical location of the event, optionally embedded h-geo
    Main article: h-geo
  • p-latitude - decimal latitude
  • p-longitude - decimal longitude

Experimental properties currently in use in the wild but not (yet) part of the official h-entry spec:

  • p-attendee - a person attending the event, optionally embed h-card
    Main article: h-card

All properties are optional.


h-event is a microformats.org draft specification. Public discussion on h-event takes place on h-event-feedback, the #microformats #microformats chat channel on irc.freenode.net, and microformats-new mailing list.

h-event is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-events up as classic hCalendar 1.0 events.

Property Details

(stub, to be expanded)

p-location is typically a physical address, optionally marked up with h-adr, for example:

<p class="p-adr h-adr">
  <span class="p-street-address">17 Austerstræti</span>
  <span class="p-locality">Reykjavík</span>
  <span class="p-country-name">Iceland</span>

hCalendar-specific implementations that perform custom display or translation (e.g. to iCalendar .ics) SHOULD prefer p-name over p-summary, and use p-summary value(s) as a fallback if there is no p-name.

Reserved properties:

  • p-organizer - a person (co-)organizing the event, optionally embed h-card
    Main article: h-card

Examples in the wild

Real world in the wild examples:

See microformats2 examples in the wild for more

Main article: microformats validators

Test and validate microformats2 markup in general with:

Backward Compatibility

Publisher Compatibility

For backward compatibility, you may wish to use classic hCalendar 1.0 classnames in addition to the more future-proof h-event properties, for example:

<div class="h-event vevent">
  <h1 class="p-name summary">Some great event</h1>

Parser Compatibility

Microformats parsers SHOULD detect the following root class name and property names. A microformats2 parser may use existing microformats Microformats Parsers to extract these properties. If an "h-event" is found, don't look for a "vevent" on the same element.

Compat root class name: vevent
Properties: (parsed as p- plain text unless otherwise specified)

  • summary - parse as p-name
  • dtstart - parse as dt-start
  • dtend - parse as dt-end
  • duration - parse as dt-duration
  • description
  • url - parse as u-
  • category
  • location - including compat root vcard in the absence of h-card, and compat root adr in the absence of h-adr
  • geo - parse as p-geo h-geo including compat root geo
  • latitude
  • longitude


This work is based on the existing hCalendar 1.0 and iCalendar RFC 2445 specifications.

Design Principles

(stub, expand)

See Also