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. こうすけさんの要望も忘れずに

おまけ

  • &ref(): File not found: "showrating.inc.php" at page "自作プラグイン/showcase.inc.php";…おまけ。#relatedの拡張。

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

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

Download

Comments

  • Olorin? 2003-10-27 (MON) 07:06:25

    朝はとりあえず、これだけです。夜に更新します。URLエンコードしてないやつを、始めにアップしてしまいました・・・。showcase.inc.php.2でお願いします。

  • merlin 2003-10-27 (MON) 10:53:05

    任意の文字列のタグで検出するようにすれば、recent,rssなどに展開できそうですね。

  • 0.6で無駄なconvert_html削除。デフォルトでは「指定文字列」まで読みこむような動作となっています。(内部で設定可能です。)よって、柔軟性0です。「指定行数」へ挙動を変えたい場合は104行目ぐらいからコメントアウトしてあるforeach式と既存の式を入れ替えて下さい…。(^^; - Olorin 2004-10-27
  • 0.9で大幅?強化。#freezeと#norelatedを読みこまないようにした。「指定文字列による区切り」以外に、「指定単文字列と指定行数のどちらかによる区切り」と「指定行数による区切り」を追加。キャッシュ機能実装(convert前のデータ。必要な人はconvert後のデータを保存してください。)。キャッシュ関係はjjyunさんのtracker.inc.php-modifiedから拝借(劣化コピーですが…)させていただきました。(多謝 上記の実装変更に伴い書式も多少変更。 - Olorin 2005-01-27
  • とても便利に使わせていただいています。本当にありがとうございます。2つほど要望があって書き込みをしました。一つは、テンプレートなどの表示させたくないページが指定できたらいいなと思います。また、もう一つは、1ページあたりの指定行数を超えた分については、新しいページに表示できるといいなと思いました。勝手なことを書いてしまって申し訳ありませんが、ご検討していただければ幸いです。どうかよろしくお願い致します。 -- こうすけ? 2005-04-10 (日) 09:28:36
    • 「新しいページ」とはどう言った意味でしょうか?全文表示のページも別に欲しいという事でしょうか?trackerだと表組みを並び替えるリンクをクリックすると別ページへ飛ばされますが…そういったイメージでしょうか?出来無い事は無いと思いますが、あまり期待なさらないでください。すみません。^^; -- Olorin 2005-04-13 (水) 19:47:58
  • 0.9aで無駄な処理を削減。読みこみ除外パターンを正規表現で指定できるようにした。詳細は「使い方」参照。内部設定で固定の方が良かったかな? :-P -- Olorin 2005-04-13 (水) 19:47:58
  • ご回答、本当にありがとうございます。「新しいページ」というのは、次のページへ表示するという意味合いです。例えば、40件のニュースを表示するとして、1ページが長くなりスクロールが大変になります。この40件のニュースを20件ずつなりに分割して、ページの上下にナビゲーションが付いた複数のページに表示することができたら、少しはスクロールが楽になるかなと思うのです。自分勝手なことばかり申し上げて申し訳ありませんが、ご検討していただけたら嬉しく思います。本当にありがとうございました。 -- こうすけ? 2005-04-14 (木) 10:08:50
  • 0.9b。自前のテンプレート用意。余計なconvert削除。0.9aと機能上の変更無し。おまけプラグイン添付。 -- 2005-04-15 (金) 22:48:10
  • PukiWiki 1.4.5_1 + 9b で、#showcase(15)などと書いたページが「ページを表示できません。」(IE)になってしまいます。皆さんはどうでしょうか -- 名前はない? 2005-06-16 (木) 18:06:41
  • ページ名を入れるにはどうしたら良いでしょう ? -- moerrari? 2008-10-05 (日) 15:59:02
  • 1.4.7でも「ページを表示できません。」で使えないですね。 -- あっきゅん? 2008-12-19 (金) 03:48:04

添付ファイル: fileshowcase.inc.php.9b 1893件 [詳細] fileshowcase.inc.php.9a 884件 [詳細] fileshowcase.inc.php.9 891件 [詳細] fileshowcase.inc.php.4 867件 [詳細] fileshowcase.inc.php.3 822件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-28 (木) 17:40:24
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.319 sec.

OSDN