// Simulate config options from your production environment by // customising the .env file in your project's root folder. require('dotenv').load(); // Require keystone var keystone = require('keystone'), handlebars = require('express-handlebars'); // Overrides to non-configurable keystone options keystone.routes = require('./admin/router'); keystone.render = require('./admin/render'); // Initialise Keystone with your project's configuration. // See http://keystonejs.com/guide/config for available options // and documentation. keystone.init({ 'name': 'SapientCMS', 'brand': 'SapientCMS', 'sass': 'public', 'static': 'public', 'favicon': 'public/favicon.ico', 'views': 'templates/views', 'view engine': 'hbs', 'custom engine': handlebars.create({ layoutsDir: 'templates/views/layouts', partialsDir: 'templates/views/partials', defaultLayout: 'default', helpers: new require('./templates/views/helpers')(), extname: '.hbs' }).engine, 'auto update': true, 'session': true, 'auth': true, 'user model': 'User', 'cookie secret': '*frh":IcIak-*CTLKEU7MB[WN"a?/Q",Zrs@;y6PK6W2b?gl8,M_>vbEJ`XCH?Ro', 'signin redirect': process.env.BACKEND_DIR }); // Load your project's Models keystone.import('models'); // Setup common locals for your templates. The following are required for the // bundled templates and layouts. Any runtime locals (that should be set uniquely // for each request) should be added to ./routes/middleware.js keystone.set('locals', { _: require('underscore'), env: keystone.get('env'), utils: keystone.utils, editable: keystone.content.editable }); keystone.set('routes', require('./routes')); // Configure the navigation bar in Keystone's Admin UI keystone.set('nav', { 'posts': ['posts', 'post-categories'], 'galleries': 'galleries', 'enquiries': 'enquiries', 'users': 'users' }); // Start Keystone to connect to your database and initialise the web server keystone.start();