Track tons of feeds and receive events for every new item published with this super RSS News Feed aggregator.
This is a fully functional module, but its source code and repository are also a super complete tutorial, covering:
If you're afraid to read the source code of the modules you use or to create your first module, this is the best chance you have to break this barrier :)
8.x
up through the current version of node.js4.x
, 5.x
, 6.x
, and 7.x
until rss-feed-emitter version 2.0.1
0.10.x
and 0.12.x
until rss-feed-emmiter version 1.0.7
$ npm install rss-feed-emitter
const RssFeedEmitter = require('rss-feed-emitter');
const feeder = new RssFeedEmitter();
const feeder = new RssFeedEmitter({ userAgent: 'Your UA string' });
feeder.add({
url: 'http://www.nintendolife.com/feeds/news',
refresh: 2000
});
Default refresh value is 60 seconds
You can also add multiple at once by either providing an array of urls for the url
field:
feeder.add({
url: ['http://www.nintendolife.com/feeds/news', 'http://feeds.bbci.co.uk/news/rss.xml' ],
refresh: 2000
});
or by passing multiple configs:
feeder.add({
url: 'http://www.nintendolife.com/feeds/news',
refresh: 2000
}, {
url: 'http://feeds.bbci.co.uk/news/rss.xml',
refresh: 5000
});
feeder.on('new-item', function(item) {
console.log(item);
})
you can also override the default 'new-item'
event name with a new value of your choice by providing the event name in the feed config.
feeder.add({
url: 'http://www.nintendolife.com/feeds/news',
refresh: 2000,
eventName: 'nintendo'
});
feeder.on('nintendo', function(item) {
console.log(item);
});
const feeder = new RssFeedEmitter({ skipFirstLoad: true });
feeder.add({
url: 'http://www.nintendolife.com/feeds/news',
refresh: 2000,
eventName: 'nintendo'
});
// this item will only be from the new items, not from old items.
feeder.on('nintendo', function(item) {
console.log(item);
});
Handle error events by printing to console. This handler is needed to prevent unhandled exceptions from crashing the processes.
feeder.on('error', console.error);
The list is now an ES6 getter to make the field a bit more plain to access.
feeder.list;
feeder.remove('http://www.nintendolife.com/feeds/news');
feeder.destroy();
This will remove all feeds from the instance
br><sub>@TobiTenno</sub |
---|
br><sub>@filipedeschamps</sub |
---|