]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/toc_plugin:_set_a_header_ceiling___40__opposite_of_levels__61____41__.mdwn
close
[ikiwiki.git] / doc / todo / toc_plugin:_set_a_header_ceiling___40__opposite_of_levels__61____41__.mdwn
index 3183756602bf38cc2fa49dea82f5948dda8c6f5a..07d2d383cefa4141a0d65fe8e21a826c8ad28b40 100644 (file)
@@ -4,17 +4,45 @@ Currently, the levels=X parameter lets you tweak how deep it will go for small h
 
 > This change to toc.pm should do it. --[[KathrynAndersen]]
 
-       56,57c56,57
-       <       my $startlevel=($params{startlevel} ? $params{startlevel} : 0);
-       <       my $curlevel=$startlevel-1;
-       ---
-       >       my $curlevel;
-       >       my $startlevel=0;
-       70d69
-       <                       # unless we're given startlevel as a parameter
-       75,79d73
-       <                       elsif (defined $params{startlevel}
-       <                              and $level < $params{startlevel})
-       <                       {
-       <                           return;
-       <                       }
+> > The patch looks vaguely OK to me but it's hard to tell without
+> > context. It'd be much easier to review if you used unified diff
+> > (`diff -u`), which is what `git diff` defaults to - almost all
+> > projects prefer to receive changes as unified diffs (or as
+> > branches in their chosen VCS, which is [[git]] here). --[[smcv]]
+
+> > > Done. -- [[KathrynAndersen]]
+
+> > > > Looks like Joey has now [[merged|done]] this. Thanks! --[[smcv]]
+
+       --- /files/git/other/ikiwiki/IkiWiki/Plugin/toc.pm      2009-11-16 12:44:00.352050178 +1100
+       +++ toc.pm      2009-12-26 06:36:06.686512552 +1100
+       @@ -53,8 +53,8 @@
+               my $page="";
+               my $index="";
+               my %anchors;
+       -       my $curlevel;
+       -       my $startlevel=0;
+       +       my $startlevel=($params{startlevel} ? $params{startlevel} : 0);
+       +       my $curlevel=$startlevel-1;
+               my $liststarted=0;
+               my $indent=sub { "\t" x $curlevel };
+               $p->handler(start => sub {
+       @@ -67,10 +67,16 @@
+               
+                               # Take the first header level seen as the topmost level,
+                               # even if there are higher levels seen later on.
+       +                       # unless we're given startlevel as a parameter
+                               if (! $startlevel) {
+                                       $startlevel=$level;
+                                       $curlevel=$startlevel-1;
+                               }
+       +                       elsif (defined $params{startlevel}
+       +                              and $level < $params{startlevel})
+       +                       {
+       +                           return;
+       +                       }
+                               elsif ($level < $startlevel) {
+                                       $level=$startlevel;
+                               }
+
+[[!tag patch]]