X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/19d8acaa95ee252e3ca2bff956ad8b5d951f1381..03881f6b1af9c9ec8393ed5842b87778c346dae2:/doc/bugs/recentchanges_feed_links.mdwn diff --git a/doc/bugs/recentchanges_feed_links.mdwn b/doc/bugs/recentchanges_feed_links.mdwn index 41d7719ea..ef0f9d1c4 100644 --- a/doc/bugs/recentchanges_feed_links.mdwn +++ b/doc/bugs/recentchanges_feed_links.mdwn @@ -39,3 +39,69 @@ to turn on? --Chapman Flack >>>> and the inline plugin would then generate working links in feeds? How should >>>> the guid be constructed? Something based on the rcs revision number? I guess >>>> I'm still not completely clear on your vision for how it ought to work. --Chap + +>>>> My idea is to use `\[[meta guid="http://url/recentchanges#rev"]]`, with the +>>>> `#rev` anchor also included in the change file, and being the rcs's +>>>> internal revision id. Then the guid is globally unique, and actually +>>>> links to the change in the recentchanges page. And, when the change +>>>> has fallen off the page, the link will still go to the recentchanges page. +>>>> +>>>> First, need to check that guids in rss and atom feeds can have anchors in +>>>> them, and that the anchor is treated as part of the guid. (If the guid +>>>> is interpreted as just "http://url/recentchanges", then it's +>>>> not a very good guid.) If using an anchor for a guid is a problem, +>>>> it could instead generate a random uuid, and use `\[[meta +>>>> guid="urn:uuid:" permalink="http://url/recentchanges"]]` + +>>>>> I had a quick look into this after fixing the "prerequisite", but got +>>>>> bogged down in minor details. Anyway, I'd be happy to help. +>>>>> I think the guid stuff is actually fairly irrelevant, you just need +>>>>> `\[[!meta permalink]]` (and in fact you're using guid incorrectly, by +>>>>> expecting it to be treated as a link). +>>>>> +>>>>> My advice would be: first, fix the bug as reported, by +>>>>> using `\[[!meta permalink="http://blah/blah/blah#change-$rev"]]` (starting +>>>>> anchor names with a number isn't syntactically valid, if I remember +>>>>> correctly, so do have a prefix like "change-" or "rev-" or something). +>>>>> +>>>>> Then, optionally, force the guid too (although it defaults to the permalink +>>>>> anyway, so this shouldn't actually be necessary). +>>>>> +>>>>> Some more explanation of how guids work: it's actually easier to think +>>>>> about them in Atom terms than in RSS terms, since Atom has a clearer +>>>>> conceptual model. +>>>>> +>>>>> The `\[[!meta permalink]]` becomes the `` +>>>>> element in Atom, which contains a link that users can follow; if it's not +>>>>> explicitly given, ikiwiki uses its idea of the page's URL. +>>>>> +>>>>> The `\[[!meta guid]]` becomes the `` element in Atom, which contains an +>>>>> opaque, not-necessarily-resolvable identifier; if it's +>>>>> not explicitly given, ikiwiki uses the same URL as the ``. +>>>>> +>>>>> In RSS the semantics aren't so clear-cut (which is part of why Atom exists!), +>>>>> but the way ikiwiki interprets them is: +>>>>> +>>>>> * `` is the same as in Atom +>>>>> * if `\[[!meta guid]]` is explicitly given, put it in `` +>>>>> (the assumption in this case is that it's a UUID or something) +>>>>> * if `\[[!meta guid]]` is not explicitly given, copy the `` into the `` +>>>>> +>>>>> I believe RSS aggregators (are meant to) compare ``s as opaque +>>>>> strings, so using an anchor there should be fine. Atom aggregators are certainly +>>>>> required to compare ``s as opaque strings. +>>>>> +>>>>> --[[smcv]] + +>>>>>> Here's my attempt at a [[patch]] for anchor-based change permalinks: +>>>>>> . +>>>>>> --[[JasonBlevins]], 2008-10-17 + +[[JasonBlevins]] nailed it, [[done]] --[[Joey]] + +> Thanks for applying the patch (and improving it). There's still one small issue: +> the old opening div tag still needs to be removed (it's hard to see the removed line +> with the pastie color scheme). +> --[[JasonBlevins]], 2008-10-18 + +>> Thanks, missed that when I had to hand-apply the patch. --[[Joey]]