MovableTypeで、はてなの「投げ銭」記述を埋め込んでみよう
2005/08/10前回の記事、
■2005/08/10 [はてなの「投げ銭」システム開始 - さっそく埋め込んでみました。はてなの「投げ銭」システム開始 - さっそく埋め込んでみました。]
では、はてなポイント「投げ銭」の使い方について簡単にご説明しました。
今度は逆に、投げ銭を受ける側の準備についてご説明しましょう。
MovableTypeの各記事に、投げ銭用の設定を埋め込む方法
です。
その前に、投げ銭を受けるには、当然はてなのアカウントを持っていなければ
なりません。投げ銭は「はてなポイント」の送信ですので、送信先IDを指定
できるように、あらかじめはてなアカウントを取得してください。
さて、まずは「はてなブックマーク」のid検知方法「Account Auto-Discovery」
の概念だけ簡単におさらいしておきましょう。この Account Auto-Discovery は
つまるところ、Webページの中に、
私は「はてな」で言うところの id: ○○○ です。
という記述を埋め込む仕様です。(はてなのnaoyaさんが策定しました。)
これを実際にページに埋め込むには、以下のようなRDF記述として各ページに
埋め込むことになります。
■はてなダイアリー以外のウェブサイトでポイントを受け取るには?
http://b.hatena.ne.jp/help?mode=tipjar
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<rdf:Description rdf:about="エントリーのPermalink あるいはウェブサイトのURL">
<foaf:maker rdf:parseType="Resource">
<foaf:holdsAccount>
<foaf:OnlineAccount foaf:accountName="あなたのはてなアカウント名">
<foaf:accountServiceHomepage rdf:resource="http://www.hatena.ne.jp/" />
</foaf:OnlineAccount>
</foaf:holdsAccount>
</foaf:maker>
</rdf:Description>
</rdf:RDF>
(インデントが全角スペースになっていますのでご注意ください)
この情報を埋め込むために、個別記事ページのテンプレート
「Individual Entry Archive」を編集することになりますが、
実は通常は、個別記事ページには既に <rdf:RDF>~</rdf:RDF> を
埋め込むための記述が含まれています。
<$MTEntryTrackbackData$>
というMTタグがそれです。これが表示する内容は、
(MTインストールdir)/lib/MT/Template/Context.pm
というプログラムの中の、_hdlr_entry_tb_data という関数の中で
指定されています。ちょっと中身を覗いてみましょう。
$rdf .= <<RDF;
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
rdf:about="$url"
trackback:ping="$path"
dc:title="@{[ encode_xml($strip_hyphen->($e->title), 1) ]}"
dc:identifier="$url"
dc:subject="@{[ encode_xml($e->category ? $e->category->label : '', 1) ]}"
dc:description="@{[ encode_xml($strip_hyphen->(_hdlr_entry_excerpt(@_)), 1) ]}"
dc:creator="@{[ encode_xml(_hdlr_entry_author(@_), 1) ]}"
dc:date="@{[ _hdlr_date($_[0], { 'format' => "%Y-%m-%dT%H:%M:%S" }) .
_hdlr_blog_timezone($_[0]) ]}" />
</rdf:RDF>
RDF
(インデントが全角スペースになっていますのでご注意ください)
<rdf:Description> の rdf:about="$url" であらかじめ PermanentLink の情報は
入っているようですから、あとはFOAFとして「はてなid」を示す情報を加えていけば
OKのはずです。やってみましょう。実際にContext.pmの該当部分を編集してみます。
$rdf .= <<RDF;
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<rdf:Description
rdf:about="$url"
trackback:ping="$path"
dc:title="@{[ encode_xml($strip_hyphen->($e->title), 1) ]}"
dc:identifier="$url"
dc:subject="@{[ encode_xml($e->category ? $e->category->label : '', 1) ]}"
dc:description="@{[ encode_xml($strip_hyphen->(_hdlr_entry_excerpt(@_)), 1) ]}"
dc:creator="@{[ encode_xml(_hdlr_entry_author(@_), 1) ]}"
dc:date="@{[ _hdlr_date($_[0], { 'format' => "%Y-%m-%dT%H:%M:%S" }) .
_hdlr_blog_timezone($_[0]) ]}">
<foaf:maker rdf:parseType="Resource">
<foaf:holdsAccount>
<foaf:OnlineAccount foaf:accountName="あなたのはてなアカウント名">
<foaf:accountServiceHomepage rdf:resource="http://www.hatena.ne.jp/" />
</foaf:OnlineAccount>
</foaf:holdsAccount>
</foaf:maker>
</rdf:Description>
</rdf:RDF>
RDF
(インデントが全角スペースになっていますのでご注意ください)
これで個別記事ページにFOAF情報として、はてなidの Account Auto-Discovery を
埋め込む準備は整いました。あとは個別記事ページ生成のテンプレートに
MTタグ <$MTEntryTrackbackData$> が含まれていることを確認してから、
全て再構築し直せば、この情報が全ての静的htmlに埋め込まれます。つまり、
投げ銭して頂ける環境が揃った ということになるワケです
(が、投げ銭して頂けるかどうかについては保証いたしません・汗)
この世界どこのどなたが自分に注目してくれるか判りませんので、
ひとまず試してみてはいかがでしょうか。(=゜ω゜)ノ
2005/08/10 [updated : 2005/08/10 12:53]

ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。
@ckom をフォローする
![]() « はてなの「投げ銭」システム開始 - さっそく埋め込んでみました。 | ![]() トップに戻る | ![]() LAN上のPCに録画していくエンコーダ、CANOPUS DNT-888L » |
▼ はてなブックマークのコメント ▼
関連記事
ピックアップタグ
- アニメ(436)
- GSR(310)
- ライブ(77)
- イベント(202)
- コラボカフェ(35)
- VTuber(21)
- アニメ吐き出しメモ(10)
- ウマ娘(49)
- 舞台挨拶(45)
- 先行上映会(19)
- トークショー(20)
- バンドリ!(51)
- ガールズ&パンツァー(58)
- 少女☆歌劇レヴュースタァライト(60)
- ゾンビランドサガ(9)
- プリンセス・プリンシパル(19)
- スタリラ(31)
- コラム(171)
- ゲームプレイ日記(69)
- ワンフェス(12)
- コメンタリー上映(7)
- 岩浪美和(25)
- 大洗(9)
- 響け!ユーフォニアム(12)
- リズと青い鳥(9)
- RAISE A SUILEN(10)
- 艦これ(23)
- ストライクウィッチーズ(23)
- メイドインアビス(8)
- BLAME!(8)
- ヤマノススメ(7)
- ラブライブ!サンシャイン!!(11)
- HELLO WORLD(6)
- 宇宙よりも遠い場所(5)
- ヴァイオレット・エヴァーガーデン(8)
- 私に天使が舞い降りた!(9)
Account Auto-Discovery の埋め込み方。antipop のプラグインもよろしくね。
コメントしましょう