2xup.org

Movable Type + RightFields で microformats に対応

microformarts-yapc.png3月29日、30日に開催される YAPC::Asia Tokyo (ヤップシー・アジア・トウキョウ)のセッションとスピーカーのブログを作成する際に microformats に対応させてみました。セッションのブログでは hCalendar に、スピーカーのブログでは、hCard に対応しています。hCalendar を iCalendar に書き出す で紹介した X2V でも iCalendar や vCard に書き出せます。ちょうどこの作業中に宮川さんから教わった、Firefox Extension でもページに含まれる microformats で マークアップされたメタデータを閲覧できます。イカス!

この microformats に対応させるにあたり、やはり RightFields プラグインが大変役にたちました。単なるエントリーフォーム拡張どころか、もうなんでもアリです。

Extra Fields ひとつ取っても、PluginData だけでも必要以上の拡張ができるので、MT 自体をブログソフトウェアではなくフォーマットデータ投稿管理システムに変化させることができます。このエントリーフォームの拡張を利用して、microformats に対応させる事はなんの事はありません。エントリータイトルを名前に。そして RightFields で Website, Organization, Photo という Extra Fields を設定。Website と Photo のフィールドには各々の URL が、Organization には会社名が値として返されると想定した場合、hCard フォーマットで構築するテンプレートは以下のようになります。

<MTEntries><div class="vcard">
  <h2><a class="fn" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>"><$MTEntryTitle$></a></h2>
  <MTExtraFields><MTIfExtraField field="Photo"><img class="photo" src="<$MTExtraFieldValue field="Photo">" alt="<$MTEntryTitle encode_html="1"$>" /></MTIfExtraField>
  <ul>
    <MTIfExtraField field="Website"><li>Website: <a class="url" href="<$MTExtraFieldValue field="Website">" title="<$MTEntryTitle encode_html="1"$>'s website"><$MTExtraFieldValue field="Website"></a></li></MTIfExtraField>
    <MTIfExtraField field="Organization"><li>Organization: <span class="org"><$MTExtraFieldValue field="Organization"></span></li></MTIfExtraField>
  </ul></MTExtraFields>
</div></MTEntries>

RightFields フラグインはインストールも簡単です。このプラグンを利用するには、合わせて BigPAPI プラグインも必要です。RightFields に含まれているのですが、現在同梱されている BigPAPI ではエラってしまったというのも聞いたので、うまくいかない場合は別途ダウンロードして差し替えると良いかもしれません。基本的に解凍したファイルをディレクトリ構造に従ってアップロードするだけです。

関連エントリー