X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3096c8ea69783b1c1cfbf5b9f940d2939d2a33f5..a7545978c76902076b42b774938e6f60b96aa396:/IkiWiki/Plugin/parentlinks.pm diff --git a/IkiWiki/Plugin/parentlinks.pm b/IkiWiki/Plugin/parentlinks.pm index 890a349b5..1ee69cbff 100644 --- a/IkiWiki/Plugin/parentlinks.pm +++ b/IkiWiki/Plugin/parentlinks.pm @@ -4,13 +4,22 @@ package IkiWiki::Plugin::parentlinks; use warnings; use strict; -use IkiWiki 2.00; +use IkiWiki 3.00; -sub import { #{{{ +sub import { + hook(type => "parentlinks", id => "parentlinks", call => \&parentlinks); hook(type => "pagetemplate", id => "parentlinks", call => \&pagetemplate); -} # }}} +} -sub parentlinks ($) { #{{{ +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 1, + }, +} + +sub parentlinks ($) { my $page=shift; my @ret; @@ -27,7 +36,7 @@ sub parentlinks ($) { #{{{ $depth=$i; $height=($pagedepth - $depth); push @ret, { - url => urlto($path, $page), + url => urlto(bestlink($page, $path), $page), page => $title, depth => $depth, height => $height, @@ -35,13 +44,13 @@ sub parentlinks ($) { #{{{ "height_$height" => 1, }; $path.="/".$dir; - $title=IkiWiki::pagetitle($dir); + $title=pagetitle($dir); $i++; } return @ret; -} #}}} +} -sub pagetemplate (@) { #{{{ +sub pagetemplate (@) { my %params=@_; my $page=$params{page}; my $template=$params{template}; @@ -49,6 +58,6 @@ sub pagetemplate (@) { #{{{ if ($template->query(name => "parentlinks")) { $template->param(parentlinks => [parentlinks($page)]); } -} # }}} +} 1