]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/linkmap.pm
linkmap: Use a combination of presence and link dependencies.
[ikiwiki.git] / IkiWiki / Plugin / linkmap.pm
index 0137476acfd60b5aa07693960c59743bab4214df..d7ba68da9e91133c33bbef0f743430f5fd0993b0 100644 (file)
@@ -28,9 +28,9 @@ sub preprocess (@) {
 
        $params{pages}="*" unless defined $params{pages};
        
-       # Needs to update whenever a page is added or removed, so
-       # register a dependency.
-       add_depends($params{page}, $params{pages});
+       # Needs to update whenever a relevant page is added, or removed, or
+       # its links change.
+       add_depends($params{page}, $params{pages}, presence => 1, links => 1);
        
        # Can't just return the linkmap here, since the htmlscrubber
        # scrubs out all <object> tags (with good reason!)
@@ -56,9 +56,10 @@ sub genmap ($) {
 
        # Get all the items to map.
        my %mapitems = ();
-       foreach my $item (pagespec_match_list([keys %links],
-                               $params{pages}, location => $params{page})) {
-               $mapitems{$item}=urlto($item, $params{destpage});
+       foreach my $item (keys %links) {
+               if (pagespec_match($item, $params{pages}, location => $params{page})) {
+                       $mapitems{$item}=urlto($item, $params{destpage});
+               }
        }
 
        my $dest=$params{page}."/linkmap.png";