linkmap: Use a combination of presence and link dependencies.
authorJoey Hess <joey@gnu.kitenet.net>
Tue, 6 Oct 2009 21:47:10 +0000 (17:47 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Tue, 6 Oct 2009 21:47:10 +0000 (17:47 -0400)
This makes the map be regenerated much less frequently, so larger maps are
more practical to use now.

IkiWiki/Plugin/linkmap.pm
debian/changelog
doc/ikiwiki/directive/linkmap.mdwn

index d0671ae0e93b7877aef75b314158145ce61770db..d7ba68da9e91133c33bbef0f743430f5fd0993b0 100644 (file)
@@ -28,9 +28,9 @@ sub preprocess (@) {
 
        $params{pages}="*" unless defined $params{pages};
        
-       # Needs to update whenever a page is added, removed, or
-       # its links change, 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!)
index 89d377769aadbd298152bd33909b3ad4aebdad4f..a006d31771c763b0d8cc0f693e90628e76efca94 100644 (file)
@@ -26,6 +26,9 @@ ikiwiki (3.14159266) UNRELEASED; urgency=low
     This makes them more efficient. It also fixes a longstanding bug,
     where if only a small set of pages were considered by orphans/pagestats,
     changes to links on other pages failed to cause an update.
+  * linkmap: Use a combination of presence and link dependencies.
+    This makes the map be regenerated much less frequently, so larger
+    maps are more practical to use now.
   * Transitive dependencies are now correctly supported.
   * Rebuild wikis on upgrade to this version to get improved dependency
     info.
index db79a1491c9a9d85b445a236b718fe9f67fa76c0..38cf0fd119a8892a4fb1deddf1047a196a5a6f1a 100644 (file)
@@ -9,9 +9,7 @@ Only links between mapped pages will be shown; links pointing to or from
 unmapped pages will be omitted. If the pages to include are not specified,
 the links between all pages (and other files) in the wiki are mapped. For
 best results, only a small set of pages should be mapped, since otherwise
-the map can become very large, unwieldy, and complicated. Also, the map is
-rebuilt whenever one of the mapped pages is changed, which can make the
-wiki a bit slow.
+the map can become very large, unwieldy, and complicated.
 
 Here are descriptions of all the supported parameters to the `linkmap`
 directive: