po(change): re-render all rendered files in one corner case
authorintrigeri <intrigeri@boum.org>
Fri, 16 Jan 2009 00:33:07 +0000 (01:33 +0100)
committerintrigeri <intrigeri@boum.org>
Fri, 16 Jan 2009 00:33:07 +0000 (01:33 +0100)
commit523718b181e9767d322bba3fe0b68cfcf85056a6
tree127613ffa1519cc4e003a633f2c8fa2c6e6f281c
parent92b2efd39330b7e01884f6cd2face39ab21158e2
po(change): re-render all rendered files in one corner case

All meta titles are first extracted at scan time, i.e. before we turn
PO files back into translated markdown; escaping of double-quotes in
PO files breaks the meta plugin's parsing enough to save ugly titles
to %pagestate at this time.

Then, at render time, every page's passes on row through the Great
Rendering Chain (filter->preprocess->linkify->htmlize), and the meta
plugin's preprocess hook is this time in a position to correctly
extract the titles from slave pages.

This is, unfortunately, too late: if the page A, linking to the page B,
is rendered before B, it will display the wrongly-extracted meta title
as the link text to B.

On the one hand, such a corner case only happens on rebuild: on
refresh, every rendered page is fixed to contain correct meta titles.
On the other hand, it can take some time to get every page fixed.
We therefore re-render every rendered page after a rebuild to fix them
at once. As this more or less doubles the time needed to rebuild the
wiki, we do so only when really needed.

Signed-off-by: intrigeri <intrigeri@boum.org>
IkiWiki/Plugin/po.pm