showcase.inc.php

サマリ更新されたページを指定数行/文字列まで読みこんで表示する。機能的にはrecent.inc.php + include2.inc.php
リビジョン0.9
対応バージョン1.4.3
投稿者Olorin
投稿日2003-10-27 (MON) 07:00:33

にぶんのに さんが作られた上位互換Recent Plug-inをベースにしています。利用ページに最近更新されたページの冒頭部分を表示するのに利用します。要は、Recent Plug-inの冒頭表示バージョンです。 デフォルトではLine Modeで10件8行読みこみます。書評ページでtracker_listと併用すると良いかも…読み込みは更に遅くなりますが・・・。キャッシュ機能でそれなりに解決。

使い方

#showcase(pages,WikiName//exception,child-page-control,(break-type,)lines)
#showcase(15,hoge,1,,5)  → hoge/~のページを更新順に15件5行づつ表示
#showcase(15,hoge,1,5)  → hoge/~のページを更新順に15件5行づつ表示(break-typeは省略可能オプション)
#showcase(15,hoge,1,k1,5)  → hoge/~のページを更新順に15件#amazon(,clear)までか5行目まで表示
#showcase(15,hoge//hello$,1,k2)  → hoge/~のページでhelloで終わらないページ(hoge/hello/world や hoge/world など)を更新順に15件空白行まで表示(空白行が無ければ全部表示)
#showcase(15,hoge,1,k1)  → hoge/~のページを更新順に15件#amazon(,clear)まで表示(#amazon(,clear)が無ければ全部表示)
#showcase(,hoge,1)  → hoge/~のページを更新順に10件8行(それぞれデフォルト値)ずつ表示
#showcase(,hoge,0)  → hoge直下のページを更新順に10件8行づつ表示(子ページであるhoge/helloは含むが孫ページであるhoge/hello/worldは含まない。)
#showcase(,,0)  →  親を持たないページを更新順に10件8行づつ表示
#showcase(15)  →  更新順に15件8行づつ表示/

実装

ライセンスはGPL2

内部設定

詳細はファイルを見て下さい。

キャッシュ

新しいファイルの作成がキャッシュ更新のトリガーになっています。

#showcase(15,hoge,1,,5)

この場合hoge階層の下に新しいページ( hoge/newなど)が出きればキャッシュが更新されます。

また

http://hoeghoge.com/index.php?cmd=showcase&cache=DELALL

を使えば手動で全キャッシュを削除できます。

使用例

映画レビュー(レビュートップページ)

*Movie Review [#nb223698]
**Movie Index [#t201c058]
#showcase(5,Movie Review,1,k1,5)
#tracker_list()

映画レビュー/映画A (映画の感想ページ)

*映画A [#uf66aa14]
#amazon(??????????,right)
:Cast|Mr.A
:|Mr.B
:Reviewer|[[Olorin]]
#amazon(,clear)
**ストーリー [#v23e2aa1]
あああああ
**感想
B級映画でした。評価:[[★★★>:Rating/★★★]]

映画レビュー/映画B (映画の感想ページ)

*映画B [#uf66aa14]
#amazon(??????????,right)
:Cast|Mr.A
:|Mr.B
:|Mr.C
:|Mr.D
:|Mr.E
:|Mr.F
:Reviewer|[[Olorin]]
#amazon(,clear)
**ストーリー [#v23e2aa1]
あああああ
**感想
B級映画でした。

上記のような構成だと、更新順に5つ「#amazon(,clear)まで」か「7行目」まで読みこまれます。

*映画A [#uf66aa14]
#amazon(??????????,right)
:Cast|[[Mr.A>:Casting/Mr.A]]
:|Mr.B
:Reviewer|[[Olorin]]
*映画B [#uf66aa14]
#amazon(??????????,right)
:Cast|Mr.A
:|Mr.B
:|Mr.C
:|Mr.D
:|Mr.E

使用例2

特定の階層下に一定のテンプレートにしたがってページを追加していく、といった利用をしている人はrecentやincludeの代わりとしても使えるかな?Blogっぽいレイアウトにする事も出きると思います。

その他

  1. 一応amazonとの連携を想定しているので規約の都合上HTMLでキャッシュしていません。でも、amazonプラグインを使っていらっしゃらないのなら124行目と125行目、185行目と196行目の処理をそれぞれconvert_htmlの方へ変えれば常時HTMLの状態でキャッシュしますので、負荷は減ります。
    1. ToDoとしてjjyunさんのtracker.inc.php-modifiedをしっかりと真似して上記の設定を楽にする。
  2. こうすけさんの要望も忘れずに

おまけ

上の例の構成だと「映画A」は「:Rating/★★★」へリンクしているので「:Rating/★★★」へ+#relatedと書けば「映画A」がリストアップされます。また「:Casting/Mr.A」へ+#relatedとかけば、同様に「映画A」がリストアップされます。でも書評などで、ある著者の書籍のリストと一緒に簡易評価も見れたら便利ですよね?

それのためのプラグインです。+#relatedの代わりに#showratingと書いて見て下さい。欠点はいくつもの評価ページへあるページからリンクされると正確に反映されない事。(笑 まぁ、1人で書きこんでいるWiki専用ですかね。

Download

Comments


添付ファイル: fileshowcase.inc.php.9b 2775件 [詳細] fileshowcase.inc.php.9a 1299件 [詳細] fileshowcase.inc.php.9 1264件 [詳細] fileshowcase.inc.php.4 1285件 [詳細] fileshowcase.inc.php.3 1296件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-21 (火) 23:42:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.379 sec.

SourceForge