Movable Typeからブログ更新情報を Twitterに。

やろうやろうと思ってサボっていたのですが、遂に設定完了。メモメモ。

PostTweetというプラグインをダウンロードしてインストールします。

  → エムロジック放課後プロジェクト:PostTweet

インストール方法や設定方法は同梱のドキュメントを参照するか、いつもお世話になっている小粋空間の解説記事を読みながら。

特に問題なく設定完了。URL短縮サービスに bit.ly を使うならば、bit.ly へのアカウント登録(そこでGETできるAPI Key)が必要です。最近は Twitter に長いURLを投稿しても勝手に短縮されるけれど、短縮しないとたぶん PostTweet 内部での文字制限に引っかかってしまうような気がする。面倒なので未確認です。

で、投稿内容にハッシュタグを含めたい場合があるけれど、今回は
  • Movable Typeでハッシュタグ入力用のカスタムフィールドを作成。
  • PostTweetの投稿用テンプレートを弄って、ハッシュタグを入れたい場合にはそれを出力するように改造。
という方法でやってみた。

カスタムフィールドの作成は、またもや小粋空間の記事を参考に。
  • 「システムオブジェクト」は「ブログ記事」。
  • 「名前」は適当に「TwitterHashTag」。
  • 「種類」は「テキスト」。
  • 値の入力は「必須でない」。
  • 「テンプレートタグ」の名前も適当に「twitterhashtag」。
で、PostTweetのテンプレートをカスタマイズ。PostTweetの設定画面で「フォーマットテンプレート名」に適当な名前を入力。その名前のテンプレートを作成します。ドキュメントを参考にしつつ、こんな感じでどうか。
<mt:setvar name="title_len" value="140" />
<mt:setvarblock name="title">[<mt:blogname remove_html="1" />] <mt:entrytitle remove_html="1" /></mt:setvarblock>
<mt:setvarblock name="hashtag"><mt:if tag="twitterhashtag"> <mt:twitterhashtag></mt:if></mt:setvarblock>
<mt:setvarblock name="link"> - <mt:entryshortenedpermalink /> <mt:var name="hashtag"></mt:setvarblock>
<mt:setvarblock name="link_len"><mt:var name="link" count_characters="1" /></mt:setvarblock>
<mt:setvar name="title_len" op="-" value="$link_len" />
<mt:var name="title" trim_to="$title_len" /><mt:var name="link" />
ツイート内容にハッシュタグを含めたい場合は、ブログ記事編集画面に追加された「TwitterHashTag」フィールドにハッシュタグそのもの(#xxxx)を入力して保存すれば、投稿の末尾に追加されます。このフィールドが空欄ならば出力しない。複数のハッシュタグを投稿したいときは、このフィールドに「#aaaa #bbbb #cccc」などとスペース区切りで列記すれば良し。

実際の投稿内容はこんな感じになります。
 [freefielder.jp] 8年振りの日本一。 - http://bit.ly/smOR6H #sbhawks
うん、思い通りに動作してくれているようだ。

カテゴリ: