Movable Type の記事を iCal で管理する

2009-04-26
10分で読了
更新: 2025-12-14

目次

Movable Type は、テキスト形式であればどんな種類のファイルでも自由自在に生成できます。これは、Movable Type の大きな魅力の一つです。この点については、2009年2月に行われた『実験!Movable Typeラボラトリー』で再認識することができました。

そこで今回は、Movable Type のブログ記事を、Mac の「iCal」(アップル - Mac OS X Leopard - 新機能 - 300を越える新機能)で管理できるようにしてみました。

ical_blogcalendar_001.png

iCal で管理することのメリット

今回のテンプレートは、知り合いに「 MT はカスタマイズすればスケジュール管理だってできちゃうんだぜ」なんてことを見せてあげようと思って作りました。

しかし、いざやってみると「お、意外と便利かも」と思ったので、実用化するときのメリットをあげてみます。(先にテンプレートを見たい方はこちら

頻繁に立ち上げるアプリでブログ記事を管理できる

僕のブログは、「自分で得た知識等をブログでアウトプットすることで知識を定着させる」という面があるので、自分で書いた記事を見直すシーンが時々あります。

そんなとき、iCal でブログ記事が検索できれば、起動も速いので、Firefox を開いていないときでもすぐに記事を検索できるのですごく便利です。

iCalのインクリメンタルサーチを使って記事を検索できる

僕はGoogle カレンダーと iCal を同期させてスケジュールを管理しています。そのとき、iCal をメインに使う最大の理由は、「 iCal ではインクリメンタルサーチができるから」といっても過言ではないかもしれません。

その機能をブログ記事の検索時にも使えるのはすごく便利です。

ブログの更新状況を把握できる

自分のブログの更新状況を確認できます。更新間隔が開いてしまうと焦ってくるので、いい刺激になります。

コメントへの返信をタスクにできる

ブログ記事に寄せられたコメントを「To Do 項目」に追加することで、訪問者さまからのコメントに対する返信をタスクとして管理できます。

今回のテンプレートでは、コメントが投稿された日から3日後をタスクの締め切りとして設定しています。つまり、コメントが投稿されてから3日以内に返信せよ、と自分に課すことができます。

ブログ記事の管理画面へダイレクトに飛べる

テンプレートにブログ記事の管理画面のURLを入れておけば、個々のブログ記事の編集画面へダイレクトに飛べます。

パッと思いつくだけでも上記のようなメリットがありました。

テンプレート

今回作成したテンプレートは以下の通りです。






BEGIN:VCALENDAR
METHOD:PUBLISH
X-WR-TIMEZONE:Asia/Tokyo
PRODID:-//Movable Type //iCal Blog Template//EN
CALSCALE:GREGORIAN
X-WR-CALNAME:
X-WR-CALDESC:
VERSION:2.0
X-WR-RELCALID:---
X-APPLE-CALENDAR-COLOR:#0a50a1
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:DAYLIGHT
TZOFFSETFROM:+0900
TZOFFSETTO:+1000
DTSTART:19500507T020000
RRULE:FREQ=YEARLY;UNTIL=19510505T170000Z;BYMONTH=5;BYDAY=1SU
TZNAME:JDT
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
DTSTART:20010101T090000
RDATE:20010101T090000
TZNAME:JST
END:STANDARD
END:VTIMEZONE







BEGIN:VEVENT
SEQUENCE:
DESCRIPTION:\n\n[管理画面]\n/blog/管理画面へのパス/mt.cgi?__mode=view&_type=entry&id=&blog_id=\n
UID:---
TRANSP:TRANSPARENT
URL;VALUE=URI:
DTSTART;VALUE=DATE:
DTSTAMP:
SUMMARY:
CREATED:
DTEND;VALUE=DATE:
END:VEVENT






BEGIN:VTODO
PRIORITY:0
SEQUENCE:0
DESCRIPTION:\n\n[管理画面]\n/blog/管理画面へのパス/mt.cgi?__mode=view&_type=comment&id=&blog_id=\n
UID:---
DTSTART;TZID=Asia/Tokyo:T120000
URL;VALUE=URI:
DTSTAMP:
SUMMARY:へのコメント
CLASS:PUBLIC
CREATED:
X-APPLE-SORT-ORDER:2147483647
DUE;VALUE=DATE:
END:VTODO

END:VCALENDAR

ちなみに、僕は iCal ファイルの仕様に関しては全くの素人なので間違っているところもあるかも知れません。興味のある方はさらに改良してお使いいただければと思います。iCal のファイルの仕様は次のページが参考になります。

正式な仕様は、RFC2445で定められているようです。

テンプレートの解説

iCal のファイル(拡張子 .ics)は、「BEGIN:VCALENDAR」から始まり「END:VCALENDAR」で終わる、ひとつのiCalendarオブジェクトとなっています。この中に「VEVENT」や「VTODO」といったコンポーネントを、「BEGIN:〜」「END:〜」といった形で入れていきます。

さて、では簡単に、ポイントを絞って上記のテンプレートを解説していきます。

カレンダーの情報

テンプレートの7行目〜15行目で、このカレンダーに関する基本情報を設定します。各項目の上に、コメントアウトして解説しています(解説になっていない部分もありますが。。)。


METHOD:PUBLISH


X-WR-TIMEZONE:Asia/Tokyo


PRODID:-//Movable Type //iCal Blog Template//EN


CALSCALE:GREGORIAN


X-WR-CALNAME:


X-WR-CALDESC:


VERSION:2.0


X-WR-RELCALID:---


X-APPLE-CALENDAR-COLOR:#0a50a1

タイムゾーンの情報

テンプレートの16行目から32行目は、カレンダーのタイムゾーンに関する情報です。今回は日本のタイムゾーンが設定されています。ここは「おまじない」と思ってこのままで良いでしょう。

イベントの情報

テンプレートの33行目から52行目で、ブログ記事をカレンダーの各イベントとして設定しています。

















BEGIN:VEVENT


SEQUENCE:


DESCRIPTION:\n\n[管理画面]\n/blog/管理画面へのパス/mt.cgi?__mode=view&_type=entry&id=&blog_id=\n


UID:---


TRANSP:TRANSPARENT


URL;VALUE=URI:


DTSTART;VALUE=DATE:


DTSTAMP:


SUMMARY:


CREATED:


DTEND;VALUE=DATE:


END:VEVENT



To Do リストの情報

テンプレートの53行目以降で、To Do リストに関する情報を設定しています。

今回のテンプレートでは、ブログに投稿されたコメントを最新5件出力しています。また、To Do(以下「タスク」といいます)の締め切りを、コメント投稿日の3日後に設定しているので、コメントが投稿されてから3日以内に返信するよう自分にプレッシャーを与えるようにしています。











BEGIN:VTODO


PRIORITY:0


SEQUENCE:0


DESCRIPTION:\n\n[管理画面]\n/blog/管理画面へのパス/mt.cgi?__mode=view&_type=comment&id=&blog_id=\n


UID:---


DTSTART;TZID=Asia/Tokyo:T120000


URL;VALUE=URI:


DTSTAMP:


SUMMARY:へのコメント


CLASS:PUBLIC


CREATED:


X-APPLE-SORT-ORDER:2147483647


DUE;VALUE=DATE:


END:VTODO





END:VCALENDAR

インデックステンプレートを作成

上記のテンプレートを、インデックステンプレートとして作成し再構築します。ここでは 出力ファイルを「blog_calendar.ics」とします。拡張子は「.ics」です。

iCal でカレンダーを読み込む

最後に、作成した「blog_calendar.ics」を iCal で読み込みます。

「カレンダー > 照会...」をクリック

ical_blogcalendar_002.png

再構築して生成したファイルのURLを入力して「照会」をクリック

ical_blogcalendar_003.png

カレンダーの情報設定画面が表示されるので、正しくインポートされていることを確認します。

ical_blogcalendar_005.png

今回のテンプレートのように「To Do 項目」もインポートする場合は、「削除:」欄の「To Do 項目」のチェックを外します。また「自動更新」を「毎日」等に設定しておくと良いでしょう。

これで「照会」欄にカレンダーが表示されます。

ical_blogcalendar_004.png

ただ、なぜか最初の「照会」だけでは「To Do 項目」がインポートされないので、カレンダーの上で右クリックして「更新」をクリックします。1回やってダメだったときは、2、3回やればうまく行きました。

ical_blogcalendar_006.png

ical_blogcalendar_007.png

以上です。意外と便利なのでお試しください。

この記事をシェア

関連記事