lsxプラグイン の変更点

Top > lsxプラグイン
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • lsxプラグイン へ行く。

*概要 [#y5695158]
ページをリストアップするプラグイン ls.inc.php の拡張

*使い方 [#h482fea2]
 #lsx([オプション])
 #lsx(接頭辞[,オプション])

option=bool なオプションは共通して、 option, option=true, option=on でそのオプションが有効になり、option=false, option=off で無効になります。

**接頭辞およびオプションについて [#o7502e66]
***prefix=接頭辞 or 接頭辞 [#f47c5b09]

リストするページ名の接頭辞。 省略時は カレントページ+"/" が指定されたことになる。また / を指定した場合はすべてのページにマッチする。

相対指定(例えば Plugin ページにおける ./lsx.inc.php/ == Plugin/lsx.inc.php/)も可能。

備考:どのオプションにもマッチしない文字列が指定された場合、接頭辞と認識されます。明示的に指定したい場合は prefix=接頭辞 と指定してください。#ls2 互換用。

***num=数字 [#i6d3c386]
表示件数指定。正数は前からN件目、負数は後ろからN件目の意味。

num=1:10 で先頭1件目から10件目までの意味。num=-10:-1 で後ろ10件目から後ろ1件目までの意味。num=2: で先頭2件目から最後までの意味。 num=5+2 で先頭5件目から、そこから2件先まで(5,6,7)の意味。

***depth=数字 [#hedcbbbf]
下位階層指定。depth=1 が直下、depth=2 がそのまた下のイメージ。数字の指定は num と同じ書式。

***hierarchy=bool [#h31d8e77]
階層的リスト表示。デフォルトで有効。

***tree=leaf|dir [#d117f71b]
末端ページ(leaf)、またはその逆(dir)のようなものを表示する。デフォルトは単純に無効。tree=dir は DOS コマンドの tree のようなニュアンス。

備考:ようなものなので、ページ名を意識して付けていない場合効果は薄いでしょう。
***sort=name | date | reading | popular [#u764cf34]
ソートの方法。
+name - ページ名によるソート。デフォルト。
+date - 更新日付(上が最新)によるソート。hierarchy は強制的に off になる。
+reading - 「読み」によるソート。
+popular - 人気順によるソート。どの人気順を利用するかは popular オプションを使用する。

***popular=today | yesterday | recent | total [#o3fd7c2d]
sort=popular のオプション。
+today: 今日の人気
+yesterday: 昨日の人気
+recent: 最近(今日+昨日)の人気
+total: トータルでの人気

***withcount=bool [#ea4a23d4]
sort=popularのオプション。
ソートに使用したカウントを表示する
popularのソートに使用したカウントを表示する

***reverse=bool [#r39fa954]
逆順にソートする

***non_list=bool [#sd18c8f4]
pukiwiki.ini.php で定義される $non_list によるリスト排除。デフォルトで有効。

注意 この機能により、ページ名が : で始まるような(デフォルトの $non_list 設定)ページで #lsx と記述しても何も表示されません。non_list=off オプションを使用してください。

***except=正規表現 [#f8437683]
リストしないページを正規表現にて指定。prefixを取り除いたページ名で判定。

ヒント: マッチングには mbstring が利用可能な場合 mb_ereg をそうでない場合 ereg を使用します。 except=Test|sample → Test または sample を含むページを除く。

***filter=正規表現 [#yd257be8]
ページパターンをさらに正規表現で限定する。prefixを取り除いたページ名で判定。 prefix=/ (全ての意味) にしてこちらだけを使うのもあり。

ヒント: マッチングには mbstring が利用可能な場合 mb_ereg をそうでない場合 ereg を使用します。

***date=bool [#wbce81cf]
更新日付をページ名の横に表示。

***new=bool [#s6229a7a]
更新日付に対してNew!も表示。

備考:設定を再利用するため new プラグインを使用しています。

***contents=(オプション) [#za048a3c]

ページ内の見出しもリストする。

備考:内部で contentsx プラグインを使用しているので、詳しいオプションは contentsx.inc.php を参照してください。オプションを複数指定する場合は contents=(num=1,depth=1) のようにできます。
include=(オプション)

ページを include する。

備考:この場合ページリストは中止され、include だけされます。
備考:内部で includex プラグインを使用しています。詳しいオプションは includex.inc.php を参照してください。オプションを複数指定する場合は include=(num=1:10,titlestr=off) のようにできます

***linkstr=relative | pagename | basename | title | firsthead [#bce684c1]
リンク文字列を制御できます。
+relative | relname - 相対パス的文字列表示(デフォルト)。
+pagename | name | page | absolute - 絶対パス的文字列表示(ls2の動作)。
+basename | base - ページ階層化機能でのベース名部分、例:Note/Plugin/lsx.inc.php -> lsx.inc.php。
+title - 各ページの TITLE: 行で指定された文字列。
+firsthead | headline - 各ページの第一見出しで指定された文字列

備考:title と headline は contentsx.inc.php を使用します。インストールしておいてください。TITLE: とは PukiWiki Plus! において HTML のタイトル<title></title> を設定する書式です。

***link=page | anchor | off [#c260f683]
リンク形式。
+page - 通常通りページへのリンク
+anchor - #includex で取り込んだページタイトルへのアンカー。#lsx(include) 用。
+off - リンクしない。

***tag=文字列 [#gf5db502]
tag.inc.php で付けたタグを指定。

tag=タグ1^タグ2 とすることで、共通ページを(積集合 ∩ のイメージ)、tag=タグ1-タグ2 とすることで差ページ(差集合のイメージ)をリスト

備考:hierarchy, prefix は強制的に off になります。
備考: lsx のタグ機能はおまけのようなもので、過去のなごりに過ぎません。taglist.inc.php を使用してください。

***newpage=on | off [#f35e1525]
on で新規作成ページのみを、off で新規作成ページ以外をリスト。デフォルトでは単純にスルー。

備考:backup ファイルが作成されているかどうかで新規かどうかを判断しています。

***next=bool [#s32208c6]
ベータ機能

num オプションで件数を制限した場合に、次のN件、前のN件を表示するためのリンクを表示する

*動作例(仕様) [#i219e9b8]
以下のページ群があったとする。

    test
    test/a
    test/a/aa
    test/a/aa/aaa
    test/a/bb/bbb
    test/c/cc/ccc

test というページで記述したものとする。[] はリンクの意。

 #lsx
 出力)
    [a]
        [aa]
            [aaa]
        bb
            [bbb]
    c
        cc
            [ccc]
#hr
 #lsx(prefix=test/a/)
 出力)
    [aa]
        [aaa]
    bb
        [bbb]
#hr
 #lsx(hierarchy=off)
 出力)
    [a]
    [a/aa]
    [a/aa/aaa]
    [a/bb/bbb]
    [c/cc/ccc]
#hr
 #lsx(tree=leaf,hierarchy=off)
 出力)
    [a/aa/aaa]
    [a/bb/bbb]
    [c/cc/ccc]
#hr
 #lsx(tree=dir)
 出力)
    [a]
        [aa]
        bb
    c
        cc
#hr
 #lsx(depth=1)
 出力)
    [a]
#hr
 #lsx(depth=1:2)
 出力)
    [a]
        [aa]
#hr
 #lsx(depth=2+1)
 出力)
    a (←注目)
        [aa]
            [aaa]
        bb
            [bbb]
    c
        cc
            [ccc]
#hr
 #lsx(num=1:2)
 出力)
    [a]
        [aa]
#hr
 #lsx(num=-1:-2)
 出力)
    a
        bb
            [bbb]
    c
        cc
            [ccc]
#hr
 #lsx(num=(1:2,4))
 出力)
    [a]
        [aa]
        bb
            [bbb]
#hr
 #lsx(except=cc|aaa$)
 出力)
    [a]
        [aa]
        bb
            [bbb]
#hr
 #lsx(date)
 出力)
    [a] 2004-10-10 (日) 23:03:05
        [aa] 2004-11-30 (金) 12:11:43
            [aaa] 2004-03-03 (月) 16:04:05
        bb
            [bbb] 2004-12-26 (水) 23:55:55
    c
        cc
            [ccc] 2004-10-11 (月) 01:02:04
#hr
 #lsx(sort=date,date,new)
 出力)
    [a/bb/bbb] 2004-12-26 (水) 23:55:55 New
    [a/aa] 2004-11-30 (金) 12:11:43
    [c/cc/ccc] 2004-10-11 (月) 01:02:04
    [a] 2004-10-10 (日) 23:03:05
    [a/aa/aaa] 2004-03-03 (月) 16:04:05
#hr
 #lsx(sort=date,new)
 出力)
    [a/bb/bbb] New
    [a/aa]
    [c/cc/ccc]
    [a]
    [a/aa/aaa]
#hr
 #lsx(depth=1:2,contents=(num=1))
 出力)
    [a]
        見出し
        [aa]
            見出し
#hr
 #lsx(num=1:2,include)
 出力)
 #includex(a)
 #includex(a/aa)
 の結果が出力される。
*当プラグインについて [#oeb31f90]
このプラグインは[[sonots>http://pukiwiki.sonots.com]]様の[[lsx.inc.php>http://pukiwiki.sonots.com/index.php?Plugin%2Flsx.inc.php]]を使用しています。