1 I noticed when generating my wiki that all of my RSS feeds were
2 getting regenerated even when I edited only a page that did not affect
5 I found that the problem only occurs in the presence of a file that
6 contains \[[inline pages="*"]].
8 > How is this unexpected? By inlining _every_ page in the wiki, you're
9 > making that page depend on every other page; any change to any page in
10 > the wiki will result in the inlining page and its rss feed needing to be
11 > updated to include the changed page.
13 > At best, this is a [[wishlist]] optimisation item -- it would be nice if inline could
14 > somehow know that since it's only displaying N pages, a change to the
15 > N+1th page that its PageSpec matches is a no-op.
18 Here's a short script for replicating the bug. Just cut and paste this
19 to a shell, (it will only muck in a new /tmp/ikiwiki-test directory
23 mkdir ikiwiki-test; cd ikiwiki-test; mkdir src
24 echo '\[[inline pages="blog/*"]]' > src/myblog.mdwn
25 mkdir src/blog; echo "A blog entry" > src/blog/entry.mdwn
26 echo 'use IkiWiki::Setup::Standard {
29 url => "http://example.com",
30 templatedir => "/dev/null",
31 underlaydir => "/dev/null",
38 ls -l --time-style=full-iso output/myblog/index.rss
39 echo "not a blog entry" > src/not-a-blog.mdwn
41 ls -l --time-style=full-iso output/myblog/index.rss
42 echo '\[[inline pages="*"]]' > src/archives.mdwn
44 ls -l --time-style=full-iso output/myblog/index.rss
45 echo "still not blogging" >> src/not-a-blog.mdwn
47 ls -l --time-style=full-iso output/myblog/index.rss
49 Here's the tail of the output that I see for this command:
51 $ echo "not a blog entry" > src/not-a-blog.mdwn
52 $ ikiwiki --setup setup
54 scanning not-a-blog.mdwn
55 rendering not-a-blog.mdwn
57 $ ls -l --time-style=full-iso output/myblog/index.rss
58 -rw-r--r-- 1 cworth cworth 459 2007-06-01 06:34:36.000000000 -0700 output/myblog/index.rss
59 $ echo '\[[inline pages="*"]]' > src/archives.mdwn
60 $ ikiwiki --setup setup
62 scanning archives.mdwn
63 rendering archives.mdwn
65 $ ls -l --time-style=full-iso output/myblog/index.rss
66 -rw-r--r-- 1 cworth cworth 459 2007-06-01 06:34:37.000000000 -0700 output/myblog/index.rss
67 $ echo "still not blogging" >> src/not-a-blog.mdwn
68 $ ikiwiki --setup setup
70 scanning not-a-blog.mdwn
71 rendering not-a-blog.mdwn
72 rendering archives.mdwn, which depends on not-a-blog
74 $ ls -l --time-style=full-iso output/myblog/index.rss
75 -rw-r--r-- 1 cworth cworth 459 2007-06-01 06:34:38.000000000 -0700 output/myblog/index.rss
77 It looks like the rendering of archives.mdwn is also silently
78 generating myblog/index.rss.