This article is a stub. You can help the IndieWebCamp wiki by expanding it.
h-feed is a microformats2 experiment with a top level feed object to contain h-entry posts. It is functionally a DRYer replacement for RSS/Atom feed files and thus could supersede them.
how to markup
Mark up your
- index page with class="h-feed" (e.g. on the
- its top level
<h1> with class="p-name"
- if it links to the index (itself) then class="u-url" on that hyperlink
- otherwise if you lack any top level links, this works:
<a class="u-url" href="/"></a>
- markup the h-card you already have on your index page with class="p-author"
- and add class="u-photo" on the representative photo of your index page (e.g. banner etc.), or leave it out and let consumers imply/use the u-photo of the p-author h-card you marked up in the previous step
how to test
Feeds marked up with h-feed should work in the same way as simple lists of h-entries. See How to Test Feeds.
how to consume
See How to Consume Feeds
So indie readers who subscribe to your site can display:
- a name (and icon) for your site/feed in a list
- authorship of the feed
- multiple feeds from a page (less common)
IndieWeb community members that support h-feed:
Tantek Çelik supports h-feed on his tantek.com home page using an index.html template and Falcon since 2012-07-16, at Sandeep Shetty's encouragement, to help with the indie reader he is building.
Barnaby Walters supports h-feed on his waterpigs.co.uk home page since ????-??-??
Will Norris supports h-feed on his willnorris.com home page since mid-2013 using WordPress and a modified version of wordpress-uf2 (modifications to be sent upstream at soonish?)
Jeena supports h-feed for his blog posts and notes on https://jeena.net since 2014-02-25
Tom Morris supports h-feed for posts on tommorris.org since 2014-02-25.
gRegor Morrill supports h-feed for notes at http://gregorlove.com/notes/ since 2014-??-??.
- Since this feed is not on the homepage, the navigation link to the notes uses
rel="feed" for feed discovery.
Partial (e.g. truncated) vs full h-feeds.
A lot of blogs have feeds with partial content, where the entries only have post names/titles, permalinks, and sometimes summaries but not full post content. This could be done for UX reasons where the reader is not subjected to a full long post but a quick list of shorter summaries.
If you do have a partial feed (e.g. on your home page), it is good (for indie reader consumption) to also have a separate full feed page.
The partial feed can use a
u-uid u-url to link to the full feed page which could be discovered by a canonical h-feed discovery algorithm.
<div class="h-feed" id="partial_feed">
<a class="u-url" href="#partial_feed">Partial Feed</a></h1>
<a class="u-uid u-url" href="/feed.html">Full Feed</a>
<li class="h-entry"><a href="permalink1">Article1 name</a></li>
<li class="h-entry"><a href="permalink2">Article2 name</a></li>
The possibility of separate partial vs full feeds provides more design freedom for content publishers, since they can choose to have a full or partial (or no!) feed on their homepage and thus design accordingly.
acegiak: KartikPrabhu: my wife's site (which I'm helping her add microformats etc to) is a potential test for this because she's an artist and wants her landing page to be quite specific in appearance.
canonical feed autodiscovery
Feed readers discover the links to legacy RSS/Atom feed files automatically from HTML pages by parsing for links with
When such links use the
<link> tag in the
<head> of the page, this provides the potential for a nice UX where the user does not need to know about the 'plumbing' of feeds / feed files.
Example from adactio.com in Feedly
autodiscovery feed example from adactio.com
How can (possibly multiple) h-feed feeds be discovered similarly?
Link to h-feed marked-up html pages from the home page using
type="text/html" and an optional
title=""Feed Title". Also, suggested to have
Alternatively, if an h-feed has a u-url u-uid property that is not the URL of the current page itself, then that u-url u-uid URL can be treated as the canonical full feed.