Hatena::Groupweb

vantguarde

4.14

hCalendar to Google Calendar Script

| 16:26

Basically, all you have to do is use my script and whenever the page contains an hCalendar microformat, it will add a little clock icon with a link to a Google service to add the event to your calendar.

hCalendar + Google Calendar Reminders

こんなのも。やっぱりGoogleがやるとこういう動きがとってもスピーディですね。

Google Calendar FeedとRDFiCal

| 16:20

PlaggerRSS/Atom な entry には日付しかついてないので、より詳細なメタデータ形式としては RDF Site Summary 1.0 Modules: Event を使うとよいかも。hCalendar を フィードの xhtml:body, content:encoded, atom:body にそのまま入れるのもありですね。

Google Calendar vs. 30 boxes

Event Module使ってるフィードってどのくらいあるんでしょうね。iCalendarをXML形式で表現するならRDFカレンダーなるものがあるんですが、ハッカーに面白くないであろうRDF/XMLなので、モデルが複雑になっちゃうんですよね。まあRDFiCalは結構ツールとかがあったりするんで、もしかしたらその恩恵を受けられるかも。

で、現在Google Calendarが吐くAtomフィードはこちら。一つのエントリが一つのイベントに対応してるんですね。

<atom:entry>
  <atom:id>http://example.com/uri-for-this-event</atom:id>

  <atom:published>2006-04-14T06:30:00.000Z</atom:published>
  <atom:updated>2006-04-14T06:24:07.000Z</atom:updated>

  <atom:category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>

  <atom:title type="text">Entry title</atom:title>
  <atom:content type="text">Description for this event.</atom:content>

  <atom:link rel="alternate" type="text/html" href="http://example.com/edit-this-event" title="alternate"/>
  <atom:link rel="self" type="application/atom+xml" href="http://example.com/atom-for-this-single-event"/>

  <atom:author>
    <atom:name>vant</atom:name>
    <atom:email>mail-address</atom:email>
  </atom:author>

  <gd:transparency value="http://schemas.google.com/g/2005#event.opaque"/>
  <gd:comments>
    <gd:feedLink href="http://example.com/atom-for-comments"/>
  </gd:comments>
  <gd:eventStatus value="http://schemas.google.com/g/2005#event.confirmed"/>
  <gd:when startTime="2006-04-14T06:30:00.000Z" endTime="2006-04-14T07:30:00.000Z">
    <gd:reminder minutes="10"/>
  </gd:when>
  <gd:where valueString="Location"/>
</atom:entry>

gdっていうprefixを持つ要素はGoogleで用意されたもの。中途半端なモデルだなあ。。。

となるとやっぱりcontentのHTMLにhCalendarでしょうか。まあAtomXHTMLコンテントをそのまま埋め込めるから、一番スマートなやり方ではありそう。

ついでにRDFiCalのVEventはこちら。要素の並びは同じにしてます。

<ical:Vevent>
  <ical:uid>id</ical:uid>

  <ical:created>2006-04-14T06:24:07Z</ical:created>
  <ical:lastModified rdf:parseType="Resource">
    <ical:dateTime>2006-04-14T06:24:07Z</ical:dateTime>
  </ical:lastModified>

  <ical:summary>Entry title</ical:summary>
  <ical:description>Description for this event.</ical:description>

  <ical:organizer rdf:parseType="Resource">
    <ical:calAddress rdf:resource="mailto:mail-address"/>
    <ical:cn>vant</ical:cn>
  </ical:organizer>

  <ical:transp>OPAQUE</ical:transp>
  <ical:status>CONFIRMED</ical:status>
  <ical:dtstart rdf:parseType="Resource">
    <ical:dateTime>2006-04-14T06:30:00Z</ical:dateTime>
  </ical:dtstart>
  <ical:dtend rdf:parseType="Resource">
    <ical:dateTime>2006-04-14T07:30:00Z</ical:dateTime>
  </ical:dtend>
  <ical:dtstamp rdf:parseType="Resource">
    <ical:dateTime>2006-04-14T06:56:39Z</ical:dateTime>
  </ical:dtstamp>
  <ical:location>Location</ical:location>

  <ical:class>PRIVATE</ical:class>
  <ical:sequence>1</ical:sequence>
</ical:Vevent>

あら、フィードに含める要素を限定することが許されれば、そこまで冗長じゃないかも。

はじまり

15:09

メモ的な感じで書いてこうっと。

Contact: @vant / lepetitcroissant@gmail.com.