popularx.inc.php

Top > Plugin > popularx.inc.php
First Edition. 07/16/2008
Last Modified. 07/16/2008
Tag: PukiWiki Plugin

人気のページをリストアップするプラグイン popular.inc.php の拡張

Table of Contents

説明

人気のページをリストアップするプラグイン popular.inc.php の拡張です。

lsx.inc.php と同様の機能を使用することができます。

書式は popular プラグインとはかなり異なります。むしろ lsx プラグインと類似です。

popular プラグインとは違い、

今日の人気(10)

のような見出しは表示しません。

*今日の人気(10)
#popularx(today)

とのように書いてください。これで充分ですよね。

標準プラグイン popular との違い

  • 昨日の人気を表示可能 (yesterday)
  • 最近(今日+昨日)の人気を表示可能 (recent)
  • 数々の対象ページ限定機能
    • 表示件数指定 (num)
    • 階層指定 (depth)
    • pukiwiki.ini.php で設定する $non_list による除外 (non_list)
    • 正規表現によるページのフィルタ (filter)
    • 正規表現による除外ページ指定 (except)
    • 末端ページ(tree=leaf)に限定、またはその逆(tree=dir)
    • 新規ページのみに限定 (newpage)
  • 逆順ソート (reverse)
  • リンク表示文字列の指定 (linkstr=pagename|basename|title|firsthead)
  • 次のN件表示 (next)
  • <h5></h5> タイトルは表示しない。

などなど

使い方

書式

#popularx([オプション])
#popularx(today|yesterday|recent|total[,オプション])

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

popular=today | yesterday | recent | total or 第一引数

  • today: 今日の人気ページ
  • yesterday: 昨日の人気ページ
  • recent: 最近(今日+昨日)の人気ページ
  • total: トータルでの人気ページ

reverse=bool

逆順にソートする

num=数字

表示件数指定。正数は前からN件目、負数は後ろからN件目の意味。

num=1:10、つまり、先頭10件表示がデフォルトです。

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

depth=数字

下位階層指定。数字の指定は num と同じ書式。

tree=leaf|dir

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

備考:ようなものなので、ページ名を意識して付けていない場合効果は薄いでしょう。

non_list=bool

pukiwiki.ini.php で定義される $non_list によるリスト排除。デフォルトで有効。

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

except=正規表現

リストしないページを正規表現にて指定。prefixを取り除いたページ名で判定。

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

filter=正規表現

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

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

linkstr=relative | pagename | basename | title | firsthead

リンク文字列を制御できます。

  • 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> を設定する書式です。

newpage=on | off

on で新規作成ページのみを、off で新規作成ページ以外をリスト。デフォルトでは単純にスルー。

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

next=bool

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

lsx.inc.php との違い

  • リスト表示表現が異なる
  • num=1:10 デフォルト

使用できないオプション

  • prefix - 基本的に全ページ対象
  • tag - 基本的に全ページ対象
  • hierarchy - 常にフラット表示
  • sort - 人気順にソート 一択
  • contents - 表示表現は popular 一択
  • include - 表示表現は popular 一択
  • date - 表示表現は popular 一択
  • new - 表示表現は popular 一択
  • link - 表示表現は popular 一択
  • linkstr=relative - 基本的に全ページ対象なので相対パスもなにもない

ダウンロード

開発版

Sonots PukiWiki Plugin Collection に含まれています。

lsx-vX.XX.zip をダウンロードし、plugin ディレクトリ以下に展開してください。
同時梱包されているその他のプラグインは上述ページ内の「Release Notes」リンクから参照できます。