タグ:PukiWiki, SEの良心, PukiWiki改造計画, レスポンシブデザイン対応, スマホ対応, サイト内非同期検索, search, search2, プラグイン, フレーズ検索, スペースを含んだ文字列検索, アクセシビリティ向上, サンプル, 参照記事
2025/12/21 (日) 更新
レスポンシブ対応サイト内非同期検索プラグイン
概要
- 正式公開版です(PukiWiki1.5.3UTF-8版で動作確認済)
- PukiWiki1.5.3標準のsearch(search2)プラグインをレスポンシブデザインに対応し、次の機能を独自に拡張しています
- コンボボックス・チェックボックス・ラジオボタンをCSSでデザイン化(チェックの色をサイトカラーに変更可)
- AND検索・OR検索の切り替えをラジオボタンからコンボボックスに変更し、search2プラグインにも追加
- 検索オプション(従来の検索結果詳細表示のWiki構文)をチェックボックスとして追加し、search2プラグインにも追加(検索結果の詳細表示を従来のWiki構文の表示にするか、検索結果内容のテキスト表示とするか、検索時にチェックボックスにより切り替え可能)
- プラグインの設定により、検索オプション(Wiki構文表示)と検索結果詳細表示のデフォルト設定が可能
- シングルクォート「‘」またはダブルクォート「“」で囲むことでスペースを含んだ文字列(フレーズ)検索を可能にする仕様に拡張
- 全角スペースが検索キーワードの区切り文字にならない不具合を対処し、全半角スペース混在で検索キーワードの切り出しに対応
- 従来のプラグインをベースに開発しているので、プラグインの動作に互換性があります(既に当該プラグインを使って運用しているサイトでも、プラグインファイルその他の置き換えで導入が可能です)
- 本バージョンではPukiWiki1.5.1までのsearch2.jsを利用しない検索機能は対象外で、対応していません(search2.jsによる非同期サイト内検索はPukiWiki1.5.2以降)
- 本プラグインの導入には、次のモジュールの導入が前提となります
- 動作サンプルは本サイトや、太宰治真理教、私設松本零士博物館の各サイト左側メニュー欄を参照して下さい
- 設置と設定に関してはメインサイトの記事「サイト内検索プラグインをレスポンシブデザインに対応してみた!」を参照して下さい(過去に執筆した記事なので、プラグインの設置と基本的な設定のみ参考にして下さい)
- 本バージョンはオンラインサロン会員(PukiWiki開発基本会員以上)向けですが、オンラインストアでも販売しています
- 本アーカイブのライセンスはGPL v2(もしくは任意のv2以降のバージョン)で、ライセンスが定める諸条件の範囲において個人・法人内部で自由に利用・改変が可能ですが(改変・再配布はコピーレフト)、著作権者の不利益に該当するあらゆる行為はライセンスに関係なく禁止とします
変更履歴
- 2025/09/21 Ver1.0.0
- プラグイン設定内容変更・整理
- 正式公開(ライセンス変更)
- 2021/05/23 Ver0.3.0
- 【search2.js】全角スペースが検索キーワードの区切り文字にならない不具合を対処
- 【search2.inc.php】シングルクォート「'」またはダブルクォート「"」によるスペースを含んだ文字列(フレーズ)検索を可能にする仕様拡張対応
- 【search.inc.php】プラグインの設定で検索結果詳細表示のデフォルト設定対応
- 【search.inc.php/search2.inc.php】検索オプション(Wiki構文)をチェックボックスとして追加・ロジック実装
- 【search.inc.php/search2.inc.php】AND検索・OR検索をコンボボックスに変更
- 【search.inc.php/search2.inc.php】コンボボックス・チェックボックス・ラジオボタンCSSデザイン化
- 2020/05/14 Ver0.2.0
- 【search2.inc.php】PukiWiki1.5.3正式対応
- 2020/05/08 Ver0.1.0
search書式
ブロック型
#search[([検索開始ページ指定1]・・・[,検索開始ページ指定n])]
インライン型
使用不可
アクション型
?cmd=search[&word=検索文字列][&type=[AND|OR]][&base=検索開始ページ指定][&option=wiki_syntax][&show=detail]
PukiWikiエターナルウェア版設定ファイル
search.inc.php
// 検索テキストボックス入力キャプション(プレースホルダ)
define('PLUGIN_SEARCH_CAPTION', 'サイト内検索');
// 検索オプションチェックボックスキャプション
define('PLUGIN_SEARCH_CAPTION_WIKI_SYNTAX', 'Wiki構文');
// 検索オプションチェックボック初期値(ture:チェック/false:未チェック)
define('PLUGIN_SEARCH_OPTION_WIKI_SYNTAX', false);
// 検索結果詳細デフォルト表示(ture:詳細表示/false:詳細非表示)
define('PLUGIN_SEARCH_SHOW_DETAIL', ture);
// GETメソッドによる検索設定(true:有効/false:無効)
// ※アクション型「?plugin=search&word=キーワード」検索有効設定(true:有効)
define('PLUGIN_SEARCH_DISABLE_GET_ACCESS', true);
// 検索キーワード最大文字数
define('PLUGIN_SEARCH_MAX_LENGTH', 128);
// 検索開始ページ指定最大数(従来プラグイン互換)
define('PLUGIN_SEARCH_MAX_BASE', 16);
// 検索結果レコード制限値
define('PLUGIN_SEARCH2_RESULT_RECORD_LIMIT', 10000);
// 検索結果レコード制限初期値
define('PLUGIN_SEARCH2_RESULT_RECORD_LIMIT_START', 100);
// 非同期検索待ち時間(ミリ秒)
define('PLUGIN_SEARCH2_SEARCH_WAIT_MILLISECONDS', 1000);
// 検索結果最大件数
define('PLUGIN_SEARCH2_SEARCH_MAX_RESULTS', 1000);
ブロック型
設置例
#search
従来仕様での検索例
通常(テキスト検索結果表示)での検索例
検索結果を詳細表示にしないプラグイン設定例
検索条件(検索対象ページ)を指定した場合の検索例
参照記事

人気上位6ページ
今日の人気上位6ページ