情報鮮度の識別†
- ページ: BugTrack
- 投稿者: upk
- 優先順位: 低
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2003-04-07 (月) 03:46:03
- バージョン:
メッセージ†
#comment などで、メッセージが追加された場合、日時のみであり、情報の鮮度を容易に識別することができない。例えば、2日前までを赤く表示するなど、容易に識別できるようになると、嬉しい。
- これはかなり厄介そう…。コメントに限っても、どこからどこまでがそのコメントの範囲なのか、すべてのコメントに正しく日時が書き込まれるか…など、人間が直接ソースを編集できてしまうので処理が難しそう。 -- reimy 2003-04-07 (月) 05:16:57
- 文章全部まで期待しないのですが、日時の文字列程度とか、期待したわけですが -- upk 2003-04-07 (月) 08:59:02
- 1.4以降ならば、インラインプラグインを作成することによって対応できるかな。&date(2003-04-07 08:59:02); と書くとHTMLに今日から何日前かclassに吐いてくれてCSSで色が付けられる、とか。 -- 2003-04-07 (月) 22:40:45
- なかなかのアイディアですね。これを他プラグインや本体と連携すれば、ちゃんと機能しそうですね。reimyさんの書かれているのができれば、そりゃですけど、ただ更新されたところだけでも、素早く判別できればなぁ。というところなので、難しく考えていて、実装されないよりかは、個人的には、この程度で良いと思うんですよね。-- upk 2003-04-07 (月) 23:00:14
- #comment には自動で隠しタイムスタンプが入り、手動ではnew? を埋め込むようにすることで<!--new 20030407--> こんなタグが入るようにする。こうすれば後で何とかなるかなあと思います。色が付かなくても段落の最初か最後にNEW!みたいな画像が貼ってあればそれでいいと思います。 -- tejicube 2003-04-07 (月) 23:55:43
- 手っ取り早く、&new(timestamp);のようなプラグインを書いて、コメントフォーマットに混ぜてしまうとか。 -- ぱんだ 2003-04-08 (火) 20:03:29
- それですね。。&new(20030408)で近いやつは<img>タグ、遠いやつは<!--20030408-->になると。 -- tejicube 2003-04-08 (火) 23:35:33
- 添付されている new.inc.php の説明書きはどうして消えたの? 1.3.4 で使えるのか興味津々なんですが。 MorphyWiki -- 2003-04-11 (金) 15:51:46
- インラインプラグインなので、1.3.4では使えません。すいません。今ちょっと仕様をを変えて上げ直したもので説明はこれから書きます。 -- ぱんだ 2003-04-11 (金) 15:58:56
- 残念です。 -- 2003-04-11 (金) 17:19:31
- というわけでnew.inc.phpの使い方です。(1.4用インラインプラグインです。) -- ぱんだ
- 指定した日時文字列がlimit日前より新しい日付のとき、stringを表示します。
- 日時文字列は、PHP関数:strtotimeが認識できる書式で書いてください。
PukiWikiデフォルトの'yy-mm-dd (曜) hh:mm:ss'でうまくいくようです。
- デフォルトはlimit=3(日)、string="New"です。(ソースでdefineしています。)
- limit,stringは引数で指定することもできます。
&new{日時文字列};
&new(limit){日時文字列};
&new(limit,string){日時文字列};
- comment.inc.phpを以下のように書き換えると、投稿されたコメントの日時部分に&newを使用することができます。
-define('COMMENT_NOW_FORMAT','SIZE(10){$now}');
+define('COMMENT_NOW_FORMAT','&new{$now};');
- 動作確認しました。いいですねぇ。 -- upk
- いただきました。 -- reimy 2003-04-11 (金) 21:52:52
- cvsに投入しました。cvs:plugin/new.inc.php(v1.4:r1.1)cvs:skin/default.ja.css(v1.4:r1.17)cvs:skin/default.en.css(v1.4:r1.16) -- ぱんだ 2003-04-13 (日) 13:55:56
- ありがとうございました。 -- upk
- あっ、これ自分のとこでやってたんですよ。問題なかったらコントリビュートしようと思っていました。diffを添付しました。1.3.4で同じようなことを試してみたい方は使ってみてください。 -- mizkaz
修正するのは、html.php と pukiwiki.ini.php の二つです。
pukiwiki.ini.php の
$new_notification= array(" COLOR(#FF0000){New!}"," COLOR(#FF8000){New}");
$elapse=array(1*60*60*24,5*60*60*24); // 24hours, 5days
は、配列 $elapse に指定した n 番目の時間が経過したら、$new_notification の n 番目の鮮度表示が追加されるという指定です。この例では、24時間以内であればNew!が、5日以内であればNewが表示されます。この2つの配列に要素を追加すれば、いろんな鮮度を設定できます。ただし、$elapse の値は短い時間から長い時間へと順に指定してください。
- comment.inc.phpにて、以下のようにしても文字が小さくなりませんが、どうしたらよいでしょうか? -- sha
define('COMMENT_NOW_FORMAT','SIZE(10){&new{$now};}');