at posts/single.html

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 にアクセスする)

ソースは特に難しいことをやっていないはず。 一度取得した結果はキャッシュし、キャッシュがあればサーバに問い合わせないようにしている。

関連する日記