From Microformats Wiki
htodo /
Revision as of 18:58, 29 June 2017 by Tantek (talk | contribs) (warning template to make it more obv, update some prose, note historical only)
Jump to navigation Jump to search
⚠️ Warning: This page violates several aspects of the microformats The microformats process. In particular: failure to document to-do-examples, to-do-formats, to-do-brainstorming, premature naming. Please read The microformats process and join the #microformats #microformats chat channel on Freenode before proceeding any further.

Consider this document purely historical, and start any new to do work from the beginning of the process with to-do-research. See The microformats process for details for how to start that page. Tantek 18:58, 29 June 2017 (UTC)


This is a very out-of-date draft that predates what we learned from hCard 1.0 and hCalendar 1.0 and wrote up in the microformats The microformats process. This document is a premature brainstorm at best, and should eventually be moved to to-do-brainstorming once to-do-examples and to-do-formats have some substance.

VTODO is part of the RFC2445 iCalendar spec used for describing todo items.

VTODO is fairly straight-forward, as it doesn't contain any nested entities, and has a fairly small list of properties. Most of these it shares with VEVENT, suggesting htodo be modeled on hevent in hCalendar 1.0, and the ground assumption is that htodo should work just like hevent with respect to these properties. The shared properties are:

class, created, description, dtstamp, dtstart, geo, last-mod, location, organizer, priority, recurid, seq, statusm summary, uid, url, duration, attach, attendee, categories, comment, contact, exdate, exrule, rstatus, related, resources, rdate, rrule, x-prop

The unique properties to VTODO are:

  • completed The date/time the todo was completed
  • due The date/time this todo is due
  • percent Integer from 0-100, completion status

As the data types for completed and due are the same as, e.g., dtstart, then the usage should be the same. For example,

<abbr class="due" title="2007-01-01T13:10:05.0Z">January 1, 2007</abbr>

As for percent, the contents of span with class "percent" will do, I think. If there is a "%" in the body, it can be ignored. The numerical part is assumed to be from 0-100. For example,

<span class="percent">50%</span>


<span class="percent">50</span> percent

are equivalent.

Here is a full example,

<div class="vtodo">
 <span class="summary">Create a spec for hToDo</span>
 <span class="status">first draft</span>
 Initiated <abbr class="dtstart" title="2006-05-12">May 12, 2006</abbr>