diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-08-28 18:17:59 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-08-28 18:17:59 +0000 |
commit | 4895955ceaf264c5f17b10c4009e1ab1afcc55ee (patch) | |
tree | 4f8553a9007b263e0b44afd0b9d0cbe8b5cf7b88 /IkiWiki/Plugin/toc.pm | |
parent | e3a6ff004474cacb3e7a69a37696a65ebf1e2fcd (diff) | |
download | ikiwiki-4895955ceaf264c5f17b10c4009e1ab1afcc55ee.tar ikiwiki-4895955ceaf264c5f17b10c4009e1ab1afcc55ee.tar.gz |
* Change htmlize, format, and sanitize hooks to use named parameters.
Diffstat (limited to 'IkiWiki/Plugin/toc.pm')
-rw-r--r-- | IkiWiki/Plugin/toc.pm | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/IkiWiki/Plugin/toc.pm b/IkiWiki/Plugin/toc.pm index c36ce2893..063e66f3b 100644 --- a/IkiWiki/Plugin/toc.pm +++ b/IkiWiki/Plugin/toc.pm @@ -14,7 +14,7 @@ sub import { #{{{ call => \&format); } # }}} -my @tocs; +my %tocpages; sub preprocess (@) { #{{{ my %params=@_; @@ -23,17 +23,17 @@ sub preprocess (@) { #{{{ # It's too early to generate the toc here, so just record the # info. - push @tocs, \%params; + $tocpages{$params{destpage}}=\%params; - return "\n[[toc $#tocs]]\n"; + return "\n<div class=\"toc\"></div>\n"; } # }}} -sub format ($) { #{{{ - my $content=shift; +sub format (@) { #{{{ + my %params=@_; + my $content=$params{content}; - return $content unless @tocs && $content=~/\[\[toc (\d+)\]\]/ && $#tocs >= $1; - my $id=$1; - my %params=%{$tocs[$id]}; + return $content unless exists $tocpages{$params{page}}; + %params=%{$tocpages{$params{page}}}; my $p=HTML::Parser->new(api_version => 3); my $page=""; @@ -107,9 +107,7 @@ sub format ($) { #{{{ $index.=&$indent."</ol>\n"; } - # Ignore cruft around the toc marker, probably <p> tags added by - # markdown which shouldn't appear in a list anyway. - $page=~s/\n.*\[\[toc $id\]\].*\n/$index/; + $page=~s/(<div class=\"toc\">)/$1\n$index/; return $page; } |