summaryrefslogtreecommitdiff
path: root/doc/todo/po:_avoid_rebuilding_to_fix_meta_titles.mdwn
blob: 402f70b7906f7d246c8355f2db5c84a5e1e1a7af (plain)

Re the meta title escaping issue worked around by change.

I suppose this does not only affect meta, but other things at scan time too. Also, handling it only on rebuild feels suspicious -- a refresh could involve changes to multiple pages and trigger the same problem, I think. Also, exposing this rebuild to the user seems really ugly, not confidence inducing.

So I wonder if there's a better way. Such as making po, at scan time, re-run the scan hooks, passing them modified content (either converted from po to mdwn or with the escaped stuff cheaply de-escaped). (Of course the scan hook would need to avoid calling itself!)

(This doesn't need to block the merge, but I hope it can be addressed eventually..)

--[[Joey]]

I'll think about it soon.

--[[intrigeri]]

Did you get a chance to? --[[Joey]]

I eventually did, and got rid of the ugly double rebuild of pages at build time. This involved adding a rescan hook. Rationale and details are in my po branch commit messages. I believe this new way of handling meta title escaping to be far more robust. Moreover this new implementation is more generic, feels more logical to me, and probably fixes other similar bugs outside the meta plugin scope. Please have a look when you can. --[[intrigeri]]

Glad you have tackled this. Looking at 25447bccae0439ea56da7a788482a4807c7c459d, I wonder how this rescan hook is different from a scan hook with last => 1 ? Ah, it comes after the preprocess hook in scan mode. Hmm, I wonder if there's any reason to have the scan hook called before those as it does now. Reordering those 2 lines could avoid adding a new hook. --[[Joey]]

Sure. I was fearing to break other plugins if I did so, so I did not dare to. I'll try this. --[[intrigeri]]

Done in my po branch, please have a look. --[[intrigeri]]