PukiWiki のページ一覧をインクリメンタル表示
PukiWiki では、標準の list プラグインでページ一覧を表示することができる(サンプル)。 でも、ページ数が数千まで増えてくると、ページ一覧の表示にもそれなりの負荷がかかるようになってしまう。
そこで、利用者にページの一部を入力してもらい、それにマッチするページの一覧だけを表示するようにしてみた。 動作には prototype.js が必要。
- サンプル: ページ一覧
- ソース一式
- plugin/lightlist.inc.php … JavaScript を呼び出す PukiWiki のプラグイン
- lightlist.js … ページ一覧の検索、結果出力を担当する JavaScript
- lightlist.cgi … 検索条件から PukiWiki ページの検索結果(ページ一覧)を返す CGI (Ruby スクリプト)
PukiWiki を設置したディレクトリにこれらのファイルを置くことで、簡易版ページ一覧機能が利用できる。 (http://example.com/?cmd=lightlist にアクセスする)
ソースは特に難しいことをやっていないはず。 一度取得した結果はキャッシュし、キャッシュがあればサーバに問い合わせないようにしている。