aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2012-10-16 10:35:53 -0400
committerJoey Hess <joey@kitenet.net>2012-10-16 10:59:00 -0400
commit96bfdbf1be49b4911274569c58d523f7550c5fb1 (patch)
tree3756ba6f46a9a633cc3d7f1a802822557e38e74f
parent361db207bfa9739c802784bacbf3372065a57f80 (diff)
downloadikiwiki-96bfdbf1be49b4911274569c58d523f7550c5fb1.tar
ikiwiki-96bfdbf1be49b4911274569c58d523f7550c5fb1.tar.gz
really fix diff display to not show both types of diff
12fa9c031f7a9dc25dba628aa91fc347586e4ab6 porported to fix this, but failed
-rw-r--r--IkiWiki/Plugin/recentchanges.pm6
-rw-r--r--debian/changelog3
-rw-r--r--templates/change.tmpl4
3 files changed, 12 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm
index 8ce9474be..4c1863255 100644
--- a/IkiWiki/Plugin/recentchanges.pm
+++ b/IkiWiki/Plugin/recentchanges.pm
@@ -165,6 +165,7 @@ sub store ($$$) {
# Limit pages to first 10, and add links to the changed pages.
my $is_excess = exists $change->{pages}[10];
delete @{$change->{pages}}[10 .. @{$change->{pages}}] if $is_excess;
+ my $has_diffurl=0;
$change->{pages} = [
map {
if (length $config{cgiurl}) {
@@ -180,6 +181,9 @@ sub store ($$$) {
else {
$_->{link} = pagetitle($_->{page});
}
+ if (defined $_->{diffurl}) {
+ $has_diffurl=1;
+ }
$_;
} @{$change->{pages}}
@@ -227,6 +231,8 @@ sub store ($$$) {
wikiname => $config{wikiname},
);
+ $template->param(has_diffurl => 1) if $has_diffurl;
+
$template->param(permalink => urlto($config{recentchangespage})."#change-".titlepage($change->{rev}))
if exists $config{url};
diff --git a/debian/changelog b/debian/changelog
index b87d6f9eb..051b3048a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,9 @@ ikiwiki (3.20120726) UNRELEASED; urgency=low
To enable this protection, set cgi_overload_delay to the number of
seconds to wait. This is not enabled by default.
* Add back a 1em margin between archivepage divs.
+ * recentchangesdiff: Correct broken template that resulted in duplicate
+ diff icons being displayed, and bloated the recentchanges page with
+ inline diffs when the configuration should have not allowed them.
-- Joey Hess <joeyh@debian.org> Thu, 30 Aug 2012 11:56:12 -0400
diff --git a/templates/change.tmpl b/templates/change.tmpl
index 2b7b058c0..989315a8d 100644
--- a/templates/change.tmpl
+++ b/templates/change.tmpl
@@ -9,9 +9,11 @@
<div id="change-<TMPL_VAR REV>" class="metadata">
<span class="desc"><br />Changed pages:</span>
<span class="pagelinks">
+<TMPL_UNLESS HAS_DIFFURL>
<TMPL_IF DIFF>
<a href="#diff-<TMPL_VAR REV>" class="toggle" title="diff" rel="nofollow">[[diff|wikiicons/diff.png]]</a>
</TMPL_IF>
+</TMPL_UNLESS>
<TMPL_LOOP PAGES>
<TMPL_IF DIFFURL><a href="<TMPL_VAR DIFFURL>" title="diff" rel="nofollow">[[diff|wikiicons/diff.png]]</a><TMPL_VAR LINK>
<TMPL_ELSE><TMPL_VAR LINK></TMPL_IF>
@@ -41,7 +43,7 @@
</TMPL_IF>
</TMPL_LOOP>
</div>
-<TMPL_UNLESS DIFFURL>
+<TMPL_UNLESS HAS_DIFFURL>
<TMPL_IF DIFF>
<div class="toggleable" id="diff-<TMPL_VAR REV>">
<pre>