Skip to content
This repository has been archived by the owner on Jul 23, 2018. It is now read-only.

chilts/feed2json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feed2json

Converts both RSS and Atom feeds to JSONFeed format. A hosted version exists at feed2json.org.

JSONFeed

Even though JSON has its problems, it is hundreds of times better than dealing with XML. Therefore, this package is designed to help you convert from RSS or Atom feeds into the JSONFeed format. At that point you know what you have and can deal with it more effectively. It will also convert any non-UTF8 feeds too since JSON is UTF8 by default.

Synopsis

This project contains the converter but does not fetch the feed for you. You must do that yourself.

Example showing a conversion of an RSS file on disk:

let stream = fs.createReadStream(path.join(__dirname, 'rss.xml'))

feed2json.fromStream(stream, url, (err, json) => {
  // check for err
  // otherwise `json` is populated with JSONFeed format
})

Example showing a conversion from an Atom feed fetched with request:

let url = "https://chilts.org/atom.xml"
let req = request(url)

feed2json.fromStream(req, url, (err, json) => {
  // check for err
  // otherwise `json` is populated with JSONFeed format
})

Example showing a conversion from a feed already in a string variable:

let url = "https://chilts.org/rss.xml"
let str = [
    '<?xml version="1.0" encoding="UTF-8"?>"',
    '<rss version="2.0">',
    '...etc...',
    '</rss>',
].join('\n')

feed2json.fromString(str, url, (err, json) => {
  // check for err
  // otherwise `json` is populated with JSONFeed format
})

feed2json.org

Note: this package has been tested on https://feed2json.org and has converted many feeds to JSONFeed. It's not perfect, I'm sure, but it's doing a decent job. Please send any PRs or patches my way so we can improve the conversion process together. :) Many thanks.

Author

By Andrew Chilton, @twitter.

For AppsAttic, @AppsAttic.

And ZenType, @ZenTypeHQ.

License

ISC.

(Ends)