h-feed

(Difference between revisions)

Jump to: navigation, search
(Parser Compatibility: wordpress suggestions)
Current revision (00:27, 16 September 2017) (view source)
(Parser Compatibility: incorporate more specific backcompat parsing wording, some from h-entry, and provide clear fallback from h-feed to hfeed to implied h-feed of top level h-entrys)
 
Line 72: Line 72:
=== Parser Compatibility ===
=== Parser Compatibility ===
-
When <span id="Parsing">parsing</span> a page for an h-feed, in addition to just following the [[microformats2-parsing]] specification, implementations may do the following for backward compatibility with existing [[hatom|hAtom]] content.
+
For backward compatibility with existing [[hatom|hAtom]] content, microformats parsers {{should}} detect classic properties only if a classic root class name is found and parse them as microformats2 properties.  
-
(this section is a stub and needs review and citations to note what real world examples would each of these rules actually help parse)
+
If an "h-feed" is found, don't look for an "hfeed" on the same element.
-
If there is no explicit "h-feed" element, implementations may:
+
Compat root class name: <code id="hfeed">hfeed</code><br/>
-
* Treat the <code>&lt;title&gt;</code> of the page or the URL of the page as the p-name
+
Properties: (parsed as '''p-''' plain text unless otherwise specified):
-
* Use https://indieweb.org/authorship to discover authorship of posts.
+
-
* Treat top level [[h-entry]] elements as items in the feed.
+
-
If there is a "hfeed" element, implementations may:
+
(this section is a stub and needs review and citations to note what real world examples would each of these backcompat parsing rules actually help parse)
-
* Treat site-title as p-name [wordpress has this by default, and without it implied p-name will be the whole feed]
+
 
-
* Treat site-description as p-summary [wordpress has this by default]
+
* <code>rel=tag</code> - parse as '''<code>p-category</code>'''. While not a class name nor typical microformats property, rel=tag was the defined way to tag an hfeed. Thus parsers should look for rel=tag hyperlinks inside an hfeed, and take the last path segment of their "href" value as a value for a '''<code>p-category</code>''' property.
 +
* <code>site-title</code> - parse as '''<code>p-name</code>''' [WordPress (Core? Typical themes?) has this class name by default, and without it buggy parsers may imply p-name as the whole h-feed ([http://microformats.org/wiki/microformats2-parsing#parsing_for_implied_properties implied properties only apply to actual h-x roots, not backcompat]).]
 +
* <code>site-description</code> - parse as '''<code>p-summary</code>''' [WordPress (Core? Typical themes?) has this class name by default]
 +
 
 +
If no "h-feed" nor "hfeed" element is found, however multiple top-level [[h-entry]] elements (explicit or backcompat) are found, implementations may use:
 +
* top level [[h-entry]] elements as items in a synthetic h-feed.
 +
* <code>&lt;title&gt;</code> of the page or the URL of the page as '''<code>p-name</code>'''
 +
* https://indieweb.org/authorship on the page to discover default authorship for any h-entry posts lacking explicit parsed <code>author</code> properties.
== FAQ ==
== FAQ ==

Current revision


Tantek Çelik (Editor)


h-feed is a simple, open format for publishing a stream or feed of h-entry posts, like complete posts on a home page or archive pages, or summaries or other brief lists of posts. h-feed is one of several open microformat draft standards suitable for embedding data in HTML.

h-feed is the microformats2 update to hAtom, and in particular its "hfeed" root class.

Per CC0, to the extent possible under law, the editors have waived all copyright and related or neighboring rights to this work. In addition, as of 2017-12-12, the editors have made this specification available under the Open Web Foundation Agreement Version 1.0.

Contents

Properties

h-feed properties, inside an element with class h-feed. All properties are optional.

root class name: h-feed

Core Properties

The following core h-feed properties have broad consensus:

children:

Draft Properties

None currently.

Proposed Properties

The following properties are proposed additions based on various observed examples in the wild, but are awaiting at least one reader / real world consuming code example to become a draft property:

Status

h-feed is a microformats.org draft specification. Public discussion on h-feed takes place on h-entry-feedback and the #microformats irc channel on irc.freenode.net.

h-feed is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-feed up as a classic hAtom "hfeed".

Use Cases

Examples in the wild

Add any examples in the wild that you find to the top of this list.

Implementations

Readers

Proxies

Converters

Backward Compatibility

Publisher Compatibility

(this section is a stub and needs to be expanded with real world examples and minimal properties)

Parser Compatibility

For backward compatibility with existing hAtom content, microformats parsers SHOULD detect classic properties only if a classic root class name is found and parse them as microformats2 properties.

If an "h-feed" is found, don't look for an "hfeed" on the same element.

Compat root class name: hfeed
Properties: (parsed as p- plain text unless otherwise specified):

(this section is a stub and needs review and citations to note what real world examples would each of these backcompat parsing rules actually help parse)

If no "h-feed" nor "hfeed" element is found, however multiple top-level h-entry elements (explicit or backcompat) are found, implementations may use:

FAQ

How do I avoid duplicating the page title

I want to use the name (title) of my page as the name of my feed, how do I avoid duplicating the page title somewhere invisibly on the page as the feed name?

If you want re-use the <title> of your page as the name of your feed, you can do so by putting the h-feed root class name on the <html> element, and the p-name property class name on the <title> element, e.g. here's a snippet showing how those tags would look:

<html class="h-feed"><title class="p-name">sandeep.io</title>

What should a subscriber do with a page with multiple feeds

What do I do when a user subscribes to a URL with multiple distinct h-feeds?

A feed reader should subscribe to the first h-feed it finds at a URL.

Related: http://indiewebcamp.com/reader

See Also

Categories

h-feed was last modified: Saturday, September 16th, 2017

Views