Commit d6574a6e authored by IsfandKhan's avatar IsfandKhan
Browse files

Some functionalities not implemented(Read More on Index page)

parent 14f7dfc4
Loading
Loading
Loading
Loading

app.js

0 → 100644
+93 −0
Original line number Original line Diff line number Diff line
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var bodyParser = require('body-parser');
var session= require('express-session');
var multer = require('multer');
var flash = require('connect-flash');
var moment = require('moment');
var expressValidator = require('express-validator');
var upload = multer({dest:'uploads/'});
var db = require('monk')('localhost/nodeblog');

var indexRouter = require('./routes/index');
var postsRouter = require('./routes/posts');
var categoryRouter = require('./routes/categories');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(function(req, res, next)
{
  req.db = db;
  next();
});

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'uploads')));

app.use(flash());
app.use(function(req, res, next)
{
  res.locals.messages = require('express-messages')(req, res);
  next();
});
  
app.locals.moment = moment;
app.locals.truncateText = function(text, length){
  var truncatedText = text.substring(0,length);
  return truncatedText;
}
app.use(session({
  secret:'secret',
  saveUninitialized:true,
  resave:true
}));

app.use(expressValidator({
  errorFormatter:function(param, msg, value){
    var namespace = param.split('.'),
    root  = namespace.shift(),
    formParam = root;

    while(namespace.length)
      formParam += '[' + namespace.shift() + ']';

    return {
      param: formParam,
      msg: msg,
      value:value
    };
  }
}));

app.use('/', indexRouter);
app.use('/posts', postsRouter);
app.use('/categories', categoryRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

bin/www

0 → 100644
+90 −0
Original line number Original line Diff line number Diff line
#!/usr/bin/env node

/**
 * Module dependencies.
 */

var app = require('../app');
var debug = require('debug')('p3:server');
var http = require('http');

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

/**
 * Normalize a port into a number, string, or false.
 */

function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
    // named pipe
    return val;
  }

  if (port >= 0) {
    // port number
    return port;
  }

  return false;
}

/**
 * Event listener for HTTP server "error" event.
 */

function onError(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }

  var bind = typeof port === 'string'
    ? 'Pipe ' + port
    : 'Port ' + port;

  // handle specific listen errors with friendly messages
  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use');
      process.exit(1);
      break;
    default:
      throw error;
  }
}

/**
 * Event listener for HTTP server "listening" event.
 */

function onListening() {
  var addr = server.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
  debug('Listening on ' + bind);
}
Loading