Fix failure to close <ul> in maps with no items
authorharishcm <harishcm@web>
Sat, 25 Jul 2009 19:16:11 +0000 (20:16 +0100)
committerSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Sat, 25 Jul 2009 19:16:11 +0000 (20:16 +0100)
Signed-off-by: Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
IkiWiki/Plugin/map.pm

index 120451b5dbde60a26ae165e391cf56232cc30111..826dbbd66ba68dee4401b259c2d3b87ae7e5d1ea 100644 (file)
@@ -80,7 +80,17 @@ sub preprocess (@) {
        my $indent=0;
        my $openli=0;
        my $addparent="";
-       my $map = "<div class='map'>\n<ul>\n";
+       my $map = "<div class='map'>\n";
+
+       # Return empty div if %mapitems is empty
+       if (!scalar(keys %mapitems)) {
+               $map .= "</div>\n";
+               return $map; 
+       } 
+       else { # continue populating $map
+               $map .= "<ul>\n";
+       }
+
        foreach my $item (sort keys %mapitems) {
                my @linktext = (length $mapitems{$item} ? (linktext => $mapitems{$item}) : ());
                $item=~s/^\Q$common_prefix\E\///