This repository was archived by the owner on Apr 24, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathserver.js
More file actions
99 lines (81 loc) · 3.47 KB
/
Copy pathserver.js
File metadata and controls
99 lines (81 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
var express = require('express');
app = express();
app.set('views', './templates');
var nunjucks = require('nunjucks');
var env = new nunjucks.Environment(new nunjucks.FileSystemLoader('templates/'));
env.express(app);
var rss = require('./src/rss');
var RSS_FEEDS = require('./src/constants').RSS_FEEDS;
var util = require('./src/util');
var youtube = require('./src/youtube');
// almostbetter.network -> almostbetter.net
app.use(function(req, res, next) {
if (req.hostname !== 'almostbetter.network') {
next();
return;
}
res.redirect(301, 'http://almostbetter.net' + req.originalUrl);
});
app.get('/', function(req, res) {
util.eachPromise({
'feed_abts': rss.getRSS(RSS_FEEDS.abts, 'abts'),
'feed_abtd': rss.getRSS(RSS_FEEDS.abtd, 'abtd'),
'feed_dad': rss.getRSS(RSS_FEEDS.dad, 'dad'),
'feed_ect': rss.getRSS(RSS_FEEDS.ect, 'ect'),
'feed_otg': rss.getRSS(RSS_FEEDS.otg, 'otg'),
'feed_pcp': rss.getRSS(RSS_FEEDS.pcp, 'pcp'),
'feed_pnol': rss.getRSS(RSS_FEEDS.pnol, 'pnol'),
'youtube_abts': youtube.getFeed('UCGJppo4ZMBm3f5_QAU8kQWA', 7),
}).then(function(data) {
var mergedFeeds = rss.mergeFeeds([
data.feed_abts,
data.feed_abtd,
data.feed_dad,
data.feed_ect,
data.feed_otg,
data.feed_pcp,
data.feed_pnol,
]);
console.log('Homepage ready to render');
res.render(
'index.html',
{
feeds: mergedFeeds,
feedNames: {
'abts': 'Almost Better Than Silence',
'abtd': 'Almost Better Than Dragons',
'dad': 'Dumbbells and Dragons',
'ect': 'Erie Canal Theatre',
// 'lio': 'Life In Overdrive',
'otg': 'One Track Gamers',
'pcp': 'Press Continue Podcast',
'pnol': 'Paper News Out Loud',
// 'tsk': 'That\'s So Kawaii',
},
iTunesPages: {
'abts': 'https://itunes.apple.com/us/podcast/almost-better-than-silence/id953967760?mt=2&ls=1',
'abtd': 'https://itunes.apple.com/us/podcast/almost-better-than-dragons/id981540916?mt=2&ls=1',
'dad': 'https://itunes.apple.com/us/podcast/dumbbells-dragons/id1095567424?mt=2',
'ect': 'https://itunes.apple.com/us/podcast/erie-canal-theatre/id1088592920?mt=2',
'otg': 'https://itunes.apple.com/us/podcast/one-track-gamers/id956587044?mt=2',
'pcp': 'https://itunes.apple.com/us/podcast/press-continue-podcast/id875157024?mt=2&ls=1',
'pnol': 'https://itunes.apple.com/us/podcast/paper-news-out-loud/id1322211414?mt=2',
// 'lio': 'https://itunes.apple.com/us/podcast/life-in-overdrive/id1067347687?mt=2',
// 'tsk': 'https://itunes.apple.com/us/podcast/thats-so-kawaii/id1035343949?mt=2',
},
RSSFeeds: RSS_FEEDS,
youtubeFeed: data.youtube_abts.items,
}
);
}, error).then(null, error);
function error(err) {
console.error(err);
res.render('error');
}
});
app.get('/archive', function(req, res) {
res.render('archive.html');
});
app.use('/feeds', require('./src/modules/feeds'));
app.use(express.static(__dirname + '/www'));
app.listen(process.env.PORT || 8000);