この記事の概要
前回のバージョンからそろそろ一年が過ぎようとしていました・・。
今まで報告を頂いたもろもろのバグフィックスと、少々の改良を取り込んで、Ver0.31としてまとめてみました。
アイテムのタイトル(または投稿オプションの入力フィールド)を元に、関連情報をローカル内やGoogleなどから拾ってくるプラグインです。
Download: NP_Related Ver0.31
[Nucleus2.5以降対応 文字コード:UTF-8/EUC-JP/ISO-8859-1]
このバージョンでは、プラグインファイルに若干の修正を加えると英語版としても動作します(なのでバージョンナンバーから"jp"をはずしました)。
詳しくは下記「英語版として動作させる (How To: change to English version)」を参照してください。
このプラグインについて
オリジナルは本家のプラグインwikiを参照。Radek Hulanバージョンを元に改造を続けている日本語版です。
この日本語版のテーマは、アイテムタイトルで「楽ちん自動検索」です。複数キーワード検索とフレーズ検索に対応するよう改良しています。
細かく言うと、次のような規則があります。
- スペース(半角全角とも)や括弧、句点を区切りとして、キーワードを複数認識してOR検索。キーワード数は3つまで有効
- "Ver1.2"、"-1-" 等の表現、数字のみのキーワードをローカル検索時に無視
- 引用符や括弧で囲まれた文字列をフレーズ指定とみなす
インストールについて
zipファイルを解凍してできる以下のファイル(とフォルダ)をNucleusのpluginsディレクトリにアップロードしてください。
- NP_Related.php
- nusoap.php
- de.php
- related(フォルダ:中はプラグイン用言語ファイルが3つ)
その後、「プラグイン管理」ページの選択リストから「Related」を指定し、インストールします。
アップグレード作業について
プラグインオプションの数が増えてますので、一度前のバージョンをアンインストールしてからこのバージョンをインストールしてください。アンインストール前にオプション項目のメモを取っておくといいでしょう。
プラグインオプションについて
Google検索を使いたい場合は、「Google APIキー」を取得してセットします。Amazon検索は 「Amazon APIキー」(デベロッパートークン)の取得が必要です。「AmazonアソシエイトID」があるとさらにいいでしょう。
下のほうにある「GoogleAPIへの除外ドメイン指定」を自分のドメイン名に合わせます。
表示用のテンプレートフィールドなど説明はここでは省略します。
Ver0.31から、 以下の項目が増えています。
- 検索結果がないときは見出しを表示しない
- スニペットを表示
- 検索対象(ローカル検索)※
- 今すぐキャッシュデータを削除 ←テストしたいときに便利
「今すぐキャッシュデータを削除」は、通常「いいえ」になっていて、「はい」を指定してオプションを保存すると処理が行われ、再び「いいえ」に自動的にもどります。
Andyさんによる「Tips:プラグインの国際化」を取り入れてみました。文字コード絡みのものを別ファイルに移動し、UTF-8、EUC-JP、ISO-8859-1にそれぞれ対応しています。オプション編集画面なども日本語化され見やすくなりました。
カンタン記述例
大抵はこのへんで事足ります。テンプレート(アイテムブロック)かスキン(アイテムページ)に、次のように記述してください。
<%Related(local)%>
<%Related(google)%>
<%Related(amazon)%>
<%Related(local,5)%>
<%Related(google,5,true)%>
テンプレート/スキン用パラメータの解説
パラメータは順番に、
- モード(local/google/amazon)
- 表示件数
- スニペット表示(true/false)
- スキン用キーワード指定(スキン変数のみ指定可能)
- ローカル検索条件(and/or)
です。
1は指定必須、ほかはオプションです。 数字でパラメータの位置を示すとこうなります。テンプレートはキーワード指定が無いのに注意してください。
<%Related(1,2,3,5)%> ... テンプレート
<%Related(1,2,3,4,5)%> ... スキン
詳しく指定する場合の例。
テンプレート変数(アイテム内)
<%Related(local,10,false,and)%>
スキン変数(アイテムページ・検索ページ内)
<%Related(local,10,false,,or)%>
スキン変数(その他のページ)
<%Related(local,5,false,キーワード,and)%>
<%Related(google,5,true,キーワード)%>
スキン変数で検索ページに置く場合、検索クエリをキーワードとして流用します。デフォルトではOR検索なので(Nucleus標準の検索フォームによるAND検索よりも)緩やかな条件でヒットします。
その他のページに置く場合は、スキン用キーワードを指定する必要があります。これは特定のキーワードで記事をピックアップしたいときに使います(お勧め記事など)。
フレーズ検索について
ローカル検索時、引用符で囲った文字列でフレーズ指定ができるようになりました。フレーズ内の文字列は「そのまま」キーワードとして使われます。スペースでキーワード分割されたり自動変換で文字が削除されることはありません(※)。
半角のシングルクォート、ダブルクォート、かっこ
'...' "..." (...) [...]
全角の引用符とかっこ、かぎかっこ数種類
’...’ ”...” (...) 「...」 『...』 【...】
に対応しています。 日本語だと、かぎかっこ系が使い勝手がよさそうです。
グーグルのフレーズ検索にも同時に対応したい場合は、半角のダブルクォートでフレーズ指定すると良いです。ただこちらで試した限りでは「らくちん自動検索」を通じてだとフレーズ制約が厳しくて結果が出にくいので、キーワードを手動で設定するときに半角ダブルクォートを使うほうがいいかも。
手動でキーワード指定
手動でアイテムに対してキーワード指定も出来ます。アイテム編集時のオプション画面にフォームが出るのでそこにキーワードを打ち込んでください。 このフォームにDONOTSEARCHキーワード(半角大文字)を入れると検索を明示的にキャンセルすることができます。
英語版として動作させる (How To: change to English version)
ソースコード中にあるコメント "//E" を見ながら修正をすれば、英語版としても動作します。主な変更部分はGoogleやAmazonのパラメータ指定と、文字コード変換の絡む場所です。 英語版として動作するときは、スペース区切りによる複数キーワード分割は行いません。
その他の修正・変更履歴
報告を寄せてくださった方々に感謝!
- Google webサービスの仕様変更対応(エンコード関係) - まみおさん、サクラキャンドルさん
- Googleのmoreリンクに文字コードパラメータ指定 - 真央さん
- Amazon検索時の文字コード変換 - サクラキャンドルさん
- タイトル属性に入れるスニペット文字列のタグ除去 - pushmanさん
- バージョン番号等削除用の正規表現がバギーだったので変更
- Amazon検索時に複数キーワードを全て含めることに(その分ヒット結果が甘くなった)
- Google検索時のキーワード操作をやめた
- DONOTSEARCHキーワード利用時の表示修正
- スニペットにつけていたインラインスタイルを削除
Googleの仕様変更(エンコード関係)と直接関係があるかはわかりませんが、通常のGoogle検索では出るキーワードでも、webサービス経由だと検索結果が出てこない場合がごくまれにあります。なんでだろ。
ttk:
そして、「プラグイン管理」ページの選択リストから「Related」を指定し、インストールすることはできませんでした、なぜでしょうか?
教えてください。
nucleus3.21_ja_utf8を使っています。