X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/45e2c23e030a6ae60c79c1b97a7a906290f26abe..ed75653e4d1ebc9827601ab3649e1422f45ef338:/IkiWiki/Plugin/toc.pm diff --git a/IkiWiki/Plugin/toc.pm b/IkiWiki/Plugin/toc.pm index bc62f71d6..5380dd965 100644 --- a/IkiWiki/Plugin/toc.pm +++ b/IkiWiki/Plugin/toc.pm @@ -9,7 +9,7 @@ use HTML::Parser; sub import { #{{{ hook(type => "preprocess", id => "toc", call => \&preprocess); - hook(type => "format", id => "toc", call => \&format); + hook(type => "sanitize", id => "toc", call => \&sanitize); } # }}} my %tocpages; @@ -17,16 +17,23 @@ my %tocpages; sub preprocess (@) { #{{{ my %params=@_; - $params{levels}=1 unless exists $params{levels}; + if ($params{page} eq $params{destpage}) { + $params{levels}=1 unless exists $params{levels}; - # It's too early to generate the toc here, so just record the - # info. - $tocpages{$params{destpage}}=\%params; + # It's too early to generate the toc here, so just record the + # info. + $tocpages{$params{destpage}}=\%params; - return "\n
\n"; + return "\n\n"; + } + else { + # Don't generate toc in an inlined page, doesn't work + # right. + return ""; + } } # }}} -sub format (@) { #{{{ +sub sanitize (@) { #{{{ my %params=@_; my $content=$params{content}; @@ -79,17 +86,25 @@ sub format (@) { #{{{ } $liststarted=0; } + + $index.=&$indent."\n" unless $liststarted; + $liststarted=0; + $index.=&$indent."