Skip to content

JReinhold/feedparser-promised

 
 

Repository files navigation

feedparser-promised

npm version downloads npm license travis build codeclimate score

Wrapper around feedparser with promises.

Install

  $ npm install --save feedparser-promised

Usage

  const feedparser = require('feedparser-promised');

  const url = 'http://feeds.feedwrench.com/JavaScriptJabber.rss';

  feedparser.parse(url).then( (items) => {
    items.forEach(item => console.log('title:', item.title));
  }).catch(error => console.error('error: ', error));

Using HTTP Node.js options

const feedparser = require('feedparser-promised');

const options = {
  uri: 'http://feeds.feedwrench.com/JavaScriptJabber.rss',
  timeout: 3000,
  gzip: true,
  // ...
};

feedparser.parse(options).then( (items) => { /* do your magic here */ });

List of article properties

  • title: title
  • description: frequently, the full article content
  • summary: frequently, an excerpt of the article content
  • link: link
  • origlink: when FeedBurner or Pheedo puts a special tracking url in the link property, origlink contains the original link
  • permalink: when an RSS feed has a guid field and the isPermalink attribute is not set to false, permalink contains the value of guid
  • date: most recent update
  • pubdate: original published date
  • author: author
  • guid a unique identifier for the article
  • comments: a link to the article's comments section
  • image: an Object containing urlandtitle` properties
  • categories: an Array of Strings
  • source: an Object containing url and title properties pointing to the original source for an article; see the RSS Spec for an explanation of this element
  • enclosures: an Array of Objects, each representing a podcast or other enclosure and having a url property and possibly type and length properties
  • meta: an Object containing all the feed meta properties; especially handy when using the EventEmitter interface to listen to article emissions

Contributing

There are many ways to contribute, such as fixing opened issues, creating them or suggesting new ideas. Either way will be very appreciated.

If there are issues open, I recommend you follow those steps:

  • Create a branch feedparser-promised#{issue_number}; eg: feedparser-promised#42
  • Please, remember to write unit tests.
  • Send a pull request!

Running Tests

$ npm test

License

feedparser-promised is released under the MIT License.

About

Wrapper around feedparser with promises

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%