6/24/2023 0 Comments Javascript rss reader![]() Sure, it has its quirks – single threaded, callback hell, etc.– but we believe that it’s possible to build great software in any language.įor Winds, JavaScript has been a great choice to foster a community around the project. What’s funny about JavaScript is how many people complain about it being an inadequate language. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this example app. If you were brave enough to explore the codebase, you probably noticed that we’re using JavaScript for everything – both front and backend. We want it to be easy for anyone to be able to notice something they don’t like about their RSS/Podcast experience and easily submit a pull request with a fix or addition. Our hope with this project is to make a contribution to #ReviveRSS.Īnother core goal for Winds is to enable a wide range of developers to contribute. One of our goals with Winds is to answer the questions we had been asking ourselves: What if a community of developers and designers could create an RSS experience that’s simplistic and polished? Could this reverse the downward spiral of less users taking advantage of the technology and more publications dropping support? We realize that many RSS power users are developers, designers and journalists. Next up, let’s talk a little bit about the Winds 2.0 stack and why we chose to go with the technologies we did (and why we chose to build Winds in the first place!). To get started with Winds 2.0, you can try the web version or download the application here, or if you feel more adventurous head over to GitHub and spin it up locally. Winds, however, is based on Node.js, MongoDB Atlas, Express, PM2, Bull, Babel and React. You may have seen the blogpost that StackShare wrote about how Stream powers the activity feeds for 300 million users using Go, RocksDB and Raft. The tech stack for Winds is completely different from that of Stream. Going into it, there was no way to anticipate how popular Winds 2.0 would become - would it be an absolute hit or an epic failure and waste of time? The team enjoys building example apps so I knew it wouldn’t be a total loss, and it’s been rewarding to see this new iteration being used so extensively in the first month after release. Since launching in mid-May the application ranked #1 on Hacker News for over a day, has 5,200 stars (and counting) on GitHub and became a trending app on Product Hunt. The initial response around Winds 2.0 has exceeded all of our expectations. Winds started out as a simple example app for Stream, but thanks to an outpouring of support from our awesome community we decided to focus more time and energy on the project. If your RSS feed contains fields that aren't currently returned, you can access them using the customFields option.By Nick Parsons, Sr. Atom's updated becomes lastBuildDate for consistency. ![]() If author is specified, but not dc:creator, creator will be set to author ( see article).Both dc:date and pubDate will be available in ISO 8601 format as isoDate.The dc: prefix will be removed from all fields.The contentSnippet field strips out HTML tags and unescapes HTML entities.title: 'The water is too deep, so he improvises ' link: ' ' pubDate: 'Thu, 21:16:39 +0000 ' creator: "John Doe " content: 'this is a link & this is bold text ' contentSnippet: 'this is a link & this is bold text ' guid: ' ' categories: feed.entries is now ems (to better match RSS XML)Ĭheck out the full output format in test/output/reddit.jsonįeedUrl: ' ' title: 'reddit: the front page of the internet ' description: " " link: ' ' items:.parsed.feed is now just feed (top-level object removed).options are now passed to the Parser constructor.parseFile is no longer available (for better browser support).You need to construct a new Parser() before calling parseString or parseURL.parseURL ( CORS_PROXY + '', function ( err, feed ) ) Upgrading from v2 to v3Ī few minor breaking changes were made in v3. const CORS_PROXY = "" let parser = new RSSParser ( ) parser. To get around this, you can use a proxy. ![]() ![]() ![]() Note: some RSS feeds can't be loaded in the browser due to CORS security. ![]()
0 Comments
Leave a Reply. |