目次

Dirプラグイン

指定した名前空間に入っているページの一覧を作り、Pagelistプラグインで整形するプラグイン。

PageindexやIndexmenuプラグインなどと同じ、一覧表示系。表示階層数の細かい指定が出来ずJavaScriptを利用した折りたたみ式メニューも作れない代わり、除外や並べ替え指定は細かく出来る。

文法

備忘録的に書いておくけど、文法が少しややこしいし動作も微妙です。「特定ページを除外しつつ、一覧表示を細かく制御したい」といった明確な目的がなければ、同じ一覧表示系プラグインのIndexmenuプラグインを推奨します。

  ~~DIR[[:<namespace>][?<flags>]]~~
<namespace> 複数指定する場合はセミコロンで区切る
. 現在の名前空間
.. 上位名前空間
subnamespace 下位名前空間. .:subnamespaceと同じ
..:sibling 階層レベルが同じ名前空間
:: ルート名前空間
<flags> 以下を好きな順番で指定出来る。書式は下記参照
cols セミコロンで区切ったカラム名。 下記の”利用可能なカラム名”参照
hdrs セミコロンで区切ったカラムの見出し名
skip セミコロンで区切った名前空間かページ名。指定したものは表示しない。 \\名前空間は末尾をコロンにする
tag セミコロンで区切ったタグ名。指定したタグを全て含むページだけ表示する。
「!」を頭につけたタグを含むページは表示しない
sort ソート可能なカラム名をセミコロンで区切って指定。下記の”利用可能なカラム名”参照。
-ascending (標準) または -descending して昇順降順を決める。 -a-d も同じ動作になる
widedesc 概要表示を広くする? FIXME
noheader 見出しを表示しない? FIXME
table 見た目をPagelistプラグインのテーブル風にする
list 見た目をPagelistプラグインのリスト風にする
nodefaulttitle このフラグまたは ndt をつけると、見出しの代わりにページ名を表示する
名前空間やフラグが複数ある場合、間に「?」マークをつけるのを忘れない事
利用可能
カラム名
解説並べ替え可能か?
page ページリンク表示
desc ページ概要(”widedesc”も参照)
description (上に同じ)
user 編集者のフルネーム
userid 編集者のログイン名
date mdate参照
mdate 更新日
cdate 作成日
comments Discussionプラグインのコメント数
tags ページのtag

現在の名前空間内やそれ以下にある全ページをテーブル形式で一覧表示:

  ~~DIR~~

「?」マークをつける事で、テーブルを複数カラムに出来る。指定した名前空間は飛ばす:

  ~~DIR?cols=page;user~~

テーブルの見出しは自由につけられる。

  ~~DIR?cols=page;user;comments&hdrs=リンク;ユーザ名;コメント数~~

FIXME To display a wide description of the page, below each page row, you can use the &widedesc option:

  ~~DIR?cols=page;user;comments&hdrs=Whatever;User;# Comments&widedesc~~

「archive」という名前の下位名前空間を飛ばす:

  ~~DIR?skip=archive~~

名前空間のスタート地点をルートに指定した場合、名前空間に対するskipオプションが無効になった。

「important」というタグが付いているページだけ収集:

  ~~DIR?tag=important~~

“concept”というタグを含むページは飛ばす: (現状では、”tag”カラムを表示する時のみ有効。~~DIR?cols=page;tags&tag=!concept~~みたいな感じ)

  ~~DIR?tag=!concept~~

「book」「ebook」タグがついてるけど「fiction」タグはついてないページのみ表示:

  ~~DIR?tag=book;ebook;!fiction~~

ユーザ名+作成日降順で並べ替え:

  ~~DIR?cols=page;user&sort=userid;cdate-d~~

“x”という名前の副名前空間のページを表示:

  ~~DIR:.:x:~~

同じレベルの階層にある名前空間のページを表示:

  ~~DIR:..:y:~~

同じレベルの階層にある名前空間のページを、タイトルとユーザ名つきで表示:

  ~~DIR:..:y:?cols=page;user&hdrs=Page Title;User ID~~

既知の問題

名前空間でskipが使えないことがある

「:」をつけるつけないに関係なく、skipオプションが名前空間を認識出来ない事がある。

スタートページはstartのみ

名前空間へのリンクは標準のスタートページ(start)のみ認識出来る。insideやsameは認識出来ない。(参考→スタートページ優先順位

階層構造を保持して表示する

名前空間-ページの上下関係を維持し、必ず階層構造表現で表示する。

表示件数の指定が出来ない

といった事は出来るが、日付や表示件数で絞り込むフラグがない。

よって、「最新の20件を表示」とか「4月1日~4月15日に作成したページを表示」といった事は出来ない。

最近更新したページを一覧表示したい場合はEditorプラグイン、特定の月に書いたページを一覧表示したい場合はBlogプラグインを使う。