From 8f2d8142e40a883e0208904db99a7dea24679098 Mon Sep 17 00:00:00 2001 From: joey Date: Sat, 29 Jul 2006 21:38:50 +0000 Subject: * Allow preprocessor directives to be expanded in inlined blog pages. However, to avoid inlining loops etc, don't expand inline directives in inlined pages. --- IkiWiki/Plugin/inline.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'IkiWiki/Plugin') diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 1ea347b08..427c25a96 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -21,6 +21,7 @@ sub import { #{{{ package IkiWiki; my %toping; +my $processing_inline=0; sub preprocess_inline (@) { #{{{ my %params=@_; @@ -35,6 +36,12 @@ sub preprocess_inline (@) { #{{{ $params{show}=10; } + # Avoid nested inlines, to avoid loops etc. + if ($processing_inline) { + return ""; + } + $processing_inline=1; + my @list; foreach my $page (keys %pagesources) { next if $page eq $params{page}; @@ -104,6 +111,8 @@ sub preprocess_inline (@) { #{{{ $toping{$params{page}}=1 unless $config{rebuild}; } + $processing_inline=0; + return $ret; } #}}} @@ -114,7 +123,7 @@ sub get_inline_content ($$) { #{{{ my $file=$pagesources{$page}; my $type=pagetype($file); if (defined $type) { - return htmlize($type, preprocess($page, $destpage, linkify($page, $destpage, readfile(srcfile($file))), 1)); + return htmlize($type, preprocess($page, $destpage, linkify($page, $destpage, readfile(srcfile($file))))); } else { return ""; -- cgit v1.2.3