2007-07-25 04:34:48 +02:00
|
|
|
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]]
|
|
|
|
|
2007-10-25 06:44:45 +02:00
|
|
|
[[tag done]]
|
|
|
|
|
2007-07-25 04:34:48 +02:00
|
|
|
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.
|