]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/bugs/Comments_are_not_sorted_by_their_date_attribute.mdwn
fixed in a branch
[ikiwiki.git] / doc / bugs / Comments_are_not_sorted_by_their_date_attribute.mdwn
index 23ddc01b6d95ba2692a7c12e25eb067242f09191..f7b02a67bbc8938249012807b0b8801bf72db167 100644 (file)
@@ -11,6 +11,11 @@ The presentation of the resulting comments is not sorted by this date, which I w
 > Yes, comments are displayed via an inline, and usual [[pagespec/sorting]]
 > (eg, default of when the file was first seen) is used. The comment
 > date only affects the date displayed.
+>
+> > 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?
+> > (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
@@ -34,3 +39,26 @@ The presentation of the resulting comments is not sorted by this date, which I w
 >>
 >> In my current situation, I could live with by-filename ordering. By-title
 >> ordering would also be workable. — [[Jon]]
+
+>>> I agree with Jon's reasons for embedding an explicit date in the file.
+>>> As I said, this is *meant* to work, but it might not.
+>>>
+>>> 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]]