syndication
v0.1.13
Published
A library written in NodeJS for Syndicating RSS & ATOM based feeds. It is a Promise based library which extends feedparser.
Downloads
80
Maintainers
Readme
Syndication
This is a simple module that enables the feedparser with Promise. It depends on the following libraries:-
#Installation
For the installation you can get along with the following
npm install syndication --save
The dependencies the above module have is explained below:-
Request A module for making HTTP request. Basically a HTTP client. This helps to fetch the RSS/ATOM/RDF URLS and helps in parsing the same.
Feedparser This module adds methods for RSS, Atom, and RDF feed parsing in node.js using Isaac Schlueter's sax parser.
#Current Features
Simple Parsing using URL's, the scenario is mentioned below
var Syndication = require("syndication"); var feeds = new Syndication(); var feedPromise = feeds.fetch('http://thing.live/rss'); feedPromise.then((feed) => { console.log(feed); }).catch((error) => { console.log(error); });
Using Promise.all() to resolve multiple Promises for fetching feeds.
var Syndication = require("syndication"); var feeds = new Syndication(); var fetchedFeeds = feeds.fetch('http://thing.live/rss'); var fetchedFeeds1 = feeds.fetch('http://rss.cnn.com/rss/edition.rss'); /*Using Promise.all() to Resolve*/ Promise.all([ fetchedFeeds, fetchedFeeds1 ]).then((val) => { console.log(val); }).catch((error) => { console.log(error) });
Using fetchAll(options) to get an Array of Promises that can be resolved
var Syndication = require('syndication'); var feeds = new Syndication(); var fetchedFeedsPromise=feeds.fetchAll([ 'http://feeds.reuters.com/reuters/INtopNews', 'http://feeds.reuters.com/reuters/INbusinessNews', 'http://feeds.reuters.com/reuters/INsouthAsiaNews', 'http://feeds.reuters.com/reuters/INworldNews' ]); Promise.all(fetchedFeedsPromise).then((item)=>{ console.log(item); }).catch((e)=>{ console.log(error) });
#Upcoming Features
- [x] Fetching single URL for feeds
- [x] Fetching Multiple URLs using Promise.all()
- [x] Fetching Multiple URLs for feeds and Returing Array of Promises
- [ ] Timeout for Feeds
- [ ] Storage
- [ ] Feed Queueing System for Processing Properly
- [ ] REST Based Interface
- [ ] Easy Management for Segregated URLS(URL Grouping)
- [ ] Documentation
- [ ] Testing