pukiwikiプラグイン/aliaslist
表記、そんな感じのものを作ったので、一応公開しておきます。
プラグイン概要 †
拙作 aliasプラグイン に対する、管理用プラグインです。
aliasプラグインはその仕組み上、一度別名ページに記述してしまうと、そのページを編集するには一手間必要になります:普通のページのように「そのページを表示→メニューの編集ボタン」という操作が行えないため。
また、alias プラグインでは「反復・ループ」のような別名付けを避けるための手段として、aliasしているページ名を管理しているため、上記のような「普通の編集」ではまずいケースがあります。
このプラグインは、そういったことに対するものです。
インストール方法 †
- 前提:このプラグインはaliasプラグインを前提にしています。
まずそちらをインストールしてください。 - 本ページに添付されている下記ファイルをダウンロードし、pukiwiki の pluginフォルダに「aliaslist.inc.php」の名前で保存してください。
- pukiwiki 1.4.x 系:
aliaslist.inc.php
- pukiwiki 1.5.x 系:
aliaslist.inc.php_1.1
使い方 †
任意のページに以下のように記載してください。
#aliaslist
これによって以下のような表が表示されます。
List of [alias]ed page.
page | time |
pukiwikiプラグイン:regiongroup | 2017/02/28 22:32 |
pukiwikiプラグイン | 2017/02/28 22:13 |
- 各行は、当該サイトにおいて使われている「全alias」のリストです。
- page 部分は、具体的な「別名」のページ名です。
これはクリッカブルになっており、クリックすることで(#aliasが記載されている)当該ページの編集画面に移行します。
プラグインファイル内の設定と動作の変化 †
READ制限されているページのみでの動作 †
'PLUGIN_ALIASLIST_NEED_PERMITION' を '1' に設定することで、aliaslistプラグインが動作するページを『(pukiwiki.ini の$read_auth_pagesで指定されている)読み取り制限付』のページに限定できます。
この状態で上記に当てはまらない(誰でも参照できる)ページにaliaslist プラグインを記載しても、リスト表示はなされません。
どのようなページが alias されているかを公開したくない場合に、設定してください。
技術的な話。 †
基本的な仕組み †
aliasプラグインでは、aliasディレクトリにある「aliasしたページ名を持つ管理用ファイル」を作成しています。aliaslistはこれを元にリストを生成しています。
aliaslist からの「編集」操作は、簡単にいうと「aliaslist の actionで、上記管理ファイルを削除」→「以降 edit プラグインに丸投げ」という動作をしています。
これにより、編集で alias が解除されることに対応します。
もし alias を削除しなければ、aliasプラグイン側が勝手に再度管理用ファイルを作成することになります。
コメント †
ご意見などがあれば。