1
0
mirror of https://github.com/mgerb/mywebsite synced 2026-01-11 18:32:50 +00:00

updated bunch of file paths and changed the way posts are loaded

This commit is contained in:
2016-01-05 12:28:04 -06:00
parent 4bb8cae81e
commit 6ab45fe935
13249 changed files with 317868 additions and 2101398 deletions

View File

@@ -1,6 +1,9 @@
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var fs = require('fs');
var jsdom = require("jsdom");
var async = require('async');
require('../models/currentdata');
var info = mongoose.model('currentdata');
@@ -167,18 +170,48 @@ function timeValidator(time){
function renderIndex(res, json){
temperature.findOne({location : "Winona Apartment"}).sort("-updated").exec(function(err, info){
getPosts(function(posts){
res.render('index',{returnParameters : json,
blogPosts : posts});
});
}
//function to get the posts - sorts them by birth time
//uses async to process them in order
//calls outerCB to process next iteration
function getPosts(callback){
var dir = './public/posts';
var posts = [];
fs.readdir(dir, function(err, files){
posts.find().sort('-updated').exec(function(err, postsQuery){
res.render('index',{returnParameters : json,
query : info,
blogPosts : postsQuery});
files.sort(function(a, b){
return fs.statSync(dir + '/' + b).birthtime.getTime() -
fs.statSync(dir + '/' + a).birthtime.getTime();
});
async.eachSeries(files, function(file, outerCB){
var data = fs.readFileSync(dir + '/' + file, 'utf8');
var post = {};
jsdom.env(data,["http://code.jquery.com/jquery.js"],function (err, window) {
post.filename = file;
post.title = window.$("#title").text();
post.date = window.$("#date").text();
post.intro = window.$("#intro").text();
posts.push(post);
outerCB(null);
});
}, function(err){
callback(posts);
});
});
}
@@ -189,6 +222,3 @@ function renderIndex(res, json){

View File

@@ -1,48 +1,29 @@
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var multer = require('multer')();
var fs = require('fs');
require('../models/posts');
var info = mongoose.model('posts');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('newpost');
});
router.post('/', multer.single('file'), function(req, res,next) {
var title = req.body.title;
var date = req.body.date;
var intro = req.body.intro;
var key = req.body.key;
var file = req.file;
var entry = new info({
title: title,
date: date,
intro: intro,
path: ('./blogposts/' + file.originalname),
fileName: file.originalname
});
var postsFolder = './public/posts/';
if (key == "Chimera#55.com"){
fs.access(('./views/blogposts/' + file.originalname), fs.F_OK, function(err){
fs.access((postsFolder + file.originalname), fs.F_OK, function(err){
//if file doesn't already exist
if (err){
fs.writeFile(('./views/blogposts/' + file.originalname), file.buffer, function(err) {
fs.writeFile((postsFolder + file.originalname), file.buffer, function(err) {
if (!err){
//save data in database and send response to user
entry.save(function (err, saved) {
if (!err) {
res.render('newpost', {message : "Submission Accepted"});
}
});
res.render('newpost', {message : "Submission Accepted"});
}