diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2007-11-07 16:34:50 -0500 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2007-11-07 16:34:50 -0500 |
commit | 930584cff747d87635da192585030d4fb30a2893 (patch) | |
tree | e5314ae030a3074e4f436b655ce7b75b7bf07182 /IkiWiki/Plugin | |
parent | 144accb78c0025d7a88c4dcb170a73cfde93e35b (diff) |
* map: Recent changes caused unnecessary ul's to be inserted for items
that were all at the same level, fix. Closes: #449285
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r-- | IkiWiki/Plugin/map.pm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index 65a6ed552..b08d78d76 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -61,6 +61,7 @@ sub preprocess (@) { #{{{ my $parent=""; my $indent=0; my $openli=0; + my $dummy=0; my $map = "<div class='map'>\n<ul>\n"; foreach my $item (sort keys %mapitems) { $item=~s/^\Q$common_prefix\E\/// @@ -69,12 +70,14 @@ sub preprocess (@) { #{{{ my $baseitem=IkiWiki::dirname($item); while (length $parent && length $baseitem && $baseitem !~ /^\Q$parent\E(\/|$)/) { $parent=IkiWiki::dirname($parent); + last if !$dummy && length $parent && $baseitem =~ /^\Q$parent\E(\/|$)/; $indent--; $map .= "</li>\n"; if ($indent > 0) { $map .= "</ul>\n"; } } + $dummy=0; while ($depth < $indent) { $indent--; $map .= "</li>\n"; @@ -91,6 +94,7 @@ sub preprocess (@) { #{{{ $map .= "<ul>\n"; } if ($depth > $indent) { + $dummy=1; $p.="/".shift(@bits); $map .= "<li>" .htmllink($params{page}, $params{destpage}, $p, class => "mapparent") |