diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-29 21:38:50 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-29 21:38:50 +0000 |
commit | 8f2d8142e40a883e0208904db99a7dea24679098 (patch) | |
tree | 866417a3bbcbfea1ca8f50801eaaef68a86c98da /IkiWiki | |
parent | fe64ddb62e19a83cfcde45d05a312734dbb056f8 (diff) |
* Allow preprocessor directives to be expanded in inlined blog pages.
However, to avoid inlining loops etc, don't expand inline directives in
inlined pages.
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Plugin/inline.pm | 11 |
1 files changed, 10 insertions, 1 deletions
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 ""; |