&pages (ToraToraWikiManual/ja/Wiki/Function/pages)
概要
&pages([[ページ名]], show=表示形式, limit=件数, each=件数, name=ページ名, type=種別, tag=タグ, sort=順序, reverse, children, withsystem, fields=項目名1 項目名2 ..., header=項目名1 項目名2 ..., footer=項目名1 項目名2 ..., showhidden, 表示条件..., 表示順序...);
指定されたページの子ページを一覧表示します.条件や表示方法を詳細に設定できます. また子ページの内容から項目を抜き出すこともできます.
パラメータ
- [[ページ名]]
- 指定したページの子ページを一覧表示します.省略した場合は現在のページの子ページが一覧表示されます. すべてのページを対象としたい場合は[[]]と書きます.
- show=表示形式
表示する形式を指定します.以下の指定ができます.
- show=list
- 箇条書きでページを列挙します.デフォルトで指定されています.
- show=tree
- 子ページを入れ子にしたツリー状の箇条書きでページを列挙します.
- show=table
- 表でページ一覧を表示します.fieldsパラメータで表示したい項目を指定します.
- show=contents
- ページ名だけでなくページの内容も表示します.
- limit=件数
- 指定した件数のみ表示します.
- each=件数
- 一度に指定した件数だけ表示します.超えた分は次のページに表示されるようになります.
- name=ページ名
- 上記の[[ページ名]]で指定したページの子ページのうち, さらにここで指定したページ名のページだけを表示します. *や?などのワイルドカードが使用できます. name=!ページ名 のように書くとこのページ名以外のページを表示します. name=ページ名1 ページ名2 ...のように複数書くといずれか(or)の条件になります. name=ページ名1, name=ページ名2, name=..のように書くとすべてのページ名にマッチする(and)条件になります.
- type=種別
- 指定した種別のページのみを表示します. type=wikiやtype=fileのように指定します. *や?などのワイルドカードが使用できます. type=!種別 のように書くとその種別を持たないページを表示します. type=種別1 種別2 ...のように複数書くといずれか(or)の条件になります.
- tag=タグ
- 指定したタグを持つページを表示します. *や?などのワイルドカードも使用できます. tag=!タグ1 のように書くとタグ1を持たないページを表示します. tag=タグ1 タグ2 ...のように複数書くといずれか(or)の条件になります. tag=タグ1, tag=タグ2, tag=..のように書くとすべてのタグを持つ(and)条件になります.
- sort=順序
- sort=mtimeの場合更新日時の順に, sort=btimeの場合作成日時の順に, sort=sizeの場合ページの容量の順に並び替えをします. 指定がない場合はページ名の順に表示されます.
- reverse
- 逆順に表示します.
- children
- 直接の子ページのみを表示します.すなわち孫ページは表示されません.
- withsystem
- マニュアルページ等のシステムで使用するページも表示します.
- fields=項目名1 項目名2 ...
表示する項目名を空白で区切って指定します.項目名には以下の指定ができます.
- pagename
- ページ名
- basename
- 省略されたページ名
- relname
- 指定したページから見た相対ページ名
- title
- ページのタイトル.タイトルがない場合はbasenameとみなされます.
- title-pagename
- ページのタイトル.タイトルがない場合はpagenameとみなされます.
- title-relname
- ページのタイトル.タイトルがない場合はrelnameとみなされます.
- tags
- ページのタグ
- mtime
- ページの更新日時
- mdate
- ページの更新日
- btime
- ページの作成日時
- bdate
- ページの作成日
- editor
- 最終更新者
- creator
- 作成者
- edit
- 編集ボタン
- delete
- 削除ボタン
- テンプレートで抽出した項目名
- テンプレート(後述)で抽出した項目名
- _ (アンダーバーのみ)
- テンプレートで抽出した項目のうち指定していない残りの項目
以下のように項目名を[[と]]で囲むことによってその項目をリンクにすることができます.
[[項目名]]
以下のように書くことで指定した項目の説明を指定できます.説明は表の列の見出し等に使用されます.
項目名@説明
- header=項目名1 項目名2 ...
- show=contentsを指定した際に,各ページの内容の前に表示する項目を指定します. 指定方法はfieldsパラメータと同様です.
- footer=項目名1 項目名2 ...
- show=contentsを指定した際に,各ページの内容の後に表示する項目を指定します. 指定方法はfieldsパラメータと同様です.
- showhidden
- 非表示のページ(後述)も一覧に表示するためのリンクを表示します. デフォルトで指定されています.無効にする場合は!showhiddenと指定します.
- 項目名:項目の値|背景色
- 一覧表示の際に指定した項目が指定した項目の値のときに,指定した背景色で表示します(show=table時のみ有効). 背景色は&colorで使用できるものと同等です. 背景色の代わりにnoneと指定すると,その項目を非表示にできます. このパラメータは複数指定することができますが,先に書いた順に比較がされ, 最初に一致したものを背景色として使用します. :の代わりに:>や:<と書くと一致ではなく大小の比較を条件にできます.
- 項目名;項目の値|背景色
- 上記と同様ですが,数値として比較を行います.
- 項目名#表示順序
- 一覧表示を指定した項目で並び替えます.表示順序には昇順の場合はasc,降順の場合はdescと書きます. asc, descの他にも半角/(スラッシュ)で区切った項目の値を列挙することで列挙の順に並び替えます. 複数指定された場合は先に書いたものから優先して並び替えを行います.
対象
対象は基本的には不要ですが,テンプレートを書くこともできます. テンプレートを書くことで一覧表示の際に表示したい項目を子ページの内容から取ってくることができます. 子ページが同じ(または似たような)形式で書かれている場合に便利です.
テンプレートには基本的には子ページの内容(種別wikiの場合はソースの内容)をそのまま書きます. テンプレートの中でそれぞれの子ページで内容が異なっている部分を,
@項目名@
のように好きな項目名を付け,記号@で囲んで書くと,それぞれの子ページの該当部分を項目として抽出し, fields, header, footerパラメータで使用できるようになります.
テンプレート書き方は&newpageや&writepageのものと同様です. これらと&pagesを組み合わせれば,好きな形式のページを作成,一覧表示ができます.
テンプレートに$LAST$と指定すると直前に使用したテンプレートを使用することができます.
例
- ソース
*最近の更新3件 &pages([[]], sort=mtime, limit=3); *兄弟ページ一覧(容量順) &pages([[..]], show=table, fields=[[basename]] size@容量 type, sort=size, withsystem, limit=5);
- 表示
最近の更新3件
兄弟ページ一覧(容量順)
ページ名 容量 種別 pages 8927 wiki newpage 3669 wiki writepage 3192 wiki calendar 3114 wiki inserttemplate 3084 wiki
高度な例
&pages( 状態:保留|yellow, 状態:着手|#aaf, 状態:完了|none, //状態が完了のタスクは表示しない, 状態#提案/保留/着手/完了, //状態が提案, 保留, 着手, 完了の順番で並び替え, 優先度#高/中/低, //状態が同じ場合は優先度で並び替え, 更新日時#desc, //さらに優先度が同じ場合は更新日時で並び替え, ) { &title @タイトル=&insert(once) ここにタイトル@ :カテゴリ|&select(`本体機能/プラグイン/デザイン`)@カテゴリ@ :状態 |&select(`提案/保留/着手/完了`)@状態@ :優先度 |&select(`高/中/低`)@優先度@ :期限 |@期限=&insert(once)@ :投稿者 |@投稿者=$user$@ }