検索結果ハイライトプラグイン
オオカワ 2005/03/04 [MovableType]

俺の行動の半分は「勢い」で出来ています。と思います。そんな勢いを駆使して、今回も変なもん作ってみました。

20050304_highlightplugin.jpg

先日のエントリーでJavaScript+DHTMLを使ったMT検索結果キーワードハイライト表示を紹介してみたんですが、これ、DHTML使ってるもんでMacじゃウマイこといかないんですな。(つか、元々動かないし。)

それに正規表現を利用した検索もせっかくできるのに、ハイライト箇所を探すのに単純文字列比較しかしてなかったもんだから、該当キーワードが見つけられないのでイマイチ面白みなかったっつーのもあって、「せっかくだからMTのプラグイン化でもしてみっか。」と作ってみました。

とりあえずダウンロードはこちら。

Search Keyword Highlight Plugin
(Highlight.zip 1.54KB)

まず最初に注意。このプラグイン、Movable Type のバージョン2.661でしか動作確認してません。文字コードもUTF-8環境でのみ確認です。というか、ハンチングでしか確認してないので他で動くかわかりません。バージョン3以降に適用した場合にメニューに表示される概要説明とか実装してますが、カッコ付けたかっただけで動くか確認してません。ごまんなさい。

バージョン3以降で動かして動いたりなんかしたら、「動くっぽいよ。」とか教えてもらえればシアワセです。

Zipファイルを解凍してplファイルを取り出します。プラグインのインストールは他のMTプラグインと同じようにMT設置ディレクトリ直下のpluginsディレクトリにぶっこんでおいてもらえればOKです。で、それが完了したら、検索画面テンプレートにハイライトフィルタの設定を行います。検索画面テンプレートはMT設置ディレクトリ直下のsearch_templatesディレクトリ内にあるdefault.tmplってファイルです。

このファイルをエディタなどで開いて、<MTSearchResults>コンテナタグで囲まれた中にある<$MTEntryTitle$>や<$MTEntryExcerpt$>にhighlightフィルタを設定します。

例)
<$MTEntryTitle$> → <$MTEntryTitle highlight="2"$>

のような感じです。highlightフィルタを効果的に、というか、検索該当箇所がある本文を直接見えるようにしたほうがハイライトさせる意味もあると思いますので、<$MTEntryExcerpt$>でエントリー概要を表示する代わりに、<$MTEntryBody$>や<$MTEntryMore$>タグを使って本文そのものを表示させてみるのもいいかもしれません。(ってか、おすすめです。)

それと、highlightフィルタパラメータには2種類あります。

highlight="1"

1はタグ内容テキストに対してハイライト加工(ハイライトタグの追加)のみを行います。

highlight="2"

2はタグ内容テキストに元々含まれるHTMLタグを全て取り除いた上で、ハイライト加工を行います。MT標準で用意されているグローバルフィルタのremove_htmlをハイライト加工前に処理するのと同じです。(注意:highlightフィルタを利用した場合、指定タグ内で同時にremove_htmlを指定することは出来ません。remove_htmlを指定するとハイライト加工が消去されてしまいます。) とりあえずよくわかんない場合はこっちを指定しておいたほうがいいと思います。なんとなく。

上記のフィルタ設定をテンプレートに反映させたらプラグインの導入、用意が完了です。

早速検索ページから任意のキーワードで検索を試してみてくださいな。Googleキャッシュ気分満載。

(仕様制限)
・大小文字を区別した検索の場合、検索結果は指定を反映していますが、フィルタは区別無くハイライトしてしまいます。
・<MTComment>コンテナタグを利用してコメント本文にhighlightフィルタを適用する場合は、<$MTCommentBody$>タグにフィルタ設定するのではなく、<MTComment>コンテナタグのほうにhighlightフィルタを設定してください。ハイライト背景色スタイルが反映されない現象がおきます。
(sanitizesの許可タグ制限が影響してるようなのでmt.cfgのGlobalSanitizeSpec設定で回避できそうですが別にコンテナタグに設定してても不自由無いのでこれで使ってみてください。)

コメント

お久しぶりです。
オモロイなーと思ってver3.115に入れてみましたが、普通に動きました。
と、ご報告します。
ありがとう御座いますです。

