X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f2b60470c6dfa1da6215d2f919d42d9cf6d6e841..e9e75f5f29d78b0631f98d9b0fa93184fcb181fe:/IkiWiki/Plugin/linkmap.pm?ds=inline

diff --git a/IkiWiki/Plugin/linkmap.pm b/IkiWiki/Plugin/linkmap.pm
index 29a3339a6..941ed5f36 100644
--- a/IkiWiki/Plugin/linkmap.pm
+++ b/IkiWiki/Plugin/linkmap.pm
@@ -3,18 +3,27 @@ package IkiWiki::Plugin::linkmap;
 
 use warnings;
 use strict;
-use IkiWiki;
+use IkiWiki 3.00;
 use IPC::Open2;
 
-sub import { #{{{
+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;
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
 	my %params=@_;
 
 	$params{pages}="*" unless defined $params{pages};
@@ -30,17 +39,17 @@ sub preprocess (@) { #{{{
 	$mapnum++;
 	$maps{$mapnum}=\%params;
 	return "<div class=\"linkmap$mapnum\"></div>";
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
 
 	$params{content}=~s/<div class=\"linkmap(\d+)"><\/div>/genmap($1)/eg;
 
         return $params{content};
-} # }}}
+}
 
-sub genmap ($) { #{{{
+sub genmap ($) {
 	my $mapnum=shift;
 	return "" unless exists $maps{$mapnum};
 	my %params=%{$maps{$mapnum}};
@@ -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});
 		}
 	}
@@ -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,11 +103,9 @@ 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;
-} #}}}
+}
 
 1