Category Archives: Blog Tools

MT4i

Mobile Link Discovery と MT4i の「あいのり機能」

Where’s your Mobile URL?: blog.bulknews.net

このリリースと同時に「あるウェブページのモバイル版 URL を明示的に指定する」 Mobile Link Discovery のドキュメントも作成して公開しています。

miyagawa さんが、Mobile Link Discovery という仕様を作成/公開され、TypePad Japan や hatena、livedoor Blog などでサポートされ始めました。

この仕様、実は MT4i では Ver2.0 からすでに「あいのり機能」として実装されています。

したがってこの機能を ON にするだけで、自分のエントリ中に記載したリンク先が Mobile Link Discovery に対応した Publisher へのリンクであれば、自動的にモバイル対応ページへのリンクに変換してくれます。ヽ(´ー`)ノ

試しにいくつかリンクを貼ってみます。

【参考エントリー】

MovableType Site Information

MovableType 3.2 への移行ならず

MovableType 3.2 へ移行するため作業を行ってみたものの、どうしてもリビルドでタイムアウト。テンプレートかプラグイン、あるいは公開設定辺りが原因なのはなんとなく想像に難くないのだが、原因究明の時間がとれないのでとりあえず断念。

先にテンプレートの整頓作業でもした方がよいかも。

MovableType

MovableType 3.2 のライセンス体系

松永さんの記事を読んで初めて気がついたのだが、MovableType 3.2 で無償の「限定個人ライセンス」規約が若干変更になっている。
read more »

MovableType Site Information

BerkeleyDBからSQLiteに移行

MobavleType 3.2 への移行を考えてテストをしているわけなんですが、BerkeleyDB に関してはテンプレートに recently_commented_on 利用していると問題があります。
read more »

MovableType

日本語トリミングフィルタ(Encodeモジュール版)

以前は Jcode モジュールを利用してましたが、Encode モジュールに書き換えてみました。MT も 3.2-ja では確か Encode モジュールを利用するようになったらしいし。Perl 5.8 以降だったらこちらで。

そういえば確かめてないけれど、3.2-ja では trim_to もちゃんと 2 バイト文字に対応しているのだろうか。もし対応していたら、あまり意味がなくなっちゃうかも。

でもひょっとして全角も 1 文字換算で数える仕様とかだとイヤーンな感じだし、末尾に「…」を付けるのがイイという人もいるだろうから、まあ一応念のため公開しておきたいと思います。使い方は、以前とまったく一緒です。

ちなみにあまりテストしてませんのでうまく動かない場合はご一報を。
read more »

MT4i

MT4i 記事一覧で(下書き)を表示する

MT4i の管理者モードでは、下書きや指定日投稿のエントリーも一覧に表示されます。Individual 表示(個別記事表示)モードではタイトルの先頭に「(下書き)」や「(指定日)」と追加されて表示されますが、一覧画面ではそれがありません。

太鉄さんのところでお願いした方がよい気もするんですがお忙しいようですし、何よりこだるまさんからご指名を受けてしまったので、一覧表示でも(下書き)や(指定日)の表示を追加する修正をしてみました。

修正範囲も少ないし改変版を配布するのも面倒なので、方法だけ書いておきます。ちなみに MT4i Ver2.0 を前提としています。

mt4i.cgi を EUCコードで編集可能なエディタで開き、main 関数内の下記部分(477行目あたり)

# 記事本文
my $i = 0;
for my $entry (@entries){ # 結果のフェッチと表示
  my $title = &conv_euc_z2h($entry->title);
  $title = "untitled" if($title eq '');
  my $created_on = &conv_euc_z2h(&conv_datetime($entry->created_on));
  ...

となっているところを

# 記事本文
my $i = 0;
for my $entry (@entries){ # 結果のフェッチと表示
  my $title = &conv_euc_z2h($entry->title);
  $title = "untitled" if($title eq '');
  # 下書き/指定日かどうかを調べる
  my $ent_status = $entry->status;
  my $d_f;
  if ($ent_status == 1) {
    $d_f = '(下書き)';
  } elsif ($ent_status == 3) {
    $d_f = '(指定日)';
  }
  $title = $d_f . $title;
  my $created_on = &conv_euc_z2h(&conv_datetime($entry->created_on));
  ...

という具合に修正します。赤の太字が追加部分です。Individual 表示処理内の該当部分をほぼ Copy&Paste というベタな修正で申し訳ないですが。(汗)

ちなみに、この改変によって生じたいかなる不利益に対しても責任は負いかねます。念のため。m(_,_)m

MovableType Site Information

FeedBurnerへ移行

エントリーを投稿するのにもかなり重くなってしまい、500エラーが増えてきました。そこで徐々に軽量化をはかっていくため、RSS等の配信を FeedBurner へ移行しました。

リビルド負荷を減らすには、いくつかの方法があります。

  1. 各テンプレートでモジュール化やPHPインクルードなどを活用する
  2. インデックスの構築時にビルドされるテンプレートを減らす
  3. BerkeleyDB をやめる
  4. エントリの多いカテゴリを別Blogにする

これらのうちPHPインクルードは既に使っていて、DBの変更(MySQL化)も考えたのですが、これは最後の手段にしたい。4の別ブログ化はMT4i の絡みもあるので却下。とりあえず手っ取り早い方法ということで、以前から検討していた FeedBurner への移行を実施することにしました。

移行の方法は、Ogawa さんによる次の記事を参考にさせていただきました。

Ogawa::Memoranda: FeedBurnerに移行した件について。

一応 Redirect も設定しておきましたが、RSSリーダーなどで購読されている方は下記のURLに変更してください。お手数ですが、よろしくお願い致します。

http://feeds.feedburner.com/mayoi

MT4i

カテゴリーアーカイブへの「あいのり」

以前「MT4i相互乗り入れ実験」の記事で、「カテゴリーアーカイブなんかもやろうと思えばできると思いますが」などと書いてしまってうっかりほったらかしていたのですが、標準機能ではカテゴリーアーカイブからMT4i(のカテゴリー絞込み一覧)へ「あいのり」させることはできません。

MT4i の「あいのり機能」自体は <link …>タグで指定されたページへ飛ぶだけなので「ま、できるだろう」くらいの気持ちで書いたのですが、いざやってみると落とし穴があります。

どういうことかというと、MT4iでカテゴリー選択状態の一覧を表示するためには、cat パラメータで「カテゴリーID」を渡してやる必要があるんですが、MovableType側にカテゴリーアーカイブテンプレートでカテゴリーIDを出力するタグがないんですね。

<$MTCategoryID$>というタグがあるんですが、カテゴリーアーカイブテンプレート内であっても<MTCategory>コンテナタグの中で使用しないとエラーになるのでそのままでは利用できません。

<MTCategory>と同等の<MTEntryCategories>の中で

<MTEntries lastn=”1″>
 <MTEntryCategories>
  <$MTCategoryID$>
 </MTEntryCategories>
</MTEntries>

などとする方法もありますが、これだとカテゴリーアーカイブの先頭エントリが複数カテゴリーを持っている場合、IDを全て列挙してしまうのでうまくありません。glue=’&’とかで無理やりやっつけようと思っても、一番最初にプライマリカテゴリーのIDがリスティングされるわけではないので、簡単に対処はできません。

だとすると<$MTArchiveTitle$>でカテゴリー名を出せるので、MT4i側をいじってカテゴリー名で絞り込めるようにするという方法もなくはないですが、そんなことしたくないわけです。

ということはプラグインをこしらえてカテゴリーIDを出力できるようなタグを追加するしかないわけなんですが、Plugin Directory を探したら MTCategoryOfArchive というプラグインが見つかりました。これを使えばなんとかできそうです。

というわけで、カテゴリーアーカイブテンプレートへの<link …>タグの追加方法に関する説明を、Wiki に追記しておきました。

MT4i

MT4i 2.0正式版が公開開始

talk to oneself2 の太鉄さんが、MT4i Ver2.0の正式版を公開されました。

これでTonkeyさん改変版で実装されていた「記事管理機能」が、正式に本家MT4iへ採用された形になります。

太鉄さんが記事中で「ようやく」と書かれていますが、2.0β1が公開されたのが2004年9月のことですから約半年。βが取れるのを心待ちにしていた方々にとっては長かったかもしれません。でも僕はβだろうがなんだろうがバリバリ使わせていただいちゃってるので、あまり「ようやく」という感じはしないんですよね。(^^;

【関連リンク】

MT4i t2o2-Wiki
MT4i 2.0 t2o2-Wiki

ちなみに僕の改変した「あいのり機能」も、若干変更されて採用されています。

MovableType Site Information

ドメイン変更(その2)

折角PHPにしているので、旧URLでのアクセスがあった場合にはスクリプトで新URLへ301リダイレクトするようにしました。
read more »