トミナガ 2005/03/07 #4790

お久しぶりでーす。
v.3.115(v.3.151?)での動作確認報告、ありがとうございます。

ってか、19740308TM、そんな最先端MTにバージョンアップされてたんですねえ。
2.6使ってる人、もうさすがに少なくなってきてるなあ。

オオカワ 2005/03/07 #4791

v.3.151ですよ。失礼。
うちはHINAGATAさんを使ってるせいか、検索結果に本文概要が表示されないので、そこらへんも併せていじってみようと思うです。
2.6あたりは、スパムが酷くて止めちゃいました。

トミナガ 2005/03/07 #4793

そうそう。デフォルトのテンプレートだと結果出力が概要のみになってるので、本文と続きも出力してあげるようにするといい感じですよ。
なかなか検索結果テンプレートっていじる機会無かったと思うのでこの機会にゼヒ。
俺もバージョン3にしてみようかなあ。
なんかプラグイン作るにもバージョン3用に作ったほうがいろいろできるみたいなんですよねえー。
(今回、プラグインについて調べてみてわかった説。)

オオカワ 2005/03/08 #4806

検索結果ハイライトプラグインのご提供ありがとうございます。従来の検索結果で、googleのキャッシュ検索のようにハイライトできないかなと思っていたのでこれが実現できて嬉しいです。version3.11-jaで動作しました。

maoneko 2005/05/22 #5412

動作確認報告ありがとうございます。
何気無い思いつきで作ったプラグイン、皆さんのお役に立ててよかったです。
検索語句が本文のドコにあるか分かると、やっぱ便利ですよねえ。

オオカワ 2005/05/22 #5413

はじめまして、当サイトで貴サイトを紹介させてもらいました。
TBしたかったのですが、新規エントリーが最後まで保存再構築できず、コメントさせていただきました。
紹介内容に失礼がありましたら、コメントいただけると幸いです。
今後ともお世話になると思います。
よろしくお願い申し上げます。

m.sayama 2005/06/12 #5620

どうも。
機会があればTBもゼヒ。
紹介していただきアリガトウございまーす。
サイト構築のお役に立ててよかったでーす。
こちらこそよろしくお願いします。

オオカワ 2005/06/13 #5627

ハィライト使わせてもらいました。
3.2でもバッチリ機能してくれました!
本当ありがとうございましたー!

nao 2006/04/20 #8108

おお、お役に立ててよかったでーす。
バリバリと検索に活用してくださーい。

オオカワ 2006/04/20 #8111

3.31で正常に動作しました!
ありがたく使わせていただきますー

ryo 2006/08/21 #8785

3.33でも動きました~。ъ(`ー゜)
使わせていただきます。

名無しがーるど 2006/12/21 #9373
コメントする









名前、アドレスをクッキーに保存しますか?

名前とコメントには1文字以上の全角入力必須


トラックバック
19740308™: 検索結果ハイライトプラグイン
せっかくバイト休んだので(何か違う)、自分のMTに色々手入れしてみる。テンプレ元... (2005/03/07 19:08)
Magic White: 検索結果をハイライトにするプラグイン
(画像クリックするとひとまわり大きな画像で見れます。) おもしろいプラグイ発見... (2005/04/21 22:20)
やむやむ: 検索結果をハイライト表示してくれるプラグイン
Magic White さま 「検索結果をハイライトにするプラグイン」 を拝見し... (2005/04/22 00:27)
野良犬の塒: blog検索機能を調整
HuntingGirledCollective 検索結果ハイライトプラグインを参照して、検索画面で画面表示をハイライトにするプラグインを導入した。このプラグインはMT2.661でしか確認していないということだ... (2005/04/23 17:02)
Pega Weblog: 検索結果をハイライト表示させました。
こちらをご覧ください。これは、「ハガレン」をキーワードに指定した当サイトの検索結果画面です。 Googleのようにキーワードをハイライト表示しています。 これは... (2005/05/05 12:29)
Alchemistic-Life!??錬金術的生活??: ちょっと覚え書
ちょっと前からご覧頂いてる方にはおわかりかと思いますが、 私、結構カスタマイズ好... (2005/06/16 15:31)
Amazon Search
楽天 Search
情報を読み込んでいます...
[ RSS ]
最近聴いた曲