I have the following structure:


# Page 0
[[!inline  raw="yes" pages="page1"]]


# Page 1
[[!inline  pages="page2"]]


# Page 2

In this situation, a change in page 2 will trigger a rebuild of page1 but not of page0.

refreshing wiki..
scanning page2.mdwn
rendering page2.mdwn
rendering page1.mdwn, which depends on page2

In my real world situation, page1 is actually listing all pages that match a certain tag and page0 is the home page. Whenever a page got tagged, it will appear on page1 but not on page0.

Am I missing something? Is this a bug or Ikiwiki not supposed to support this use case?

Perhaps the inline plugin isn't being clever enough about dependencies - strictly speaking, when a page is inlined with full content, the inlining page should probably inherit all the inlined page's dependencies. That might be prohibitively slow in practise due to the way IkiWiki currently merges pagespecs, though - maybe the patches I suggested for separating and uniquifying pagespecs would help? --smcv

That, or something seems to have helped in the meantime... Actually, I think it was the transitive dependencies support that did it, though smcv's pagespec stuff was also a crucial improvement.


joey@gnu:~/tmp>touch testcase/page2.mdwn 
joey@gnu:~/tmp>ikiwiki -v testcase html 
refreshing wiki..
scanning page2.mdwn
building page2.mdwn
building page1.mdwn, which depends on page2
building page0.mdwn, which depends on page1

I happily think this is done --Joey