start process of moving wiki over to field guide
This commit is contained in:
30
app.js
30
app.js
@ -42,7 +42,7 @@ var express = require('express'),
|
|||||||
nonprofitController = require('./controllers/nonprofits'),
|
nonprofitController = require('./controllers/nonprofits'),
|
||||||
bonfireController = require('./controllers/bonfire'),
|
bonfireController = require('./controllers/bonfire'),
|
||||||
coursewareController = require('./controllers/courseware'),
|
coursewareController = require('./controllers/courseware'),
|
||||||
wikiController = require('./controllers/wiki'),
|
fieldGuideController = require('./controllers/fieldGuide'),
|
||||||
challengeMapController = require('./controllers/challengeMap'),
|
challengeMapController = require('./controllers/challengeMap'),
|
||||||
|
|
||||||
|
|
||||||
@ -238,11 +238,11 @@ app.use(express.static(__dirname + '/public', { maxAge: 86400000 }));
|
|||||||
app.get('/', homeController.index);
|
app.get('/', homeController.index);
|
||||||
|
|
||||||
app.get('/privacy', function(req, res) {
|
app.get('/privacy', function(req, res) {
|
||||||
res.redirect(301, "/wiki/free-code-camp's-privacy-policy");
|
res.redirect(301, "/field-guide/free-code-camp's-privacy-policy");
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/nonprofit-project-instructions', function(req, res) {
|
app.get('/nonprofit-project-instructions', function(req, res) {
|
||||||
res.redirect(301, "/wiki/free-code-camp's-privacy-policy");
|
res.redirect(301, "/field-guide/free-code-camp's-privacy-policy");
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/jquery-exercises', resourcesController.jqueryExercises);
|
app.get('/jquery-exercises', resourcesController.jqueryExercises);
|
||||||
@ -254,31 +254,31 @@ app.get('/twitch', resourcesController.twitch);
|
|||||||
app.get('/map', challengeMapController.challengeMap);
|
app.get('/map', challengeMapController.challengeMap);
|
||||||
|
|
||||||
app.get('/live-pair-programming', function(req, res) {
|
app.get('/live-pair-programming', function(req, res) {
|
||||||
res.redirect(301, '/wiki/live-stream-pair-programming-on-twitch.tv');
|
res.redirect(301, '/field-guide/live-stream-pair-programming-on-twitch.tv');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/install-screenhero', function(req, res) {
|
app.get('/install-screenhero', function(req, res) {
|
||||||
res.redirect(301, '/wiki/install-screenhero');
|
res.redirect(301, '/field-guide/install-screenhero');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/guide-to-our-nonprofit-projects', function(req, res) {
|
app.get('/guide-to-our-nonprofit-projects', function(req, res) {
|
||||||
res.redirect(301, '/wiki/a-guide-to-our-nonprofit-projects');
|
res.redirect(301, '/field-guide/a-guide-to-our-nonprofit-projects');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/chromebook', function(req, res) {
|
app.get('/chromebook', function(req, res) {
|
||||||
res.redirect(301, '/wiki/chromebook');
|
res.redirect(301, '/field-guide/chromebook');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/deploy-a-website', function(req, res) {
|
app.get('/deploy-a-website', function(req, res) {
|
||||||
res.redirect(301, '/wiki/deploy-a-website');
|
res.redirect(301, '/field-guide/deploy-a-website');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/gmail-shortcuts', function(req, res) {
|
app.get('/gmail-shortcuts', function(req, res) {
|
||||||
res.redirect(301, '/wiki/gmail-shortcuts');
|
res.redirect(301, '/field-guide/gmail-shortcuts');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/nodeschool-challenges', function(req, res) {
|
app.get('/nodeschool-challenges', function(req, res) {
|
||||||
res.redirect(301, '/wiki/nodeschool-challenges');
|
res.redirect(301, '/field-guide/nodeschool-challenges');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get('/stats', function(req, res) {
|
app.get('/stats', function(req, res) {
|
||||||
@ -484,7 +484,7 @@ app.get('/api/trello', resourcesController.trelloCalls);
|
|||||||
* Bonfire related routes
|
* Bonfire related routes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
app.get('/wiki/getWikiList', wikiController.showAllWikis);
|
app.get('/field-guide/getFieldGuideList', fieldGuideController.showAllFieldGuides);
|
||||||
|
|
||||||
app.get('/playground', bonfireController.index);
|
app.get('/playground', bonfireController.index);
|
||||||
|
|
||||||
@ -510,15 +510,15 @@ app.get('/bonfire', function(req, res) {
|
|||||||
app.post('/completed-bonfire/', bonfireController.completedBonfire);
|
app.post('/completed-bonfire/', bonfireController.completedBonfire);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wiki related routes
|
* Field Guide related routes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
app.get('/wiki/:wikiName', wikiController.returnIndividualWiki);
|
app.get('/field-guide/:fieldGuideName', fieldGuideController.returnIndividualFieldGuide);
|
||||||
|
|
||||||
app.get('/wiki', wikiController.returnNextWiki);
|
app.get('/field-guide', fieldGuideController.returnNextFieldGuide);
|
||||||
|
|
||||||
app.post('/completed-wiki/', wikiController.completedWiki);
|
app.post('/completed-field-guide/', fieldGuideController.completedFieldGuide);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,7 +2,6 @@ var async = require('async'),
|
|||||||
User = require('../models/User'),
|
User = require('../models/User'),
|
||||||
Bonfire = require('./../models/Bonfire'),
|
Bonfire = require('./../models/Bonfire'),
|
||||||
Story = require('./../models/Story'),
|
Story = require('./../models/Story'),
|
||||||
Wiki = require('./../models/Wiki'),
|
|
||||||
Nonprofit = require('./../models/Nonprofit'),
|
Nonprofit = require('./../models/Nonprofit'),
|
||||||
Comment = require('./../models/Comment'),
|
Comment = require('./../models/Comment'),
|
||||||
Courseware = require('./../models/Courseware'),
|
Courseware = require('./../models/Courseware'),
|
||||||
@ -12,7 +11,6 @@ var async = require('async'),
|
|||||||
bonfires = require('../seed_data/bonfires.json'),
|
bonfires = require('../seed_data/bonfires.json'),
|
||||||
nonprofits = require('../seed_data/nonprofits.json'),
|
nonprofits = require('../seed_data/nonprofits.json'),
|
||||||
coursewares = require('../seed_data/coursewares.json'),
|
coursewares = require('../seed_data/coursewares.json'),
|
||||||
wikis = require('../seed_data/wikis.json'),
|
|
||||||
moment = require('moment'),
|
moment = require('moment'),
|
||||||
https = require('https'),
|
https = require('https'),
|
||||||
debug = require('debug')('freecc:cntr:resources'),
|
debug = require('debug')('freecc:cntr:resources'),
|
||||||
|
99
controllers/fieldGuide.js
Normal file
99
controllers/fieldGuide.js
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
var _ = require('lodash'),
|
||||||
|
debug = require('debug')('freecc:cntr:fieldGuide'),
|
||||||
|
FieldGuide = require('./../models/FieldGuide'),
|
||||||
|
resources = require('./resources'),
|
||||||
|
R = require('ramda');
|
||||||
|
|
||||||
|
exports.returnIndividualFieldGuide = function(req, res, next) {
|
||||||
|
var dashedName = req.params.fieldGuideName;
|
||||||
|
|
||||||
|
var fieldGuideName = dashedName.replace(/\-/g, ' ');
|
||||||
|
|
||||||
|
FieldGuide.find({'name': new RegExp(fieldGuideName, 'i')}, function(err, fieldGuide) {
|
||||||
|
if (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fieldGuide.length < 1) {
|
||||||
|
req.flash('errors', {
|
||||||
|
msg: "404: We couldn't find a field guide entry with that name. Please double check the name."
|
||||||
|
});
|
||||||
|
|
||||||
|
return res.redirect('/field-guide');
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldGuide = fieldGuide.pop();
|
||||||
|
var dashedNameFull = fieldGuide.name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, '');
|
||||||
|
if (dashedNameFull != dashedName) {
|
||||||
|
return res.redirect('../field-guide/' + dashedNameFull);
|
||||||
|
}
|
||||||
|
res.render('field-guide/show', {
|
||||||
|
title: fieldGuide.name,
|
||||||
|
fieldGuideId: fieldGuide._id,
|
||||||
|
description: fieldGuide.description.join('')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.showAllFieldGuides = function(req, res) {
|
||||||
|
var data = {};
|
||||||
|
data.fieldGuideList = resources.allFieldGuideNames();
|
||||||
|
data.fieldGuideIds = resources.allFieldGuideIds();
|
||||||
|
data.completedFieldGuides = req.user.completedFieldGuides;
|
||||||
|
res.send(data);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.returnNextFieldGuide = function(req, res, next) {
|
||||||
|
if (!req.user) {
|
||||||
|
return res.redirect('../field-guide/how-do-i-use-this-guide?');
|
||||||
|
}
|
||||||
|
|
||||||
|
var completed = req.user.completedFieldGuides;
|
||||||
|
|
||||||
|
req.user.uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) {
|
||||||
|
if (completed.indexOf(elem) === -1) {
|
||||||
|
return elem;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
req.user.save();
|
||||||
|
|
||||||
|
var uncompletedFieldGuides = req.user.uncompletedFieldGuides;
|
||||||
|
|
||||||
|
var displayedFieldGuides = FieldGuide.find({'_id': uncompletedFieldGuides[0]});
|
||||||
|
displayedFieldGuides.exec(function(err, fieldGuide) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
|
fieldGuide = fieldGuide.pop();
|
||||||
|
if (fieldGuide === undefined) {
|
||||||
|
req.flash('success', {
|
||||||
|
msg: "You've read all our current Field Guide entries. You can contribute to our Field Guide <a href='https://github.com/FreeCodeCamp/freecodecamp/blob/nonprofit-show/seed_data/fieldGuides.json'>here</a>."
|
||||||
|
});
|
||||||
|
return res.redirect('../field-guide/how-do-i-use-this-guide?');
|
||||||
|
}
|
||||||
|
var nameString = fieldGuide.name.toLowerCase().replace(/\s/g, '-');
|
||||||
|
return res.redirect('../field-guide/' + nameString);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.completedFieldGuide = function (req, res, next) {
|
||||||
|
debug('params in completedFieldGuide', req.params);
|
||||||
|
var fieldGuideId = req.body.fieldGuideInfo.fieldGuideId;
|
||||||
|
|
||||||
|
req.user.completedFieldGuides.push(fieldGuideId);
|
||||||
|
|
||||||
|
var index = req.user.uncompletedFieldGuides.indexOf(fieldGuideId);
|
||||||
|
if (index > -1) {
|
||||||
|
req.user.progressTimestamps.push(Date.now() || 0);
|
||||||
|
req.user.uncompletedFieldGuides.splice(index, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
req.user.save(function (err, user) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
|
if (user) {
|
||||||
|
res.send(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
@ -3,7 +3,7 @@ var async = require('async'),
|
|||||||
Challenge = require('./../models/Challenge'),
|
Challenge = require('./../models/Challenge'),
|
||||||
Bonfire = require('./../models/Bonfire'),
|
Bonfire = require('./../models/Bonfire'),
|
||||||
Story = require('./../models/Story'),
|
Story = require('./../models/Story'),
|
||||||
Wiki = require('./../models/Wiki'),
|
FieldGuide = require('./../models/FieldGuide'),
|
||||||
Nonprofit = require('./../models/Nonprofit'),
|
Nonprofit = require('./../models/Nonprofit'),
|
||||||
Comment = require('./../models/Comment'),
|
Comment = require('./../models/Comment'),
|
||||||
resources = require('./resources.json'),
|
resources = require('./resources.json'),
|
||||||
@ -12,7 +12,7 @@ var async = require('async'),
|
|||||||
bonfires = require('../seed_data/bonfires.json'),
|
bonfires = require('../seed_data/bonfires.json'),
|
||||||
nonprofits = require('../seed_data/nonprofits.json'),
|
nonprofits = require('../seed_data/nonprofits.json'),
|
||||||
coursewares = require('../seed_data/coursewares.json'),
|
coursewares = require('../seed_data/coursewares.json'),
|
||||||
wikis = require('../seed_data/wikis.json'),
|
fieldGuides = require('../seed_data/field-guides.json'),
|
||||||
moment = require('moment'),
|
moment = require('moment'),
|
||||||
https = require('https'),
|
https = require('https'),
|
||||||
debug = require('debug')('freecc:cntr:resources'),
|
debug = require('debug')('freecc:cntr:resources'),
|
||||||
@ -259,8 +259,8 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
allWikiIds: function() {
|
allFieldGuideIds: function() {
|
||||||
return wikis.map(function(elem) {
|
return fieldGuides.map(function(elem) {
|
||||||
return {
|
return {
|
||||||
_id: elem._id,
|
_id: elem._id,
|
||||||
}
|
}
|
||||||
@ -289,8 +289,8 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
allWikiNames: function() {
|
allFieldGuideNames: function() {
|
||||||
return wikis.map(function(elem) {
|
return fieldGuides.map(function(elem) {
|
||||||
return {
|
return {
|
||||||
name: elem.name
|
name: elem.name
|
||||||
}
|
}
|
||||||
|
@ -1,99 +0,0 @@
|
|||||||
var _ = require('lodash'),
|
|
||||||
debug = require('debug')('freecc:cntr:wiki'),
|
|
||||||
Wiki = require('./../models/Wiki'),
|
|
||||||
resources = require('./resources'),
|
|
||||||
R = require('ramda');
|
|
||||||
|
|
||||||
exports.returnIndividualWiki = function(req, res, next) {
|
|
||||||
var dashedName = req.params.wikiName;
|
|
||||||
|
|
||||||
var wikiName = dashedName.replace(/\-/g, ' ');
|
|
||||||
|
|
||||||
Wiki.find({'name': new RegExp(wikiName, 'i')}, function(err, wiki) {
|
|
||||||
if (err) {
|
|
||||||
next(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (wiki.length < 1) {
|
|
||||||
req.flash('errors', {
|
|
||||||
msg: "404: We couldn't find a wiki entry with that name. Please double check the name."
|
|
||||||
});
|
|
||||||
|
|
||||||
return res.redirect('/wiki');
|
|
||||||
}
|
|
||||||
|
|
||||||
wiki = wiki.pop();
|
|
||||||
var dashedNameFull = wiki.name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, '');
|
|
||||||
if (dashedNameFull != dashedName) {
|
|
||||||
return res.redirect('../wiki/' + dashedNameFull);
|
|
||||||
}
|
|
||||||
res.render('wiki/show', {
|
|
||||||
title: wiki.name,
|
|
||||||
wikiId: wiki._id,
|
|
||||||
description: wiki.description.join('')
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.showAllWikis = function(req, res) {
|
|
||||||
var data = {};
|
|
||||||
data.wikiList = resources.allWikiNames();
|
|
||||||
data.wikiIds = resources.allWikiIds();
|
|
||||||
data.completedWikis = req.user.completedWikis;
|
|
||||||
res.send(data);
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.returnNextWiki = function(req, res, next) {
|
|
||||||
if (!req.user) {
|
|
||||||
return res.redirect('../wiki/how-do-i-use-this-guide?');
|
|
||||||
}
|
|
||||||
|
|
||||||
var completed = req.user.completedWikis;
|
|
||||||
|
|
||||||
req.user.uncompletedWikis = resources.allWikiIds().filter(function (elem) {
|
|
||||||
if (completed.indexOf(elem) === -1) {
|
|
||||||
return elem;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
req.user.save();
|
|
||||||
|
|
||||||
var uncompletedWikis = req.user.uncompletedWikis;
|
|
||||||
|
|
||||||
var displayedWikis = Wiki.find({'_id': uncompletedWikis[0]});
|
|
||||||
displayedWikis.exec(function(err, wiki) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
wiki = wiki.pop();
|
|
||||||
if (wiki === undefined) {
|
|
||||||
req.flash('success', {
|
|
||||||
msg: "You've read all our current Wiki entries. You can contribute to our Wiki <a href='https://github.com/FreeCodeCamp/freecodecamp/blob/nonprofit-show/seed_data/wikis.json'>here</a>."
|
|
||||||
});
|
|
||||||
return res.redirect('../wiki/how-do-i-use-this-guide?');
|
|
||||||
}
|
|
||||||
var nameString = wiki.name.toLowerCase().replace(/\s/g, '-');
|
|
||||||
return res.redirect('../wiki/' + nameString);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.completedWiki = function (req, res, next) {
|
|
||||||
debug('params in completedWiki', req.params);
|
|
||||||
var wikiId = req.body.wikiInfo.wikiId;
|
|
||||||
|
|
||||||
req.user.completedWikis.push(wikiId);
|
|
||||||
|
|
||||||
var index = req.user.uncompletedWikis.indexOf(wikiId);
|
|
||||||
if (index > -1) {
|
|
||||||
req.user.progressTimestamps.push(Date.now() || 0);
|
|
||||||
req.user.uncompletedWikis.splice(index, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
req.user.save(function (err, user) {
|
|
||||||
if (err) {
|
|
||||||
return next(err);
|
|
||||||
}
|
|
||||||
if (user) {
|
|
||||||
res.send(true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
@ -1,7 +1,7 @@
|
|||||||
var mongoose = require('mongoose');
|
var mongoose = require('mongoose');
|
||||||
var secrets = require('../config/secrets');
|
var secrets = require('../config/secrets');
|
||||||
|
|
||||||
var wikiSchema = new mongoose.Schema({
|
var fieldGuideSchema = new mongoose.Schema({
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
unique: false
|
unique: false
|
||||||
@ -12,4 +12,4 @@ var wikiSchema = new mongoose.Schema({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports = mongoose.model('Wiki', wikiSchema);
|
module.exports = mongoose.model('FieldGuide', fieldGuideSchema);
|
@ -127,8 +127,8 @@ var userSchema = new mongoose.Schema({
|
|||||||
verified: Boolean
|
verified: Boolean
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
completedWikis: [],
|
completedFieldGuides: [],
|
||||||
uncompletedWikis: [],
|
uncompletedFieldGuides: [],
|
||||||
currentStreak: {
|
currentStreak: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0
|
default: 0
|
||||||
|
@ -52,18 +52,18 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function completedWiki(wikiId) {
|
function completedFieldGuide(fieldGuideId) {
|
||||||
if ($('.signup-btn-nav').length < 1) {
|
if ($('.signup-btn-nav').length < 1) {
|
||||||
$.post(
|
$.post(
|
||||||
'/completed-wiki',
|
'/completed-field-guide',
|
||||||
{
|
{
|
||||||
wikiInfo: {
|
fieldGuideInfo: {
|
||||||
wikiId: wikiId
|
fieldGuideId: fieldGuideId
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function(res) {
|
function(res) {
|
||||||
if (res) {
|
if (res) {
|
||||||
window.location.href = '/wiki'
|
window.location.href = '/field-guide'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -78,9 +78,10 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.next-wiki-button').on('click', function() {
|
$('.next-field-guide-button').on('click', function() {
|
||||||
var wikiId = $('#wikiId').text();
|
console.log('click');
|
||||||
completedWiki(wikiId);
|
var fieldGuideId = $('#fieldGuideId').text();
|
||||||
|
completedFieldGuide(fieldGuideId);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("img").error(function () {
|
$("img").error(function () {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
require('dotenv').load();
|
require('dotenv').load();
|
||||||
var Bonfire = require('../models/Bonfire.js'),
|
var Bonfire = require('../models/Bonfire.js'),
|
||||||
Courseware = require('../models/Courseware.js'),
|
Courseware = require('../models/Courseware.js'),
|
||||||
Wiki = require('../models/Wiki.js'),
|
FieldGuide = require('../models/FieldGuide.js'),
|
||||||
Nonprofit = require('../models/Nonprofit.js'),
|
Nonprofit = require('../models/Nonprofit.js'),
|
||||||
mongoose = require('mongoose'),
|
mongoose = require('mongoose'),
|
||||||
secrets = require('../config/secrets'),
|
secrets = require('../config/secrets'),
|
||||||
coursewares = require('./coursewares.json'),
|
coursewares = require('./coursewares.json'),
|
||||||
wikis = require('./wikis.json'),
|
fieldGuides = require('./field-guides.json'),
|
||||||
nonprofits = require('./nonprofits.json'),
|
nonprofits = require('./nonprofits.json'),
|
||||||
bonfires = require('./bonfires.json');
|
bonfires = require('./bonfires.json');
|
||||||
|
|
||||||
@ -61,13 +61,13 @@ Courseware.remove({}, function(err, data) {
|
|||||||
console.log('coursewares');
|
console.log('coursewares');
|
||||||
});
|
});
|
||||||
|
|
||||||
Wiki.remove({}, function(err, data) {
|
FieldGuide.remove({}, function(err, data) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
} else {
|
} else {
|
||||||
console.log('Deleted ', data);
|
console.log('Deleted ', data);
|
||||||
}
|
}
|
||||||
Wiki.create(wikis, function(err, data) {
|
FieldGuide.create(fieldGuides, function(err, data) {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
} else {
|
} else {
|
||||||
@ -75,7 +75,7 @@ Wiki.remove({}, function(err, data) {
|
|||||||
}
|
}
|
||||||
CompletionMonitor();
|
CompletionMonitor();
|
||||||
});
|
});
|
||||||
console.log('wikis');
|
console.log('field guides');
|
||||||
});
|
});
|
||||||
|
|
||||||
Nonprofit.remove({}, function(err, data) {
|
Nonprofit.remove({}, function(err, data) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
script.
|
script.
|
||||||
var challengeName = 'Wiki View';
|
var challengeName = 'Field Guide View';
|
||||||
.col-xs-12.col-sm-12.col-md-12
|
.col-xs-12.col-sm-12.col-md-12
|
||||||
.panel.panel-info
|
.panel.panel-info
|
||||||
.panel-heading.text-center
|
.panel-heading.text-center
|
||||||
@ -15,7 +15,7 @@ block content
|
|||||||
.spacer
|
.spacer
|
||||||
.col-xs-12.col-sm-6.col-sm-offset-3
|
.col-xs-12.col-sm-6.col-sm-offset-3
|
||||||
.text-center
|
.text-center
|
||||||
.next-wiki-button.btn.btn-primary.btn-big.btn-block Next article (ctrl + enter)
|
.next-fieldGuide-button.btn.btn-primary.btn-big.btn-block Next article (ctrl + enter)
|
||||||
.ten-pixel-break
|
.ten-pixel-break
|
||||||
#showAllButton.btn.btn-info.btn-big.btn-block Show me all articles
|
#showAllButton.btn.btn-info.btn-big.btn-block Show me all articles
|
||||||
.spacer
|
.spacer
|
||||||
@ -30,13 +30,13 @@ block content
|
|||||||
.modal-header.all-list-header Wiki Articles
|
.modal-header.all-list-header Wiki Articles
|
||||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||||
.modal-body
|
.modal-body
|
||||||
include ../partials/wikis
|
include ../partials/field-guide
|
||||||
#wikiId.hidden= wikiId
|
#fieldGuideId.hidden= fieldGuideId
|
||||||
script.
|
script.
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('body').keydown(function(e) {
|
$('body').keydown(function(e) {
|
||||||
if (e.ctrlKey && e.keyCode == 13) {
|
if (e.ctrlKey && e.keyCode == 13) {
|
||||||
$('.next-wiki-button').click();
|
$('.next-field-guide-button').click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
@ -1,5 +1,5 @@
|
|||||||
h3
|
h3
|
||||||
ol#wikiList
|
ol#fieldGuideList
|
||||||
script(src='/js/lib/ramda/ramda.min.js')
|
script(src='/js/lib/ramda/ramda.min.js')
|
||||||
script.
|
script.
|
||||||
var getLinkedName = function getLinkedName(name) {
|
var getLinkedName = function getLinkedName(name) {
|
||||||
@ -8,22 +8,22 @@ h3
|
|||||||
return name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, '');
|
return name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, '');
|
||||||
}
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/wiki/getWikiList',
|
url: '/field-guide/getFieldGuideList',
|
||||||
type: 'GET'
|
type: 'GET'
|
||||||
})
|
})
|
||||||
.success(
|
.success(
|
||||||
function(data) {
|
function(data) {
|
||||||
var docfrag = document.createDocumentFragment();
|
var docfrag = document.createDocumentFragment();
|
||||||
for (var i = 0; i < data.wikiList.length; i++) {
|
for (var i = 0; i < data.fieldGuideList.length; i++) {
|
||||||
var li = document.createElement("li");
|
var li = document.createElement("li");
|
||||||
// strike through wikis previously read
|
// strike through field guides previously read
|
||||||
var linkedName = getLinkedName(data.wikiList[i].name);
|
var linkedName = getLinkedName(data.fieldGuideList[i].name);
|
||||||
if (data.completedWikis.indexOf(data.wikiIds[i]) > -1) {
|
if (data.completedFieldGuides.indexOf(data.fieldGuideIds[i]) > -1) {
|
||||||
$(li).html("<a class='strikethrough' href='/wiki/" + linkedName + "'>" + data.wikiList[i].name + "</a></li>");
|
$(li).html("<a class='strikethrough' href='/field-guide/" + linkedName + "'>" + data.fieldGuideList[i].name + "</a></li>");
|
||||||
} else {
|
} else {
|
||||||
$(li).html("<a href='/wiki/" + linkedName + "'>" + data.wikiList[i].name + "</a></li>");
|
$(li).html("<a href='/field-guide/" + linkedName + "'>" + data.fieldGuideList[i].name + "</a></li>");
|
||||||
}
|
}
|
||||||
docfrag.appendChild(li);
|
docfrag.appendChild(li);
|
||||||
};
|
};
|
||||||
$('#wikiList').append(docfrag);
|
$('#fieldGuideList').append(docfrag);
|
||||||
});
|
});
|
@ -18,7 +18,7 @@
|
|||||||
li
|
li
|
||||||
a(href='/stories/hot') News
|
a(href='/stories/hot') News
|
||||||
li
|
li
|
||||||
a(href='/wiki') Field Guide
|
a(href='/field-guide') Field Guide
|
||||||
if !user
|
if !user
|
||||||
li      
|
li      
|
||||||
li
|
li
|
||||||
|
Reference in New Issue
Block a user