多機能ページ一覧表示プラグイン。
概要 †
様々な条件で、ページをリストアップするプラグイン。独自の構文を使って柔軟な指定が可能。
使い方 †
#listing(ページ集合構文,出力方法1,出力方法2...)
ダウンロード †
- PukiWiki1.4.5にて動作確認(1.4.xでも動くでしょう)
- listing.3 以前のバージョンは他のプラグインを動かなくするのでこちらを使って下さい
- ベータ版:&ref(): File not found: "listing.4.1.zip" at page "listing";
- 出力方法の追加:title,headline,headlinea,bloglist
- 通常版:&ref(): File not found: "listing.3.zip" at page "listing";
使い方の例/どんなことができるか †
- あるページがリンクしているページ群の更新履歴
#listing(link(Page),link,recent)
- あるページがリンクしているページ群の人気順一覧
#listing(link(Page),popular,link)
- TopPage?がリンクしているページがリンクしているページ(TopPage?から2ステップでいけるページ)
#listing(link(link(TopPage)),link)
- 人気ページ10件の更新履歴
#listing(sort(all() popular desc 10),popular,link,recent)
- ページのソースまたはページ名に"wiki"と"java"を含むページの人気順
#listing(sort(search((wiki java) AND) popular),popular,link)
- AとBにリンクされていて、Cにリンクしていて、Dからはリンクされていないページ
#listing(ref(A) and ref(B) and link(C) and not(ref(D)))
ページ集合構文 †
Expression = Expression Operation Expression
Expression = List
Expression = ( Expression )
Expression = Function ( Expression )
Expression = ArgFunction ( List )
List = Expression Expression+
Operation = and,or,xor
Function = not,link,ref,ls,reg
ArgFunction = sort,search
Expression = Page
Operation †
Operationは以下の3つで、左項と右項に対して演算を行います
- and
- どちらの集合にも含まれているものを返す
- or
- どちらかの集合に含まれているものを返す
- xor
- どちらか一方だけに含まれているものを返す
Function †
Functionは括弧内のExpression(引数)の集合に対して演算を行います
- not
- 全ページからExpressionにないページを返す
- all
- 全てのページを返す
- link
- Expressionがリンクしているページを返す
- もしExpressionが複数ページの集合ならば全ての結果の論理和として返します
- ref
- Expressionにリンクしている(Expressionがリンクされている)ページを返す
- もしExpressionが複数ページの集合ならば全ての結果の論理和として返します
- ls
- Expressionの階層下にあるページを返す
- もしExpressionが複数ページの集合ならば全ての結果の論理和として返します
- reg
- 正規表現を指定して一致したページ名のページを返します
- search
- ページ名とwikiソースを検索して、一致したページを返します
- 第0引数 必須。検索語を指定。複数指定する場合は「(A B C)」のようにList形式を()で囲みます。
- 第1引数 ANDかORを指定します。(大文字で)
- sort
- ページ集合を指定方法で整列します。
- 第0引数 必須。ページ集合を指定
- 第1引数 ソートタイプ(alphabet:文字列順, popular:人気順, date:日付順, link:リンク数, ref:被リンク数, size:wikiソースのページサイズ)
- 第2引数 ソート方法(asc:昇順, desc:降順)
- 第3引数 指定数字以上の結果を切り捨てる
出力方法 †
書いた順に処理されます。
ページに関わる出力 †
ページ名を飾りつけします。書いた順に処理され、複数指定できます。
- link
- リンクをつけます
- popular
- カウンタをつけます
- date
- 最終更新の日付、時間、曜日をつけます
- time
- 最終更新時間をつけます
- diff
- 差分を表示します
- title[v.4]
- ページをh1として出力します
- headline[v.4]
- ページ名の代わりにそのページの最初に現れる見出しを上書きして出力します。全ての"ページに関する出力"よりも前に指定してください。
- headlinea[v.4.1]
- 見出しを追加して出力します
全体に関わる出力 †
以下は一番最後にしか指定できない出力方法です。一つしか指定できません。
- recent
- recentプラグインのように、日ごとに分けて表示します。オプションで以下の引数を指定できます。
- 第1引数 表示数
- 第2引数 何日前まで更新されたものを表示
- 最新の5件をリンクつきで表示する場合→#listing(expression,link,recent,5)
- include
- includeして表示します
- bloglist[v.4]
- 指定文字列までをincludeして、全文へのリンクを表示します。指定文字列は以下の文字列です。
//---- more ----
変更したい場合はソースの以下の変数を参照してください
var $smart_splitter = "//---- more ----\n";
var $label_read_more = '>>続きを読む';