オートリンクの正規表現は、32KB 以上になると正常に処理できなくなります。これはPHPの制限*1によります。このことは、ページ数が増加しオートリンクの正規表現が肥大化した時にオートリンクが機能しなくなることを意味しています。(現状のPukiWikiの実装だとページのパラグラフ部分が表示されなくなります。)
そこで、PukiWikiMod では、32KB以上になった時に正規表現を分割して処理する方法をとっていましたが、その分割の処理が甘く、一つの階層以下に多量のページがある場合に、上手く分割できていませんでした。xpWiki では、もう少しつっこんで、どのような場合にも正常に分割できるようにロジックを考えてみました。
また、分割された正規表現に対応するために、オートリンクの方式を、パラグラフ単位の処理からページ一括処理に変更しましたので、オートリンクの適用範囲が微妙に増えています。
さらに、せっかく階層を意識して修正したので、上層階層を省略してもオートリンクされるオプションをpukiwiki.ini.php に追加しました。
1 2 3 | |
上記の部分です。オートリンクが有効の場合に有効になります。設定値はオートリンクと同じくバイト数です。
詳しく説明すると、この開発日記は xpWiki開発日記 の階層下に日付をページ名として書かれています。このページまたは親の xpWiki開発日記 にて、2007年5月15日の日記にオートリンクしたい場合は、 2007-05-15 とすればオートリンクされます。 xpWiki開発日記/2007-05-15 とフルネームを書かなくてもOKです。
-- 通りすがりさん
爺の頭では、xpWikiのフル機能を引き出すための作業に頭が付いていかなくなってきました。いっそ、設置作業の有料化を -- nonn50| ぺージ情報 | |
|---|---|
| ぺージ名 : | xpWiki開発日記/2007-05-20 |
| ページ別名 : | 未設定 |
| ページオーナー : | nao-pon |
| 閲覧可 | |
| グループ : | すべての訪問者 |
| ユーザー : | すべての訪問者 |
| 編集可 | |
| グループ : | すべての訪問者 |
| ユーザー : | すべての訪問者 |