-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
51 lines (41 loc) · 1.19 KB
/
index.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
47
48
49
50
51
require('dotenv').load();
const packageJSON = require('./package.json');
require('babel-register')(packageJSON['babel-server']);
require('babel-polyfill');
var keystone = require('keystone');
var marko = require('marko');
var decircularize = require('decircularize');
var renderMarko = function(filePath, locals, callback) {
var template = marko.load(filePath);
callback(null, template.renderToString(locals));
};
keystone.init({
'name': 'Keystone Boilerplate',
'brand': 'Keystone Boilerplate',
'static': 'public',
'favicon': 'public/favicon.ico',
'views': 'client/templates',
'view engine': 'marko',
'custom engine': renderMarko,
'logger': ':method :url :status :response-time ms - :res[content-length]',
'auto update': true,
'session': true,
'auth': true,
'user model': 'User',
'compress': true,
'headless': false //true to disable admin
});
keystone.import('server/model');
keystone.set('locals', {
_: require('lodash'),
env: keystone.get('env'),
utils: keystone.utils,
editable: keystone.content.editable
});
keystone.set('routes', require('./server'));
keystone.set('nav', {
'posts': ['posts', 'post-categories'],
'enquiries': 'enquiries',
'users': 'users'
});
keystone.start();