aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-03-24 03:21:46 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-03-24 03:21:46 +0000
commit693a7a6902de83ab3fe8026c2ade4aa62bbfc7f2 (patch)
tree8f2f3439a4cd984d9a61cce84d76d110b16d9d3e
parenta01d37e3537eb1f1cff4e6dd09abacc40aedc824 (diff)
downloadikiwiki-693a7a6902de83ab3fe8026c2ade4aa62bbfc7f2.tar
ikiwiki-693a7a6902de83ab3fe8026c2ade4aa62bbfc7f2.tar.gz
big speedup
-rw-r--r--IkiWiki/Render.pm24
1 files changed, 14 insertions, 10 deletions
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index a981dcb24..3fdbc6f4a 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -463,20 +463,24 @@ FILE: foreach my $file (@files) {
# problem is the backlinks could be wrong in the first pass render
# above
if (%rendered || @del) {
+ foreach my $f (@files) {
+ my $p=pagename($f);
+ if (exists $inlinepages{$p}) {
+ foreach my $file (keys %rendered, @del) {
+ my $page=pagename($file);
+ if (globlist_match($page, $inlinepages{$p})) {
+ debug("rendering $f, which inlines $page");
+ render($f);
+ last;
+ }
+ }
+ }
+ }
+
my %linkchanged;
foreach my $file (keys %rendered, @del) {
my $page=pagename($file);
- foreach my $f (@files) {
- my $p=pagename($f);
- if (exists $inlinepages{$p} &&
- globlist_match($page, $inlinepages{$p})) {
- debug("rendering $f, which inlines $page");
- render($f);
- next;
- }
- }
-
if (exists $links{$page}) {
foreach my $link (map { bestlink($page, $_) } @{$links{$page}}) {
if (length $link &&