From 4895955ceaf264c5f17b10c4009e1ab1afcc55ee Mon Sep 17 00:00:00 2001 From: joey Date: Mon, 28 Aug 2006 18:17:59 +0000 Subject: * Change htmlize, format, and sanitize hooks to use named parameters. --- IkiWiki/Plugin/toc.pm | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'IkiWiki/Plugin/toc.pm') 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
\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."\n"; } - # Ignore cruft around the toc marker, probably

tags added by - # markdown which shouldn't appear in a list anyway. - $page=~s/\n.*\[\[toc $id\]\].*\n/$index/; + $page=~s/(

)/$1\n$index/; return $page; } -- cgit v1.2.3