Skip to content

Instantly share code, notes, and snippets.

Created September 25, 2010 04:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/596475 to your computer and use it in GitHub Desktop.
Save anonymous/596475 to your computer and use it in GitHub Desktop.
var fs = require('fs'),
connect = require('connect'),
express = require('express'),
sys = require('sys'),
form = require('connect-form'),
MemoryStore = require('connect/middleware/session/memory'),
auth = require(__dirname + '/lib/connect-auth/auth');
pub = __dirname + '/public';
require.paths.unshift('vendor/mongoose');
var mongoose = global.mongoose = require('mongoose').Mongoose;
var db = module.exports.database = mongoose.connect('mongodb://localhost/zm_node');
var app = module.exports.app = express.createServer(
express.logger({ format: ':method :url :status' }),
express.bodyDecoder(),
express.methodOverride(),
express.cookieDecoder(),
express.session(),
express.staticProvider(__dirname + '/public'),
connect.compiler({ src: pub, enable: ['sass'] }),
connect.staticProvider(pub)
);
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
var controllers = {};
fs.readdir(__dirname + '/controllers', function(err, files){
if (err) throw err;
files.forEach(function(file){
var controller = file.replace('.js','');
return controllers[controller] = require('./controllers/' + controller);
});
});
// require('./controllers/user')
app.dynamicHelpers({
request: function(req){
return req;
},
hasMessages: function(req){
return Object.keys(req.session.flash || {}).length;
},
messages: function(req){
return function(){
var msgs = req.flash();
return Object.keys(msgs).reduce(function(arr, type){
return arr.concat(msgs[type]);
}, []);
}
}
});
app.error(function(err, req, res){
console.dir(err)
res.render('500');
});
// Example 404 page via simple Connect middleware
app.use(function(req, res){
res.render('404');
});
app.listen(8080);
console.log('Application server started on port 8080');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment