X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/486f460132434db1eaff92dcadb265011f394bf1..cc5be82b8b7cfe3b679d8ba4f0d62e0894d9f964:/IkiWiki/Plugin/parentlinks.pm?ds=inline diff --git a/IkiWiki/Plugin/parentlinks.pm b/IkiWiki/Plugin/parentlinks.pm index eb8bfa83b..1ee69cbff 100644 --- a/IkiWiki/Plugin/parentlinks.pm +++ b/IkiWiki/Plugin/parentlinks.pm @@ -1,17 +1,25 @@ #!/usr/bin/perl -# -*- cperl-indent-level: 8; -*- -# Ikiwiki pedigree plugin. -package IkiWiki::Plugin::pedigree; +# Ikiwiki parentlinks plugin. +package IkiWiki::Plugin::parentlinks; use warnings; use strict; -use IkiWiki 2.00; - -sub import { #{{{ - hook(type => "pagetemplate", id => "pedigree", call => \&pagetemplate); -} # }}} - -sub pedigree ($) { #{{{ +use IkiWiki 3.00; + +sub import { + hook(type => "parentlinks", id => "parentlinks", call => \&parentlinks); + hook(type => "pagetemplate", id => "parentlinks", call => \&pagetemplate); +} + +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => 1, + }, +} + +sub parentlinks ($) { my $page=shift; my @ret; @@ -28,28 +36,28 @@ sub pedigree ($) { #{{{ $depth=$i; $height=($pagedepth - $depth); push @ret, { - url => urlto($path, $page), - page => $title, - depth => $depth, - height => $height, - "depth_$depth" => 1, - "height_$height" => 1, - }; + url => urlto(bestlink($page, $path), $page), + page => $title, + depth => $depth, + height => $height, + "depth_$depth" => 1, + "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}; - if ($template->query(name => "pedigree")) { - $template->param(pedigree => [pedigree($page)]); + if ($template->query(name => "parentlinks")) { + $template->param(parentlinks => [parentlinks($page)]); } -} # }}} +} 1