61 lines
2.7 KiB
Markdown
61 lines
2.7 KiB
Markdown
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]]
|