lockedit
[ikiwiki] / doc / bugs / page_is_not_rebuilt_if_it_changes_extension.mdwn
1 Suppose a wiki has a source page a.mdwn, which is then moved to a.wiki.
2 (Suppose both the mdwn and wikitext plugins are enabled, so this changes how "a" is rendered.)
3 Currently, when the wiki is refreshed, ikiwiki doesn't notice the change
4 and the page is not rebuilt.
5
6 I have a [[patch]] that fixes this.
7 The relevant commit on [my Github fork of ikiwiki](http://github.com/gmcmanus/ikiwiki/) is:
8
9     b6a3b8a683fed7a7f6d77a5b3f2dfbd14c849843
10
11 The patch (ab)uses`%forcerebuild`, which is meant for use by plugins.
12 If, for some reason, a plugin deletes the page's entry in `%forcerebuild`, it won't be rebuilt.
13
14 This patch uncovers another problem.
15 Suppose a wiki has a source page "a" (no extension)
16 which is then moved to "a.mdwn" (or vice versa).
17 ikiwiki fails when trying to create a directory "a" where there is a file "a"
18 (or vice versa).
19
20 The same problem occurs if both "a" and "a.mdwn" exist in the wiki.
21
22 > Thank you for looking into it!
23
24 > On the use of forcerebuild, I think it's acceptable; plugins that unset
25 > it would break other plugins that set it, too. 
26
27 > [[cherry-picked|done]] --[[Joey]]