X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d5a3335e15cc2203dd357e6e55fa9d15bc39a181..bc6efdd735f4b695703850d1d05f7371e00ffcb7:/doc/bugs/Comments_are_not_sorted_by_their_date_attribute.mdwn diff --git a/doc/bugs/Comments_are_not_sorted_by_their_date_attribute.mdwn b/doc/bugs/Comments_are_not_sorted_by_their_date_attribute.mdwn index a656a33a0..5a4c4b2ae 100644 --- a/doc/bugs/Comments_are_not_sorted_by_their_date_attribute.mdwn +++ b/doc/bugs/Comments_are_not_sorted_by_their_date_attribute.mdwn @@ -15,7 +15,7 @@ The presentation of the resulting comments is not sorted by this date, which I w > > That's not what I intended - it's meant to be more or less just > > syntactic sugar for `\[[!meta date=foo]]`, setting the `%pagectime`. > > The code looks as though it ought to work, but perhaps it's buggy? -> > --[[smcv]] +> > (edited to add: it is, see below) --[[smcv]] > > The only time I've seen this be much problem personally is when moving > a page, which means moving its comments directory, which tends to @@ -46,3 +46,26 @@ The presentation of the resulting comments is not sorted by this date, which I w >>> Sorting by filename would only be useful with >>> [[!cpan Sort::Naturally]], since normal `cmp` ordering would break pages >>> with more than 9 comments. --s + +---- + +[[!template id=gitbranch author="[[smcv]]" branch=smcv/comments-metadata]] + +I thought that, as internal pages, comments were not preprocessed +(and so their date attributes did not have a chance to take effect) until +they were already being inlined, by which time they have already been +sorted by the files' ctimes. Actually, I was wrong about that - internal +pages have a special case elsewhere - but they did skip the `scan` hook, +which is also fixed in my branch. + +The real bug was that the preprocess hook for comments didn't run +in the scan phase; my branch fixes that, streamlines that hook a bit +when run in the scan phase (so it doesn't htmlize, and only runs nested +directives in scan mode), and adds a regression test. --[[smcv]] + +[[!tag patch]] + +> Thanks.. I am not 100% sure if I just forgot to scan internal pages +> or left it out as some kind of optimisation since none needed to be +> scanned. Anyway, if it was an optimisation it was not much of one +> since they were preprocessed. All applied, [[done]]. --[[Joey]]