From 3f457d3044b0bc6dc76b341d712a9c6ccb9c75ba Mon Sep 17 00:00:00 2001 From: George Gastaldi Date: Fri, 22 May 2015 15:15:19 -0300 Subject: [PATCH] Added atom.xml support --- package.json | 3 ++- server.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 935c66b..2566bd6 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "config-multipaas": "^0.1.0", "restify": "^2.8.3", "fetch" : "0.3.6", - "js-yaml": "3.3.0" + "js-yaml": "3.3.0", + "feed" : "0.2.6" }, "devDependencies": {}, "bundleDependencies": [], diff --git a/server.js b/server.js index 939bdf1..1f56106 100755 --- a/server.js +++ b/server.js @@ -6,6 +6,7 @@ var cc = require('config-multipaas'), fs = require('fs'), url = require('url'), yaml = require('js-yaml'), + Feed = require('feed'), exec = require('child_process').exec; // Git utilities var Git = @@ -148,6 +149,34 @@ app.post('/api/v2/webhooks/cache_invalidate', function(req, res) { res.end(); }); +app.get('/atom.xml', function (req,res) { + var feed = new Feed({ + title: 'JBoss Forge Blog Feed', + description: 'Stay up to date on JBoss Forge', + link: 'http://forge.jboss.org/', + //image: 'http://forge.jboss.org/images/forge_logo_215x60.png', + copyright: 'Copyright 2015 Red Hat, Inc. and/or its affiliates', + author: { + name: 'JBoss Forge Team' + } + }); + getNews().forEach(function (newsItem) { + feed.addItem({ + title: newsItem.title, + link: 'http://forge.jboss.org/#/news/' + newsItem.id, + author: { + name: newsItem.author + }, + description: newsItem.summary, + date: newsItem.date + }); + }); + res.status(200); + res.header("Content-Type", "text/xml"); + res.write(feed.render('atom-1.0')); + res.end(); +}); + // Everything except the already defined routes. IMPORTANT: this should be the last route app.get(/\/?.*/, restify.serveStatic({default: 'index.html', directory: './app/'}));