バージョン | 1.4 |
---|---|
投稿者 | たか |
状態 | 提案 |
投稿日 | 2004-01-23 (FRI) 09:35:46 |
最新の?件に差分を表示したいと思っているのですが、このようなフラグインはありませんか?TOP画面でどこが変わったのかも見れたら(たくさん表示するとわけわかんなくなるので50字程度かな!?)いいなーと思って探しています。
差分は行単位ですが、50行ということですか? そもそも、1行だけの変更なら50字というのもわからないわけではないですが、複数行の追加・変更があると50字では役に立たないと思いますよ。FrontPageに変更のあったページの各差分をずらりと表示することになりますから。
ページ全体を見ることが目的ではなく、差分を見ることだけを目的にrecentプラグインを使いたいということであれば、下記の変更で可能です(recent.inc.phpの50行目あたり)。これならFrontPageにずらりと差分が並ばないだけ、実用になるとは思いますが。
- $items .=" <li><a href=\"$script?$r_page\" title=\"$s_page $pg_passage\">$s_page</a></li>\n"; + $items .=" <li><a href=\"$script?cmd=diff&page=$r_page\" title=\"$s_page $pg_passage\">$s_page</a></li>\n";
1行でも良いと思っています。ただ、複数行変更箇所があって、それごとに改行するとわからなくなってしまうような気がしたので・・・。
ありがとうございます。
ただ、この方法も試してみたのですが、画面数が多くなってしまうので。なるべく画面数を少なくするためにFrontPageに表示したいと思っています。
$pg_passage = get_pg_passage($page,FALSE); $items .=" <li><a href=\"$script?$r_page\" title=\"$s_page $pg_passage\">$s_page</a></li>\n"; + $filename = DIFF_DIR.encode($page).'.txt'; + if (file_exists($filename)) { // ページ更新の場合 + $diffdata = htmlspecialchars(join('',file($filename))); + $diffdata = preg_replace('/^[^-+].*\n/m','',$diffdata); + $diffdata = preg_replace('/^(\-)(.*)$/m','<span class="diff_removed"> $2</span>',$diffdata); + $diffdata = preg_replace('/^(\+)(.*)$/m','<span class="diff_added"> $2</span>',$diffdata); + $items .= "<pre>$diffdata</pre>\n"; + } + else if (is_page($page)) { // ページが存在する場合? + $diffdata = trim(htmlspecialchars(join('',get_source($page)))); + $items .= "<pre>新規ページ</pre>\n"; + } + else { + // このパスはない??? + }もう少しきれいな表示ができればいいんですが.....diff.inc.phpをそのまま引用してきただけなので -- xpoint 2004-10-19 (火) 12:18:46