DokuWikiのサイドバーなどで変更履歴を表示するのにChangesプラグインを使っているのですが、デフォルトではサイドバー自身やplaygroundの変更履歴も表示されてしまい、今ひとつです。
プラグインの仕様を見ると、ns
というパラメータがあり、対象とする名前空間(namespace)を指定することができることがわかります。マイナスをつければ除外したい名前空間も指定できます。
{{changes>ns = -playground,-wiki}}
これで解決すれば特に問題はなかったのですが、これだとplaygroundやwikiの名前空間はめでたく除外されるのですが、sidebarは名前空間がないのでうまく指定できません。試しに、
{{changes>ns = -playground,-wiki,-}}
とマイナスだけ指定してみてもうまくいきませんでした。
他に使えそうなパラメータもないので、改造するしかないかなと思ってソースを見始めたのですが、ありました、隠しパラメータが。
syntax.php
case 'excludedpages':
foreach(preg_split('/\s*,\s*/', $value) as $page) {
if(!empty($page)) {
resolve_pageid(getNS($ID), $page, $exists);
$data[$name][] = $page;
}
}
break;
これを使って除外対象ページを直接指定すれことで、変更履歴の対象から外すことができました。
{{changes>ns = -playground,-wiki&excludedpages = sidebar}}