X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/14d8df55ad6099e1785c6e568b6f020abca3290f..d3c15aed18ef9e67c3e785ac3cc0426c56e59ac7:/IkiWiki/Plugin/postsparkline.pm

diff --git a/IkiWiki/Plugin/postsparkline.pm b/IkiWiki/Plugin/postsparkline.pm
index d2e5c2378..2fae9c5fe 100644
--- a/IkiWiki/Plugin/postsparkline.pm
+++ b/IkiWiki/Plugin/postsparkline.pm
@@ -16,6 +16,7 @@ sub getsetup () {
 		plugin => {
 			safe => 1,
 			rebuild => undef,
+			section => "widget",
 		},
 }
 
@@ -30,11 +31,16 @@ sub preprocess (@) {
 		return "";
 	}
 
+	my $deptype;
 	if (! exists $params{time} || $params{time} ne 'mtime') {
 		$params{timehash} = \%IkiWiki::pagectime;
+		# need to update when pages are added or removed
+		$deptype = deptype("presence");
 	}
 	else {
 		$params{timehash} = \%IkiWiki::pagemtime;
+		# need to update when pages are changed
+		$deptype = deptype("content");
 	}
 
 	if (! exists $params{formula}) {
@@ -48,12 +54,11 @@ sub preprocess (@) {
 		error gettext("unknown formula");
 	}
 
-	add_depends($params{page}, $params{pages});
-
 	my @list=sort { $params{timehash}->{$b} <=> $params{timehash}->{$a} } 
-		pagespec_match_list(
-			[ grep { $_ ne $params{page} } keys %pagesources],
-			$params{pages}, location => $params{page});
+		pagespec_match_list($params{page}, $params{pages},
+			deptype => $deptype,
+			filter => sub { $_[0] eq $params{page} },
+		);
 
 	my @data=eval qq{IkiWiki::Plugin::postsparkline::formula::$formula(\\\%params, \@list)};
 	if ($@) {