Previous: Mail-like Back Ends, Up: Back End Interface [Contents][Index]
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.