Skip to content

Latest commit

 

History

History
95 lines (71 loc) · 2.43 KB

README.md

File metadata and controls

95 lines (71 loc) · 2.43 KB

feed-finder

Stubborn feed auto discovery tool.

There wasn't any satisfyingly determined feed discover tool in npm, so here it is. Highly inspired by damog's feedbag.

Install

For programmatic use in your project:

npm install --save feed-finder

For cli usage:

npm install --global feed-finder

Usage

For programmatic usage see API section.

CLI

CLI command takes only one input as domain:

$> feed-finder mashable.com

Search results for "mashable.com":
  - http://feeds.mashable.com/Mashable
  - http://mashable.com/feed/

If input misses a dot, some popular tld's appended to input. This takes slightly longer time.

$> feed-finder wired

Search results for "wired":
  - http://www.wired.com/feed/
  - http://www.wired.com/feed/podcast
  - http://wired.com/?feed=rss
  - http://wired.com/feed/
  - http://wired.com/feed/rss/
  - http://wired.com/services/rss/
  - http://wired.net/?feed=rss
  - http://www.wired.co.uk/news/rss
  - http://www.wired.co.uk/reviews/rss
  - http://www.wired.co.uk/podcast/rss
  - http://www.wired.co.uk/rss
  - http://wired.co.uk/rss
  - http://wired.co.uk/podcast/rss
  - http://wired.co.uk/feed/rss/
  - http://wired.co.uk/services/rss/

(Some results are clipped from actual result, as they were bloating too much)

Options

--no-guess

Disables known feed endpoint checks, only looks feeds in input url.

--no-www-switch

Disables www switch. By default feed-finder adds missing www and looks for that domain too, and removes www when it's provided.

API

var feedFinder = require('feed-finder'),
    feedRead = require('feed-read');

feedFinder('mashable.com', function (err, feedUrls) {
    if (err) return console.error(err);

    feedUrls.forEach(function (feedUrl) {
        feedRead(feedUrl, function (err, articles) {
            if (err) throw err;
            // Each article has the following properties:
            //
            //   * "title"     - The article title (String).
            //   * "author"    - The author's name (String).
            //   * "link"      - The original article link (String).
            //   * "content"   - The HTML content of the article (String).
            //
        });
    });
});

feed-read module is given just for sake of this example. There are numerous feed readers parsers in the wild.

License

ISC (c) Can Kutlu Kınay