Skip to content
Browse files

Remove duplicate article

  • Loading branch information...
1 parent 59c9b79 commit 605b8655a0919575cde879ca211473a855ebbef4 Tim Caswell committed Mar 26, 2013
Showing with 0 additions and 112 deletions.
  1. +0 −112 articles/rendering-rss-or-atom-in-node.markdown
View
112 articles/rendering-rss-or-atom-in-node.markdown
@@ -1,112 +0,0 @@
-Title: Rendering RSS or Atom in Node.js
-Author: Jean-Philippe Monette
-Date: Thu Feb 28 2013 23:30:00 GMT-0500 (EST)
-Node: v0.8.15
-
-Web syndication is a must for any Website wishing to share some entries easily to other systems. Better known under their format name like [RSS](http://en.wikipedia.org/wiki/RSS_(file_format)) or [Atom](http://en.wikipedia.org/wiki/Atom_(standard)), they can be quite time consuming to generate without a module handling all their formating. Thanks to the power of Node's package manager [NPM](https://npmjs.org/), you can generate yours in no time.
-
-## Installing the feed wrapper
-
-Before we start, head to your project folder and install the latest version of the module [feed](https://github.com/jpmonette/feed):
-
- $ npm install feed
-
-## Building the feed
-
-First, we need to initialize a new `Feed` object. When you initialize the object, you must provide general information related to your Web syndication feed.
-
- // Require module
- var Feed = require('feed');
-
- // Initializing feed object
- var feed = new Feed({
- title: 'My Feed Title',
- description: 'This is my personnal feed!',
- link: 'http://example.com/',
- image: 'http://example.com/logo.png',
- copyright: 'Copyright © 2013 John Doe. All rights reserved',
-
- author: {
- name: 'John Doe',
- email: 'john.doe@example.com',
- link: 'https://example.com/john-doe'
- }
- });
-
-Second, you might want to identify your feed thematic. Both [RSS](http://en.wikipedia.org/wiki/RSS_(file_format)) and [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) formats offer the possibility to identify one or multiple categories. Again, this is super simple to add:
-
- feed.category('Node.js');
- feed.category('JavaScript');
-
-Third, every feed require at least one item (better known as an entry). To do so, you have to use the function `item` and provide the proper object. Of course, if you are running a content Website (like a blog!), chances are that you have multiple items. To populate your feed, use a `for` loop as followed:
-
- for(var key in posts) {
- feed.item({
- title: posts[key].title,
- link: posts[key].url,
- description: posts[key].description,
- date: posts[key].date
- });
- }
-
-At this point, everything is ready to generate your [RSS](http://en.wikipedia.org/wiki/RSS_(file_format)) or Atom feed. Use the function `render`:
-
- var output = feed.render();
-
-This is the implicit way of calling the `render` request. By default, it will render a [RSS](http://en.wikipedia.org/wiki/RSS_(file_format)) feed. You an also use the explicit way, allowing you to select between [RSS](http://en.wikipedia.org/wiki/RSS_(file_format)) or [Atom](http://en.wikipedia.org/wiki/Atom_(standard)):
-
- // Rendering a RSS 2.0 valid feed
- feed.render('rss-2.0');
-
- // Rendering an Atom 1.0 valid feed
- feed.render('atom-1.0');
-
-Yes, it's that simple!
-
-## Using with Express.js
-
-Using `feed` with [Express.js](http://expressjs.com/) is super easy. Let's say you have an `app.get()` method routing the path `/rss`. To send your feed, render your feed like we mentionned previously. After, send the result by setting the proper `Content-Type` to `text/xml`:
-
- app.get('/rss', function(req, res) {
-
- // Initializing feed object
- var feed = new Feed({
- title: 'My Feed Title',
- description: 'This is my personnal feed!',
- link: 'http://example.com/',
- image: 'http://example.com/logo.png',
- copyright: 'Copyright © 2013 John Doe. All rights reserved',
-
- author: {
- name: 'John Doe',
- email: 'john.doe@example.com',
- link: 'https://example.com/john-doe'
- }
- });
-
- // Function requesting the last 5 posts to a database. This is just an
- // example, use the way you prefer to get your posts.
- Post.findPosts(function(posts, err) {
- if(err)
- res.send('404 Not found', 404);
- else {
- for(var key in posts) {
- feed.item({
- title: posts[key].title,
- link: posts[key].url,
- description: posts[key].description,
- date: posts[key].date
- });
- }
- // Setting the appropriate Content-Type
- res.set('Content-Type', 'text/xml');
-
- // Sending the feed as a response
- res.send(feed.render('rss-2.0'));
- }
- });
- });
-
-## Conclusion
-
-There you go, it was super duper easy :)! Now, people can finally read your entries feeded from your Node.js application!

0 comments on commit 605b865

Please sign in to comment.
Something went wrong with that request. Please try again.