X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/34fff64e7b56f4f8cd99430f9f927d2a5d1e3619..0de3074c7f0dbe780919a53a057ee53b31d5e233:/IkiWiki/Plugin/map.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index ce3ac1d24..38f090ff7 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -94,8 +94,9 @@ sub preprocess (@) { if defined $common_prefix && length $common_prefix; my $depth = ($item =~ tr/\//\//) + 1; my $baseitem=IkiWiki::dirname($item); - while (length $parent && length $baseitem && $baseitem !~ /^\Q$parent\E(\/|$)/) { - $parent=IkiWiki::dirname($parent); + my $parentbase=IkiWiki::dirname($parent); + while (length $parentbase && length $baseitem && $baseitem !~ /^\Q$parentbase\E(\/|$)/) { + $parentbase=IkiWiki::dirname($parentbase); last if length $addparent && $baseitem =~ /^\Q$addparent\E(\/|$)/; $addparent=""; $indent--; @@ -113,14 +114,10 @@ sub preprocess (@) { } my @bits=split("/", $item); my $p=""; + $indent++ unless length $parent; $p.="/".shift(@bits) for 1..$indent; while ($depth > $indent) { - $indent++; - if ($indent > 1) { - $map .= "