JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 39
  • Score
    100M100P100Q50013F
  • License MIT

A library written in NodeJS for Syndicating RSS & ATOM based feeds. It is a Promise based library which extends feedparser.

Package Exports

  • syndication

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (syndication) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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