X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/92a5fa99807996d54ad9dd2b5618743ad3c8154d..2ba168ac8357ad76de246d656b3da15bc9c0e722:/IkiWiki/Plugin/linkmap.pm

diff --git a/IkiWiki/Plugin/linkmap.pm b/IkiWiki/Plugin/linkmap.pm
index 0a8d0ca9a..81ee665c8 100644
--- a/IkiWiki/Plugin/linkmap.pm
+++ b/IkiWiki/Plugin/linkmap.pm
@@ -3,14 +3,23 @@ package IkiWiki::Plugin::linkmap;
 
 use warnings;
 use strict;
-use IkiWiki;
+use IkiWiki 2.00;
 use IPC::Open2;
 
 sub import { #{{{
+	hook(type => "getsetup", id => "linkmap", call => \&getsetup);
 	hook(type => "preprocess", id => "linkmap", call => \&preprocess);
 	hook(type => "format", id => "linkmap", call => \&format);
 } # }}}
 
+sub getsetup () { #{{{
+	return
+		plugin => {
+			safe => 1,
+			rebuild => undef,
+		},
+} #}}}
+
 my $mapnum=0;
 my %maps;
 
@@ -48,7 +57,7 @@ sub genmap ($) { #{{{
 	# Get all the items to map.
 	my %mapitems = ();
 	foreach my $item (keys %links) {
-		if (pagespec_match($item, $params{pages}, $params{page})) {
+		if (pagespec_match($item, $params{pages}, location => $params{page})) {
 			$mapitems{$item}=urlto($item, $params{destpage});
 		}
 	}
@@ -62,7 +71,7 @@ sub genmap ($) { #{{{
 
 	# Run dot to create the graphic and get the map data.
 	my $pid;
-	my $sigpipe=0;;
+	my $sigpipe=0;
 	$SIG{PIPE}=sub { $sigpipe=1 };
 	$pid=open2(*IN, *OUT, "dot -Tpng -o '$config{destdir}/$dest' -Tcmapx");
 	
@@ -86,7 +95,7 @@ sub genmap ($) { #{{{
 	close OUT;
 
 	local $/=undef;
-	my $ret="<object data=\"".urlto($dest, $params{page}).
+	my $ret="<object data=\"".urlto($dest, $params{destpage}).
 	       "\" type=\"image/png\" usemap=\"#linkmap$mapnum\">\n".
 	        <IN>.
 	        "</object>";
@@ -94,9 +103,7 @@ sub genmap ($) { #{{{
 	
 	waitpid $pid, 0;
 	$SIG{PIPE}="DEFAULT";
-	if ($sigpipe) {
-		return  "[[linkmap ".gettext("failed to run dot")."]]";
-	}
+	error gettext("failed to run dot") if $sigpipe;
 
 	return $ret;
 } #}}}