map: Use a contentless dependency unless show= is specified.

This makes simple maps efficient enough that they can be used on sidebars!
master
Joey Hess 2009-10-04 15:46:23 -04:00
parent daafdf1acb
commit 2fbfcd16e6
2 changed files with 6 additions and 4 deletions

View File

@ -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.

2
debian/changelog vendored
View File

@ -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