サーバインストール型のブログツールと言えばWordPress、Movable Type等がメジャーですが、よりCoolで新しいHabariというブログツールがあります。
既存のブログツールから乗り換えてでもHabariを使うべき10の理由を紹介します。
予定より1ヶ月ほど遅れましたが本日14時頃にHabari 0.5がリリースされました :D
今年2月に公開された0.4から5ヶ月ぶりのメジャーアップデートです。
0.5での主な変更点は以下のとおりです。
Habari 0.5での日本語の対応状況についてですが、デフォルトで日本語の言語ファイルが含まれていますので管理インタフェースのオプションからLocaleをjaに設定するだけで日本語に切り替える事が出来ます。
しかし、まだ英語テキストがハードコーディングされている部分があるため、未翻訳のテキストが残っています。
また、UTF-8以外の多言語トラックバック問題に関してもコードフリーズに間に合わなかったため、これらの問題は0.5以降で修正されていくことになります。
Habariはデフォルトで文字コードがUTF-8に設定されているので問題なくUTF-8なBlogからのPingbackを受信することが出来ます。
しかし、古いバージョンのWordPress ME等は文字コードにEUC-JPを使用しているため、これらのブログからのPingback文字化けしてしまいます。
そこでPingback受信時に送信元ブログの文字コードを取得してUTF-8以外であれば文字コードを変換するパッチを書いてみました。
パッチを適用するには下記のパッチをダウンロード後、Habariのルートディレクトリでpatch -p0 < pingback.plugin.php.r1747.mbconv.diff してください。
HabariProjectにもこのパッチを送ってあるのですが、現在はVer 0.5にむけてリポジトリがFeature Freezeにはいっているためすぐにcommitしてもらうのは難しそうです。
pingback.plugin.php.r1747.mbconv.diff
--- system/plugins/pingback/pingback.plugin.php.orig 2008-05-23 05:49:42.000000000 +0900
+++ system/plugins/pingback/pingback.plugin.php 2008-05-23 06:15:36.000000000 +0900
@@ -150,6 +150,16 @@
}
$source_contents= $rr->get_response_body();
+ // for Multi-byte
+ if ( function_exists ( 'mb_convert_encoding' ) ) {
+ // TODO: $habari_encoding= Options::get('encoding');
+ $habari_encoding= 'UTF-8';
+
+ if ( preg_match( "/]+charset=([A-Za-z0-9\-\_]+)/i", $source_contents, $matches ) !== false && strtolower( $habari_encoding ) != strtolower( $matches[1] ) ) {
+ $source_contents= mb_convert_encoding( $source_contents, $habari_encoding, $matches[1] );
+ }
+ }
+
// Find the page's title
preg_match( '/(.*)<\/title>/is', $source_contents, $matches );
$source_title= $matches[1];