Support Node.js 0.10–6 (#132)

* Update dependencies

* Switch from jsdom to cheerio

* Update the supported Node.js versions

* Recompile the client-side CSS and JS
This commit is contained in:
Rowan Manning
2016-05-26 15:33:58 +01:00
committed by Andrew Mee
parent 6bfb4f72d9
commit ae6208d87e
18 changed files with 177 additions and 183 deletions

27
app.js
View File

@@ -15,6 +15,8 @@
'use strict';
var bodyParser = require('body-parser');
var compression = require('compression');
var createClient = require('pa11y-webservice-client-node');
var EventEmitter = require('events').EventEmitter;
var express = require('express');
@@ -40,7 +42,7 @@ function initApp(config, callback) {
app.webservice = createClient(webserviceUrl);
// Compression
app.express.use(express.compress());
app.express.use(compression());
// Public files
app.express.use(express.static(__dirname + '/public', {
@@ -49,26 +51,28 @@ function initApp(config, callback) {
// General express config
app.express.disable('x-powered-by');
app.express.use(express.bodyParser());
app.express.use(bodyParser.urlencoded({
extended: true
}));
// View engine
app.express.set('views', __dirname + '/view');
app.express.engine('html', hbs.express3({
app.express.engine('html', hbs.express4({
extname: '.html',
contentHelperName: 'content',
layoutsDir: __dirname + '/view/layout',
partialsDir: __dirname + '/view/partial',
defaultLayout: __dirname + '/view/layout/default'
}));
app.express.set('views', __dirname + '/view');
app.express.set('view engine', 'html');
// View helpers
require('./view/helper/date')(hbs.registerHelper);
require('./view/helper/string')(hbs.registerHelper);
require('./view/helper/url')(hbs.registerHelper);
require('./view/helper/date')(hbs);
require('./view/helper/string')(hbs);
require('./view/helper/url')(hbs);
// Populate view locals
app.express.locals({
app.express.locals = {
lang: 'en',
year: (new Date()).getFullYear(),
version: pkg.version,
@@ -76,12 +80,13 @@ function initApp(config, callback) {
bugtracker: pkg.bugs,
noindex: config.noindex,
readonly: config.readonly,
siteMessage: config.siteMessage
});
siteMessage: config.siteMessage,
settings: {}
};
app.express.use(function(req, res, next) {
res.locals.isHomePage = (req.path === '/');
res.locals.host = req.host;
res.locals.host = req.hostname;
next();
});