Get initial view working, sort out mongo mess with seed file
This commit is contained in:
17
app.js
17
app.js
@@ -34,6 +34,11 @@ var express = require('express'),
|
|||||||
bonfireController = require('./controllers/bonfire'),
|
bonfireController = require('./controllers/bonfire'),
|
||||||
coursewareController = require('./controllers/courseware'),
|
coursewareController = require('./controllers/courseware'),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stories
|
||||||
|
*/
|
||||||
|
storyController = require('./controllers/story');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User model
|
* User model
|
||||||
*/
|
*/
|
||||||
@@ -272,6 +277,18 @@ app.post(
|
|||||||
userController.updateProgress
|
userController.updateProgress
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main routes.
|
||||||
|
*/
|
||||||
|
app.get(
|
||||||
|
'/stories/',
|
||||||
|
storyController.index
|
||||||
|
);
|
||||||
|
app.get(
|
||||||
|
'/stories/index',
|
||||||
|
storyController.json
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Challenge related routes
|
* Challenge related routes
|
||||||
*/
|
*/
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
var R = require('ramda'),
|
var R = require('ramda'),
|
||||||
debug = require('debug')('freecc:cntr:post'),
|
debug = require('debug')('freecc:cntr:post'),
|
||||||
Post = require('./../models/Post'),
|
Story = require('./../models/Story'),
|
||||||
Comment = require('./../models/Comment'),
|
Comment = require('./../models/Comment'),
|
||||||
User = require('./../models/User'),
|
User = require('./../models/User'),
|
||||||
resources = require('./resources');
|
resources = require('./resources');
|
||||||
@@ -9,12 +9,22 @@ var R = require('ramda'),
|
|||||||
* Post Controller
|
* Post Controller
|
||||||
*/
|
*/
|
||||||
|
|
||||||
exports.index = function(req, res, next) {
|
exports.json = function(req, res, next) {
|
||||||
var posts = Post.find({}).sort({'rank': -1});
|
var story = Story.find({}).sort({'rank': -1});
|
||||||
posts.exec(function(err, listings) {
|
story.exec(function(err, stories) {
|
||||||
if (err) {
|
if (err) {
|
||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
res.json(listing);
|
res.json(stories);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.index = function(req, res, next) {
|
||||||
|
var story = Story.find({}).sort({'rank': -1});
|
||||||
|
story.exec(function(err, stories) {
|
||||||
|
if (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
res.render('post/index');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
@@ -2,13 +2,31 @@ var mongoose = require('mongoose');
|
|||||||
var secrets = require('../config/secrets');
|
var secrets = require('../config/secrets');
|
||||||
|
|
||||||
var storySchema = new mongoose.Schema({
|
var storySchema = new mongoose.Schema({
|
||||||
headline: String,
|
headline: {
|
||||||
link: String,
|
type: String,
|
||||||
body: String,
|
unique: false
|
||||||
rank: { type: Number, default: -Infinity },
|
},
|
||||||
upVotes: { type: Array, default: [] },
|
link: {
|
||||||
|
type: String,
|
||||||
|
unique: false
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
type: String,
|
||||||
|
unique: false
|
||||||
|
},
|
||||||
|
rank: {
|
||||||
|
type: Number,
|
||||||
|
default: -Infinity
|
||||||
|
},
|
||||||
|
upVotes: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
},
|
||||||
author: {},
|
author: {},
|
||||||
comments: { type: Array, default: [] }
|
comments: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = mongoose.model('Story', storySchema);
|
module.exports = mongoose.model('Story', storySchema);
|
||||||
|
@@ -84,7 +84,7 @@ Story.remove({}, function(err, data) {
|
|||||||
} else {
|
} else {
|
||||||
console.log('Deleted ', data);
|
console.log('Deleted ', data);
|
||||||
}
|
}
|
||||||
Story.create(coursewares, function(err, data) {
|
Story.create(stories, function(err, data) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
"upVotes": [],
|
"upVotes": [],
|
||||||
"author": {
|
"author": {
|
||||||
"username": "terakilobyte",
|
"username": "terakilobyte",
|
||||||
"id": "a2ad135e2aa27c14fc73ee11",
|
"userId": "a2ad135e2aa27c14fc73ee11",
|
||||||
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
||||||
},
|
},
|
||||||
"comments": []
|
"comments": []
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
"upVotes": [],
|
"upVotes": [],
|
||||||
"author": {
|
"author": {
|
||||||
"username": "terakilobyte",
|
"username": "terakilobyte",
|
||||||
"id": "a2ad135e2aa27c14fc73ee11",
|
"userId": "a2ad135e2aa27c14fc73ee22",
|
||||||
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
||||||
},
|
},
|
||||||
"comments": []
|
"comments": []
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
"upVotes": [],
|
"upVotes": [],
|
||||||
"author": {
|
"author": {
|
||||||
"username": "terakilobyte",
|
"username": "terakilobyte",
|
||||||
"id": "a2ad135e2aa27c14fc73ee11",
|
"userId": "a2ad135e2aa27c14fc73ee33",
|
||||||
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
||||||
},
|
},
|
||||||
"comments": []
|
"comments": []
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
"upVotes": [],
|
"upVotes": [],
|
||||||
"author": {
|
"author": {
|
||||||
"username": "terakilobyte",
|
"username": "terakilobyte",
|
||||||
"id": "a2ad135e2aa27c14fc73ee11",
|
"userId": "a2ad135e2aa27c14fc73ee44",
|
||||||
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
||||||
},
|
},
|
||||||
"comments": []
|
"comments": []
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
"upVotes": [],
|
"upVotes": [],
|
||||||
"author": {
|
"author": {
|
||||||
"username": "terakilobyte",
|
"username": "terakilobyte",
|
||||||
"id": "a2ad135e2aa27c14fc73ee11",
|
"userId": "a2ad135e2aa27c14fc73ee55",
|
||||||
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
"picture": "https://www.google.com/search?q=cat+photo+google+images&tbm=isch&imgil=7dFgV4OZlJObjM%253A%253BDGoqtUgH7IKDWM%253Bhttp%25253A%25252F%25252Fwww.wired.co.uk%25252Fnews%25252Farchive%25252F2012-06%25252F26%25252Fgoogle-brain-recognises-cats&source=iu&pf=m&fir=7dFgV4OZlJObjM%253A%252CDGoqtUgH7IKDWM%252C_&usg=__yxi54C0GOssHCOLnh1StLAH7KNk%3D&biw=1920&bih=981&ved=0CDYQyjc&ei=n3n1VL6ENcHZoATjvYDABQ#imgrc=7dFgV4OZlJObjM%253A%3BDGoqtUgH7IKDWM%3Bhttp%253A%252F%252Fcdni.wired.co.uk%252F620x413%252Fs_v%252Fshutterstock_65735200.jpg%3Bhttp%253A%252F%252Fwww.wired.co.uk%252Fnews%252Farchive%252F2012-06%252F26%252Fgoogle-brain-recognises-cats%3B620%3B413"
|
||||||
},
|
},
|
||||||
"comments": []
|
"comments": []
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
.panel.text-center
|
.panel.text-center
|
||||||
h1.hug-top Camper News
|
h1 Camper News
|
||||||
include parials/post
|
include ./posts
|
@@ -1,24 +1,22 @@
|
|||||||
h3
|
h2
|
||||||
ol#bonfireList Test!
|
ul#story-list Top Stories
|
||||||
|
h3
|
||||||
|
script(src="https://cdn.jsdelivr.net/ramda/0.10.0/ramda.min.js")
|
||||||
|
script.
|
||||||
|
var getLinkedName = function getLinkedName(name) {
|
||||||
|
return name.toLowerCase().replace(/\s/g, '-');
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
url: '/stories/index',
|
||||||
|
type: 'GET'
|
||||||
|
})
|
||||||
|
.success(
|
||||||
|
function(data) {
|
||||||
|
for (var i = 0; i < data.length; i++) {
|
||||||
|
var li = document.createElement('li');
|
||||||
|
var linkedName = getLinkedName(data[i].headline);
|
||||||
|
|
||||||
//script(src="https://cdn.jsdelivr.net/ramda/0.10.0/ramda.min.js")
|
$(li).html("<a href='/stories/" + linkedName + "'>" + data[i].headline + "</a></li>");
|
||||||
//script.
|
$(li).appendTo($('#story-list'));
|
||||||
// var getLinkedName = function getLinkedName(name) {
|
}
|
||||||
// return name.toLowerCase().replace(/\s/g, '-');
|
});
|
||||||
// }
|
|
||||||
// $.ajax({
|
|
||||||
// url: '/bonfires/getBonfireList',
|
|
||||||
// type: 'GET'
|
|
||||||
// })
|
|
||||||
// .success(
|
|
||||||
// function(data) {
|
|
||||||
// for (var i = 0; i < data.bonfireList.length; i++) {
|
|
||||||
// var li = document.createElement('li');
|
|
||||||
// var linkedName = getLinkedName(data.bonfireList[i].name);
|
|
||||||
// if (R.contains(data.bonfireList[i].id, data.completedList)) {
|
|
||||||
// $(li).addClass('strikethrough');
|
|
||||||
// }
|
|
||||||
// $(li).html("<a href='/bonfires/" + linkedName + "'>" + data.bonfireList[i].name + "</a></li>");
|
|
||||||
// $(li).appendTo($('#bonfireList'));
|
|
||||||
// }
|
|
||||||
// });
|
|
Reference in New Issue
Block a user