ページの作成日/更新日を判断する &new();†
バージョン | 1.4以降 |
投稿者 | バイズ |
状態 | 提案 |
投稿日 | |
メッセージ†
&new(); の「ページ名を指定」機能を使って、MenuBar に追加したページのリンクのよこに更新状態を表示されています。しかし、新たに作成されたページでも更新されたページでも「New!」と表示されるので、最近 &new(); プラグインを元に新たな &update() プラグインに書き換えて更新されたページリンク*1に使います。
そこで、「ページ名を指定」機能を使う際
- ページが最近作成されたのであれば「New!」と表示する
- 古いページが最近更新されたのであれば「Updated!」を表示する
ようなプラグインがあれば PukiWiki を個人サイトを運営する場面で結構役立つではないかと思います。いかがでしょうか。
コメント†
- &new() の使いどころがわからないんだよな… --
- ファイルの作成時刻を取得できればよいのですが...作成時刻を引数に保持すれば実現可能では?! (ついさっき、filectime()を使えばすぐ実現できるのではと思ったのですが、PHPのマニュアルをみたら、『 いくつかのUNIXでは、ファイルのctimeはファイルの作成時間として参照されます。これは間違っています。多くのUNIXファイルシステムでは UNIXファイルの作成時間は存在しません。』とありました (^^; ) -- jjyun
- RecentChangesの亜種でRecentCreatedみたいなものを作成するようにして、そのキャッシュファイル(cache/recent.datに相当)を参照すればとりあえずの改造としてはいけそうですね -- henoheno
- システム的に何らかの方法で作成日を保存する方法もあるのかな?汗 #createdate(yyyymmdd) とか・・・ -- ななみ
- お手軽に済ませるなら、backup/[ページ名].gz が存在する→Update/存在しない→New と表示する改造で、一応期待通りには動くと思いますよ。新規の判断がbackup間隔に依存する(backupなし運用だと判定すらできない)ので、あくまで逃げ手でしかありません。メリットは修正範囲がnewプラグインだけで済む点かな。 -- にぶんのに
- ページ作成時間をキャッシュ(cache/create.dat)して、それをプラグインから最近作られたページとして表示できるよう、パッチを作りました。参考にしてください。 -- mini13i
- UNIX の 「ls -lrt」は更新時間であって、作成時間とは別物?、ひとりごと -- splwtr