2010.01.02

Movable Type : ブログの各記事に「Twitterでつぶやく」ボタン (短縮URL使用) を付けてみた

「ポッドキャストジャーナル: 記事をTwitterに投稿できるアイコンを追加しました」を参考に、Movable Type 5 の各ブログ記事に「Twitterでつぶやく」ボタンを付けてみました。

前記URLで紹介されていた方法では、ブログのURLをそのままつぶやく形になりますが、それでは文字数を浪費してしまうので、短縮URLをつぶやくように改良してみました。

ブログ記事の投稿の際、新しい記事を自動で Twitter につぶやくプラグイン「MovableType用PostToTwitterプラグイン v2.0.0」は、URLを短縮した上で投稿しますので、その機能をなんとかして流用してしまうことにします。

ということで、まずはこのプラグインを Movable Type にインストールし、普通に使える状態にしておいて下さい。

次に、以下を Movable Type のブログ記事テンプレートの適所に追加します。


<div align="right"><a href="http://twitter.com/home?status=.%20@twitter_username%20<MTEntryShortenedPermalink>%20-%20" Target="_blank">このブログ記事について Twitter でつぶやく</a></div>

.%20@twitter_username の部分には、ご自分の Twitter のユーザー名を記載します。そして、<MTEntryShortenedPermalink> の部分が、先述の「MovableType用PostToTwitterプラグイン v2.0.0」の機能を借りている部分です。

これで試しに再構築してみたところ、「PostToTwitterプラグインの外からこれ呼んじゃ駄目っ!」っとエラーメッセージが表示されてしまいました。そこで、外から呼んでもエラーメッセージを吐かないように改変してしまいます。

post_to_twitter.pl をテキストエディタで開き、下記3行を # を行頭に追加してコメントアウトしてしまいます。変更前のオリジナルのファイルはなるべくバックアップしておきましょう。


sub hdlr_shortened_permalink {
    my ($ctx, $args) = @_;
    my $tag = $ctx->stash('tag');
    my $tag_name = 'mt' . $tag unless $tag =~ m/^MT/i;
#    return $ctx->error($plugin->translate(
#        'You used an \'[_1]\' tag outside of the context of an PostToTwitter message.', $tag_name))
#        unless $ctx->stash('posttotwitter');
    my $shorturl;
    my $url = $ctx->tag('entrypermalink', $args);
    if($url) {
        my $blog = $ctx->stash('blog');
        $shorturl = $plugin->get_shorturl($url, $blog->id)
            or return $ctx->error($plugin->errstr);
    }
    return $shorturl ? $shorturl : $url;
}

改変した post_to_twitter.pl を保存したら、サーバーに上書きアップロードします。

ちょっと乱暴なやり方でしたが、これで再構築してみたところ、うまく動いているようです。

※ちょっと乱暴なやり方ですので、何らかの問題が発生する可能性もあるかもです。何らかの問題が発生しても筆者は責任を負いませんので、自己責任でお試し下さい。

2010/9/7追記: Post to Twitter は Twitter の仕様変更により使えなくなっています。同じ作者から新しく PostTweet というプラグインが出ています。

2011/7/27追記: 今はTwitter 公式つぶやくボタンがありますので、そちらを利用しています。短縮URLにも標準対応です。

Categories: Movable Type

Category: Movable Type

Trackbacks

Trackback URL:


» 遅ればせながら、ツイートボタンを追加した件 from Ras and Road
blog再建に向けた第4ステップ。 かねてより、よそ様のblogと同様にブックマークボタンを追加したいと思っていた。 ネ... » 続きを読む (Read more)...