From: Simon McVittie Date: Fri, 3 Aug 2012 11:48:46 +0000 (+0100) Subject: Optionally add indentation to maps X-Git-Tag: 3.20130504~74^2~4 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/3f27a9733660c811c6b8d640ddadbd811979e24c Optionally add indentation to maps This makes them easier to debug by showing the structure. Sample output when $spaces is set to 4 spaces:
--- diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index ce3ac1d24..6567331fa 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -72,6 +72,9 @@ sub preprocess (@) { $common_prefix=IkiWiki::dirname($common_prefix); } + # Set this to 1 or more spaces to pretty-print maps for debugging + my $spaces = ""; + # Create the map. my $parent=""; my $indent=0; @@ -98,18 +101,18 @@ sub preprocess (@) { $parent=IkiWiki::dirname($parent); last if length $addparent && $baseitem =~ /^\Q$addparent\E(\/|$)/; $addparent=""; - $indent--; - $map .= "\n"; - if ($indent > 0) { - $map .= "\n"; + $map .= ($spaces x $indent) . "\n"; + if ($indent > 1) { + $map .= ($spaces x $indent) . "\n"; } + $indent--; } while ($depth < $indent) { - $indent--; - $map .= "\n"; - if ($indent > 0) { - $map .= "\n"; + $map .= ($spaces x $indent) . "\n"; + if ($indent > 1) { + $map .= ($spaces x $indent) . "\n"; } + $indent--; } my @bits=split("/", $item); my $p=""; @@ -117,13 +120,14 @@ sub preprocess (@) { while ($depth > $indent) { $indent++; if ($indent > 1) { - $map .= "\n"; } $map .= "\n"; return $map;