BLOG

Go to top


Nukamiso が提供するその他の機能

December 19, 2013 9:02 AM

この記事は、「Movable Type の SQL を見てみませんか」の続きです。プラグインは こちらからダウンロードできます

ぬかみそプラグインです。僕自身が開発業務の人間なのでややそっち寄りな機能が多いですが、制作を行う人に有用な機能もたくさんあります。入れといて損はないプラグインですが、いらない機能とかあったらGitHub から Fork して自分好みにいじってください。

ネーミングは某氏が以前公開しておられた nukamiso.css へのリスペクトです。日々足したり引いたりして整えているものに与える名前としてとてもいいなと思って倣いました。いくつかの機能はリリースされたばかりの PowerCMS 4 にも盛り込まれています。Movable Type 5 でも 6 でも動作します。

各ウィジェトの非表示化

  • ユーザー情報(Movable Type 6) / This is You(Movable Type 5)
  • Blog Stats(Movable Type 5)
  • ニュース
  • ウェブサイトとブログ
  • 最近評価された記事
  • 最近の投稿
  • 評価の高い記事
  • サイト情報

本当に必要なウィジェットってあまりないですよね。ダッシュボードが重くなる原因になるので非表示にします。「ウェブサイトとブログ」はあってもいいかなあとも思うのですが、過去にこれがボトルネックになっていたことがあったので、僕は使わないようにしています。

「表示オプション」のスタイル

複数の画面で右上に表示される「表示オプション」ですが、このボタンのために管理画面上部が冗長な印象になります。これを右上に固定し、ボタンを押した時に表示されるメニューのスタイルも整えます。

表示オプションのスタイル表示オプションのスタイル

インデックステンプレートに「ファイルの内容」を表示

.htaccess をインデックステンプレートで出力する場合とか、「公開されたテンプレートを確認」しても見えないですよね。せっかくうまくまとまった管理画面があるのに FTP しないといけないんじゃ不便なので、編集画面から見えるようにします。

ファイルの内容を表示ファイルの内容を表示

テンプレート編集画面の「タグリファレンス」ウィジェットを無効化

テンプレートの内容を Javascript でパースして、画面右側にタグのリストとリファレンスへのリンクを表示する機能ですが、特段役には立たないですよね。ブラウザのリソース使ってまでやる必要ないと思うので、これが行われないようにします。

システムログを見やすく

Listing Framework が導入されてから、システムログが正確な時系列に並ばないケースがたまに出てくるようになってしまったので、ID 順で並ぶようにします。

また、システムログについては以下のような補助機能があります。

  • 文字数の多いログを保存しようとした場合、metadata に保存するようになります。metadata っていうのは、ログメッセージにリンクがついてて、クリックすると出てくるアレです。
  • さらに、metadata の内容をスタイル調整して見やすくします。MT->log( Dumper $app ); とかすると効果の程がわかります。
  • 画面右上「ヘルプ」の横にシステムログへのリンクを追加します。いつでもシステムログを表示できます。

システムログのスタイルシステムログのスタイル

システムログのリンクシステムログのリンク

ポップアップ・ログ

ある画面を表示した場合にログが発生していた場合、画面右上にそのログを表示します。エラーログの見落としを防ぐこともできますし、デバッグログを仕込んでいる場合はいちいちシステムログを表示する必要がなくなります。

ポップアップ・ログは draggable なので、画面中の任意の場所に移動させることができます。

ポップアップ・ログポップアップ・ログ

テンプレートタグ

ファンクションタグ <$MTDump$> が使えます。その時点でのテンプレート変数を <pre> タグで囲んで出力します。デバッグモードにして管理画面に入れてみるといろんな情報があって面白いですね。

モディファイア stash="1", all="1" を付ければ、より広い範囲で、コンテキストを含めた情報を出力します。

デバッグ用関数

Nukamiso::Util の dumper, debug, debug_query を使うことができます。dumper はいわゆる Data::Dumper::Dumper ですが、引数の数や形式を見てほどよく(※ 個人差あります)振る舞います。スカラーでも配列でもハッシュでもいいし、リファレンスでなくてもかまいません。UTF-8 フラグ付きのマルチバイト文字が含まれていて、エスケープされるケースでも、視認できる形に戻してくれます。debug はそれをシステムログに出力します。

debug_query はパラメータを全部つないでシステムログに出力します。POST パラメータをちゃんとチェックしたい場合に使えます。


use Nukamiso::Util qw( dumper debug debug_query );

sub _mt_app_cms_pre_run {
  debug( $app );
}

僕は、PowerCMS という Movable Type プラグイン製品の開発とメンテンスおよび、案件やサポートから発生するカスタマイズ業務に携わっています。ver.1.0 からなので、もう 7 年近くになるでしょうか。いわば、プラグインを仕事にすることの酸いも甘いも、現役で身を持って味わっているエンジニアです。そんな僕のぬかみそ、GitHub に置いてあります。Fork とかして皆さんのぬかみそ作ってください。

Comments


Contact me

Copyright © 2005 - 2022 okayama All rights reserved.