-
Notifications
You must be signed in to change notification settings - Fork 78
/
server.js
39 lines (30 loc) · 1000 Bytes
/
server.js
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
'use strict';
var express = require('express');
var nunjucks = require('nunjucks');
var _ = require('lodash');
var app = express();
var PORT = process.env.PORT || '3000';
var IP = process.env.IP || '127.0.0.1';
nunjucks.configure('stories', {
autoescape: true,
express: app
});
var context = require('./lib/misc.js').getPOS(__dirname, 'pos');
// When no template is specified, choose one randomly
app.get('/', function(req, res) {
var allLayouts = require('./lib/misc.js').requireLayout(__dirname, 'stories');
res.render(_.sample(allLayouts), context);
});
app.get('/favicon.ico', function (req, res) {
// Ignore favicon.
res.writeHead(200, {'Content-Type': 'image/x-icon'} );
res.end();
return;
});
// Route to a particular template if one is specified
app.get('/:template', function(req, res) {
res.render(req.params.template, context);
});
var server = app.listen(process.env.PORT, function () {
console.log('Example app listening at http://%s:%s', IP, PORT);
});