diff options
author | Simon McVittie <smcv@debian.org> | 2011-07-29 20:46:42 +0100 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2013-02-24 13:10:24 +0000 |
commit | ce1c7a3eab5fb2a0bcf639171a4f2dd2ef981963 (patch) | |
tree | ab771c358574a0c9056016f7dedb01147a4da332 | |
parent | 82537ecf19e57d2a4b096bcc51180df0a0cf6ad7 (diff) | |
download | ikiwiki-ce1c7a3eab5fb2a0bcf639171a4f2dd2ef981963.tar ikiwiki-ce1c7a3eab5fb2a0bcf639171a4f2dd2ef981963.tar.gz |
Revert "map: don't create useless </ul><ul> sequences"
This reverts commit 2d5c2f301c04a3daa3164a2df70899fa2c1aaa38.
-rw-r--r-- | IkiWiki/Plugin/map.pm | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index 38f090ff7..ce3ac1d24 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -94,9 +94,8 @@ sub preprocess (@) { if defined $common_prefix && length $common_prefix; my $depth = ($item =~ tr/\//\//) + 1; my $baseitem=IkiWiki::dirname($item); - my $parentbase=IkiWiki::dirname($parent); - while (length $parentbase && length $baseitem && $baseitem !~ /^\Q$parentbase\E(\/|$)/) { - $parentbase=IkiWiki::dirname($parentbase); + while (length $parent && length $baseitem && $baseitem !~ /^\Q$parent\E(\/|$)/) { + $parent=IkiWiki::dirname($parent); last if length $addparent && $baseitem =~ /^\Q$addparent\E(\/|$)/; $addparent=""; $indent--; @@ -114,10 +113,14 @@ sub preprocess (@) { } my @bits=split("/", $item); my $p=""; - $indent++ unless length $parent; $p.="/".shift(@bits) for 1..$indent; while ($depth > $indent) { - if (@bits && !(length $parent && "/$parent" eq $p)) { + $indent++; + if ($indent > 1) { + $map .= "<ul>\n"; + } + if ($depth > $indent) { + $p.="/".shift(@bits); $addparent=$p; $addparent=~s/^\///; $map .= "<li>" @@ -130,11 +133,6 @@ sub preprocess (@) { else { $openli=0; } - $indent++; - $p.="/".shift(@bits) if @bits; - if ($indent > 1) { - $map .= "<ul>\n"; - } } $map .= "</li>\n" if $openli; $map .= "<li>" |