« ボリューム調節について | メイン | MovableType用BMQuote Plugin Ver.0.51 »

MovableType用BMQuote Plugin Ver.0.50

Movable Typeのアップデートは、実はそんなに難しくないし手間もかかりません。
しかし、時々めんどくさいという声を聞きます。ソースコードを修正しているので、それを新しいバージョンに適用するのが大変、という人が多いみたいです。
本当は、ソースコードには手を入れずにプラグインでカスタマイズするのが一番なのですが……。

そこで、今回「BMQuoteプラグイン」というものを作ってみました。
これは、Movable Typeのクイック投稿機能を使ったときの引用文のフォーマットをソースコードを修正することなく変更するプラグインです。
今まで、lib/MT/App/CMS.pmの

$param{text} = sprintf qq(<a title="%s" href="%s">%s</a>\n\n%s),

この部分を

$param{text} = sprintf qq(<blockquote><div class="quotetitle"><a title="%s" href="%s" target="_blank">%s</a></div>\n\n%s\n\n</blockquote>),

こんな感じに書き換えるカスタマイズを行っている方も多いと思います。
ただ、この方法で書き換えてしまうと、前述の通り、バージョンアップ時にまたこの修正をしなければいけません。
しかし、このプラグインを使えば、この作業は(元のフォーマットが変わらない限り)不要になります。

ぜひ、お試しください。

ドキュメント:BMQuoteプラグイン ドキュメント
ダウンロード:zip形式tar.gz形式

※引用文の書式に関しては、永井俊哉さんのXHTMLでの引用方法を参考にさせていただきました。

Movable Type3.3から新機能として、Transformerプラグインが開発出来るようになりました。
このタイプのプラグインを使うと、管理画面のカスタマイズなどを行うことが出来るようになります。
BMQuoteプラグインでは、この機能を使ってみました。

MT->add_callback('MT::App::CMS::AppTemplateOutput.bm_entry', 9, $plugin, \&transformer);

ここで、bm_entryテンプレートの出力時にコールバックを受け、すでに整形済みの引用文を一度分割しなおして、タイトル、URL、選択文字列などの各要素を抽出して、それを再整形しています。

お問い合わせ

エムロジック株式会社ではMovable Typeによるサイト構築やプラグイン開発、iPhone・Windows等のアプリケーション開発業務を行っています。
お問い合わせはこちらまで。

コメント (2)

(o) :

下のように変更すると、プラグインの設定画面からユーザが任意の引用フォーマットを指定できるようになりますね。

http://as-is.net/tmp/MTBMQuote-custom.diff

せきね :

(o)さん、ありがとうございます。
実は、こっそり、そういうバージョンも作っていたのでした(笑)
やはり、自分でカスタマイズできた方が良いですよね。
このdiffはこれからプラグインを作成しようという人にもとっても参考になるものだと思います。

コメントを投稿