I noticed when generating my wiki that all of my RSS feeds were getting regenerated even when I edited only a page that did not affect any feed. I found that the problem only occurs in the presence of a file that contains \[[!inline pages="*"]]. > How is this unexpected? By inlining _every_ page in the wiki, you're > making that page depend on every other page; any change to any page in > the wiki will result in the inlining page and its rss feed needing to be > updated to include the changed page. > > At best, this is a [[wishlist]] optimisation item -- it would be nice if inline could > somehow know that since it's only displaying N pages, a change to the > N+1th page that its PageSpec matches is a no-op. > --[[Joey]] [[!tag done]] Here's a short script for replicating the bug. Just cut and paste this to a shell, (it will only muck in a new /tmp/ikiwiki-test directory that it will create): cd /tmp mkdir ikiwiki-test; cd ikiwiki-test; mkdir src echo '\[[!inline pages="blog/*"]]' > src/myblog.mdwn mkdir src/blog; echo "A blog entry" > src/blog/entry.mdwn echo 'use IkiWiki::Setup::Standard { srcdir => "src", destdir => "output", url => "http://example.com", templatedir => "/dev/null", underlaydir => "/dev/null", rss => 1, wrappers => [], verbose => 1, refresh => 1 }' > setup ikiwiki --setup setup ls -l --time-style=full-iso output/myblog/index.rss echo "not a blog entry" > src/not-a-blog.mdwn ikiwiki --setup setup ls -l --time-style=full-iso output/myblog/index.rss echo '\[[!inline pages="*"]]' > src/archives.mdwn ikiwiki --setup setup ls -l --time-style=full-iso output/myblog/index.rss echo "still not blogging" >> src/not-a-blog.mdwn ikiwiki --setup setup ls -l --time-style=full-iso output/myblog/index.rss Here's the tail of the output that I see for this command: $ echo "not a blog entry" > src/not-a-blog.mdwn $ ikiwiki --setup setup refreshing wiki.. scanning not-a-blog.mdwn rendering not-a-blog.mdwn done $ ls -l --time-style=full-iso output/myblog/index.rss -rw-r--r-- 1 cworth cworth 459 2007-06-01 06:34:36.000000000 -0700 output/myblog/index.rss $ echo '\[[!inline pages="*"]]' > src/archives.mdwn $ ikiwiki --setup setup refreshing wiki.. scanning archives.mdwn rendering archives.mdwn done $ ls -l --time-style=full-iso output/myblog/index.rss -rw-r--r-- 1 cworth cworth 459 2007-06-01 06:34:37.000000000 -0700 output/myblog/index.rss $ echo "still not blogging" >> src/not-a-blog.mdwn $ ikiwiki --setup setup refreshing wiki.. scanning not-a-blog.mdwn rendering not-a-blog.mdwn rendering archives.mdwn, which depends on not-a-blog done $ ls -l --time-style=full-iso output/myblog/index.rss -rw-r--r-- 1 cworth cworth 459 2007-06-01 06:34:38.000000000 -0700 output/myblog/index.rss It looks like the rendering of archives.mdwn is also silently generating myblog/index.rss.