node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



npm install feedreader


var feedreader = require("feedreader");
var request = require("request");
request("", function (err, response, xml) {
    if (!err && response.statusCode == 200) {
        feedreader(xml, function(err, feed){
            // Should output something like: "RSS 2.0 feed has 40 items" 
            console.log(feed.spec + " " + feed.version + " feed has " + feed.items.length + " items");

Feed Object

feedreader returns a normalized javascript object in the following format, regardless of whether the source XML was RSS or ATOM.

    spec:  String // RSS or ATOM 
    version: Number // Detected version (ie: 2.0) if RSS, ATOM is always 1.0 
    title: String // Title of the feed 
    link: String // Link back to homepage of feed 
    description: String // Short description of feed 
    image: String // URL of an image used to represent the feed 
    copyright: String // Copyright text for feed 
    items: Array // Array of items in the feed 

Individual feed items feed.items[x] are in the following format:

    title: String // Item title 
    link: String // Link associated with item 
    content: String // Main item content 
    author: String // Author name, email, etc.. 
    categories: Array // Array of string containing categories for this item 
    pubdate: Date // Javascript date object representing when item was posted 

Running Tests

feedreader includes a couple of unit tests which should be helpful if you're planning to make your own additions. Run them like so:

npm test feedreader

Tests are included in the /test directory.