pukiwikiの一覧で大文字小文字を区別しない方法

日々のいろんな情報を整理するのに、いろんなツール、サービスが利用できるが、私にはwikiが一番便利である。どこからでもアクセスできるし、いつでも編集できる。ちなみにpukiwikiを愛用している。

典型的な使い方はこうだ。何かを始める時、wikiでページを作り、firefoxで情報を検索、使えそうなリンクをMakeLinkでwikiにリンクを貼り付ける。次に、リンク先のページを読み、使えそうな情報をwikiに書きこんでいく。

私は技術的な内容で公開してもいいwikiと仕事上の内容で公開していいwikiを使っていて、あと割と最近、個人用の非公開のwikiを作った。非公開のものは何でも書けてしまうので本当に便利である。非公開のものはアクセスできるドメインを職場と自宅のネットワークに限定し、それ以外からはパスワードを要求するようにしている。

そんなに気に入っているwikiだが1つ困った事がある。pukiwikiには、ページの一覧を参照する機能があり、ページ名の最初の一文字で分類されてページが表示される。ページ名が日本語のものは、日本語という1つのグループで表示される。まぁそれは仕方ないし実用上問題もないのだが、英字の最初の一文字が大文字と小文字で区別されてしまうのだ。

wikiを長く使っていてよくあるのが、よく似た名前のページをいくつも作ってしまうこと。内容も似ていたりする。そこで、こんな名前のページ作ったっけ?と一覧をみることが多いのだが、ページ名を大文字で始めたか小文字で始めたかなんて覚えている必要がないので、例えばFTDIというページを探すのであれば’F’と’f’の両方をチェックする必要がある。これが場所も離れていて面倒なのである。

前置きが長くなったがこれを解消するパッチを紹介する。要は大文字小文字変換関数を挿入するだけなのだが、挿入すべき場所を探すのに苦労した。共用の関数の動作を変えているが、他の場所に支障は出ていないので大丈夫だと思われる。

pukiwikiの lib/func.phpファイルを修正している。PukiWiki 1.4.7で確認した。


 *** 381,387 ****
           $head = $other;
         }
       } else {
 !       $head = (preg_match('/^([A-Za-z])/', $page, $matches)) ? $matches[1] :
           (preg_match('/^([ -~])/', $page, $matches) ? $symbol : $other);
       }
   
 --- 381,387 ----
           $head = $other;
         }
       } else {
 !       $head = (preg_match('/^([A-Za-z])/', $page, $matches)) ? strtoupper($matches[1]) :
           (preg_match('/^([ -~])/', $page, $matches) ? $symbol : $other);
       }

簡単でしょ?

Comment

  1. Leo より:

    Thank you !!

  2. Cacooとpukiwikiと右寄せと | うだうだブログtest より:

    […] Cacooというオンラインで図が描けるサービスがある。大変便利なので月々480円の有料プランで利用している。 簡単に見栄えが良い図が描けたり、オンラインなので職場からでも自宅からでも同じようにアクセスできたりする点も素晴らしいのだが、一番気に入っているのはwikiとの相性の良さだ。 前に一度書いたことだが、いろんな情報の整理や開発目もなどにpukiwikiを愛用している。pukiwikiには画像ファイルも配置することができるが、その画像ファイルの作成にCacooが最適なのだ。 […]

  3. […] pukiwikiの一覧で大文字小文字を区別しない方法 に Leo より […]

Leave a Reply

メールアドレスが公開されることはありません。