ZegnatI do not know how I feel about treating multiple rel values as having a singular meaning when they stand together. But I think that is specced as a possibility?
GWG No. That's not how rel works. Rel values combine. E.g. rel="alternate stylesheet" has worked this way for over a decade. Rel values also combine with other attributes, e.g. use rel="alternate" media="handheld" on a link to a separate mobile-specific version of a page. Tantek 20:56, 10 August 2011 (UTC)
ZegnatI think rel-feed is nice in addition to rel-alternate as rel-alternate is specced to only refer to a feed together with 2 specific type-attributes. While rel-feed gets to widen this to any document type, e.g. JSON.
[tantek]I think that "same element" semantic is specific *only* to "stylesheet", so yeah that's true. However there's no use-case anyone's found to worry about that from an mf2 perspective
ZegnatBut theoretically that should mean the first link is to the main stylesheet, the second to an alternative representation of the current document. It does not mean style.css is an alternative stylesheet. But that latter is what one would think when looking at the mf2 output
[tantek]we could perhaps add a warning about the "stylesheet" value in particular, but I don't expect anyone will do any stylesheet reasoning using an mf2 parser. that would be quite odd
Zegnat<link rel="home" href="a.html"><link rel="alternate" href="a.html"> - would surely have the same limition, in that per HTML spec this is defining 2 unique “links”. Neither of them claiming that a.html is a feed for the homepage. But the mf2 output would suggest that it is.
ZegnatYes, from mf2 it looks like feed for the homepage, because mf2 might think there was a link to a.html with the rels "home alternate" on it at once
ZegnatAh, it seems like I was mistaken and it also requires type. Woops. So for the mf2 output to be wrong(-ish) you need even more convoluted examples that are even less likely to go wrong in the real world!
Zegnat<link href="a" rel="home"><link href="a" rel="alternate"><link href="a" rel="ignorable" type="application/atom+xml"> - Never declares a feed, but the mf2 output might suggest that a is in fact a feed of the homepage
ZegnatGWG: for now a small tweak to your algo is that whenever rel-alternate is considered, you also need to consider the type value. Only together with a feed type is it considered to mean feed.
ZegnatYeah, I am not sure it is a good idea to assume <rel="alternate" type="application/json"> can always be assumed to point at something following the JSONFeed spec.
ZegnatAnd then there may be a period where people get confused with parsing. E.g. before they have understood that rel-feed changes the meaning of rel-author they may believe a page to have 2 distinct authors: <link rel="author" href="me"><link rel="feed author" href="my-feed"> = 2 authors me and my-feed.
ZegnatAlso note that `tag`, with its current definition, is not allowed as a rel on <link> elements. So probably not going to be used for feed links up in the HTML head
ZegnatAccording to the HTML standard it is fine to have a lot of rel-alternate + type <link> elements. They are “not necessarily syndicating exactly the same content as the current page”.
[KevinMarks]Well, for a classic site url which is mydomain.me/tag/indie that is a reasonable rel-tag url, but linking to it would imply tagging the homepage with that tag. If that page is a h-feed of posts with that tag, feed tag almost makes sense.