Amazon商品の価格変動チェック「あまとも」
コミックダッシュ!は初音ミクGTプロジェクトを応援しています
個人ニュースサイトを巡回する「メガとんトラック」
全ての記事 携プレMP3 デジカメ レコーダ ゲーム メモリ デジモノ コラム 雑談 ブログ あまとも コミックダッシュ!
前の記事次の記事
2005/08/10 12:53 - 2005/08/10

MovableTypeで、はてなの「投げ銭」記述を埋め込んでみよう

カテゴリ : ブログ タグ :

    前回の記事、
     
    ■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に埋め込まれます。つまり、
     
     投げ銭して頂ける環境が揃った ということになるワケです
     
    (が、投げ銭して頂けるかどうかについては保証いたしません・汗)
     
    この世界どこのどなたが自分に注目してくれるか判りませんので、
    ひとまず試してみてはいかがでしょうか。(=゜ω゜)ノ

    CK@デジモノに埋もれる日々 @ckom
    ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。



    投稿者 CK : 記事URL | ブログ | | 2005/08/10 12:53


    « はてなの「投げ銭」システム開始 - さっそく埋め込んでみました。

    トップに戻る

    LAN上のPCに録画していくエンコーダ、CANOPUS DNT-888L »



    ▼ コメント ▼

    ご自由にコメントください(=゜ω゜)ノ  ▼ コメント入力欄を開く ▼
    ※管理人は多忙のためお返事はほとんどできません(スミマセン)。
    スパムおよび本文と無関係なコメントは削除対象になる可能性があります。


    ▼ はてなブックマークのコメント ▼


    ▼ トラックバック ▼

    このエントリーのトラックバックURL:

    ★コミックダッシュ! 10,000人突破ありがとうキャンペーン!(9/18~10/23)
     
    デジモノに埋もれる日々 : (C) CKWorks