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]] >>>>>>>> I've merged it. Didn't look at the po.pm changes closely; >>>>>>>> assume they're ok. [[done]] --[[Joey]] >>>>>>>> >>>>>>>> My thinking about the reordering being safe is that >>>>>>>> the relative ordering of scan and preprocess in scan mode hooks >>>>>>>> has not been defined before, so it should be ok to define it. :) >>>>>>>> >>>>>>>> And as to possible breakage from things that assumed the old >>>>>>>> ordering, such a thing would need to have a scan hook and a >>>>>>>> preprocess in scan mode hook, and the two hooks would need to >>>>>>>> populate the same data structure with conflicting information, >>>>>>>> in order for there to be a problem. That seems highly unlikely >>>>>>>> and would be pretty broken on its own. And no plugin in ikiwiki >>>>>>>> itself has both types of hooks. --[[Joey]]