summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-10-04 15:46:23 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-10-04 15:46:23 -0400
commit2fbfcd16e6d5717fea7b23d7fa82961222a6e32f (patch)
tree0845c088bfad3f5d8eef9d39adeb1467706a4521
parentdaafdf1acb426e0abae218a04c8b22e8b9885354 (diff)
map: Use a contentless dependency unless show= is specified.
This makes simple maps efficient enough that they can be used on sidebars!
-rw-r--r--IkiWiki/Plugin/map.pm8
-rw-r--r--debian/changelog2
2 files changed, 6 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm
index 54146dc46..682960777 100644
--- a/IkiWiki/Plugin/map.pm
+++ b/IkiWiki/Plugin/map.pm
@@ -68,13 +68,13 @@ sub preprocess (@) {
}
# Needs to update whenever a page is added or removed (or in some
- # cases, when its content changes, if show=title), so register a
- # dependency.
- add_depends($params{page}, $params{pages});
+ # cases, when its content changes, if show= is specified), so
+ # register a dependency.
+ add_depends($params{page}, $params{pages}, content => exists $params{show});
# Explicitly add all currently shown pages, to detect when pages
# are removed.
foreach my $item (keys %mapitems) {
- add_depends($params{page}, $item);
+ add_depends($params{page}, $item, content => exists $params{show});
}
# Create the map.
diff --git a/debian/changelog b/debian/changelog
index bec1a61d3..ae39d4847 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,8 @@ ikiwiki (3.14159266) UNRELEASED; urgency=low
* pagecount: Use a contentless dependency, which makes this
directive much less expensive to use, since page edits will
no longer trigger an unnecessary update of the page count.
+ * map: Use a contentless dependency unless show= is specified.
+ This makes simple maps efficient enough that they can be used on sidebars!
-- Joey Hess <joeyh@debian.org> Sun, 27 Sep 2009 17:40:03 -0400