Previous: , Up: Back End Interface   [Contents][Index]

12.6.2.7 Web Feed Back Ends

If you want to write a back end for a new type of web feed (RSS, Atom), or some other type of feed, an “abstract” back end (nnfeed) exists to enable the creation of such back ends with minimal knowledge of Gnus.

nnfeed defines a generic parser, which uses functions stored in server variables to parse information from a feed (nnfeed itself doesn’t actually define any such functions though).

The data parsed from the feed is stored in server variables (and stored per-feed in a sub-directory of gnus-directory whose name corresponds to the name of the back end).

A Gnus back end interface is also defined, which uses the data parsed from the feed.

Therefore, a new back end only needs to inherit from nnfeed, define (fairly) generic parsing functions for the feed type and setup the required server variables.

nnfeed was originally created to support Atom Syndication Format feeds (see Atom), but is very generic (as of writing this, no standard web feed exists which can meaningfully use all the features supported): it supports multiple groups contained in a single feed, it allows for situations when the entire feed can’t (or shouldn’t) be read ahead of time and it allows for very advanced customization of the actual printing of articles from parsed data (while providing a reasonably powerful default method).

Further implementation details are available in the documentation strings of the various nnfeed-* server variables and the commentary and other comments of nnfeed.el.