summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-29 21:38:50 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-29 21:38:50 +0000
commit8f2d8142e40a883e0208904db99a7dea24679098 (patch)
tree866417a3bbcbfea1ca8f50801eaaef68a86c98da /IkiWiki
parentfe64ddb62e19a83cfcde45d05a312734dbb056f8 (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.pm11
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 "";