-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathapp.js
46 lines (38 loc) · 1.32 KB
/
app.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
40
41
42
43
44
45
46
//
// Front-End Library server entry point
//
'use strict';
// Load external dependencies
var express = require('express');
var swig = require('swig');
var app = express();
// Load app dependencies
var config = require('./app/config');
var gruntWatcher = require('./app/grunt-watcher');
var redirects = require('./app/middleware/redirects');
var reqVariables = require('./app/middleware/req-variables');
var controllers = require('./app/controllers');
// Start Grunt watcher, for Sass & Autoprefixer
gruntWatcher();
// App & view configuration
swig.setDefaults({cache: false});
app.engine('.html', swig.renderFile);
app.set('views', __dirname + '/src/');
app.set('view engine', 'html');
app.disable('view cache');
// Set middleware
app.use(express.compress());
app.use(redirects);
app.use(reqVariables);
// Set controllers
app.get('/static/img/*.svg.*.png', controllers.svg2png);
app.get(/(^\/docs\/$|(^\/docs\/index\.html$))/, controllers.docs.index);
app.get(/\/docs\/modules\/(.*)/, controllers.docs.module);
app.get(/\/docs\/_modules\/(.*)/, controllers.docs._module);
app.get('/static/*', controllers.static);
app.use(controllers.views);
app.use(controllers.page404);
// Start server
app.listen(config.server.port);
console.log('Listening on port ' + config.server.port);
console.log('Use Ctrl+C or SIGINT to exit.');