syndication

0.1.13 • Public • Published

Syndication

NPM Version NPM Downloads Packagist

Made By Syndication

This is a simple module that enables the feedparser with Promise. It depends on the following libraries:-

  1. request
  2. feedparser

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

  1. 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);
    });
  2. 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)
    });
  3. 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

  • Fetching single URL for feeds
  • Fetching Multiple URLs using Promise.all()
  • 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

Package Sidebar

Install

npm i syndication

Weekly Downloads

15

Version

0.1.13

License

MIT

Last publish

Collaborators

  • shivkumarganesh