update views and add routes to app.js
This commit is contained in:
60
app.js
60
app.js
@ -119,18 +119,46 @@ app.use(express.static(path.join(__dirname, 'public'), { maxAge: week }));
|
||||
*/
|
||||
|
||||
app.get('/', homeController.index);
|
||||
app.get('challenges/a-one-minute-introduction-to-free-code-camp', challengesController.aOneMinuteIntroToFreeCodeCamp);
|
||||
app.get('/challenges/enter-the-free-code-camp-chat-room', challengesController.enterTheFreeCodeCampChatRoom);
|
||||
app.get('/challenges/install-github-atom-text-editor', challengesController.installGithubAtomTextEditor);
|
||||
app.get('/challenges/create-and-deploy-a-website', challengesController.createAndDeployAWebsite);
|
||||
app.get('/challenges/start-a-pair-programming-session', challengesController.startAPairProgrammingSession);
|
||||
app.get('/challenges/add-dynamic-content-to-your-website', challengesController.addDynamicContentToYourWebsite);
|
||||
app.get('/challenges/codecademy-html-and-css-track', challengesController.codecademyHtmlAndCssTrack)
|
||||
app.get('/challenges/code-school-discover-devtools-course', challengesController.codeSchoolDiscoverDevtoolsCourse)
|
||||
app.get('/challenges/code-school-try-jquery-course', challengesController.codeSchoolTryJqueryCourse)
|
||||
app.get('/challenges/codecademy-javascript-track', challengesController.codecademyJavascriptTrack)
|
||||
app.get('/challenges/harvard-introduction-to-computer-science-cs50-course', challengesController.harvardIntroductionToComputerScienceCs50Course)
|
||||
app.get('/challenges/code-school-try-git-course', challengesController.codeSchoolTryGitCourse)
|
||||
app.get('/challenges/code-school-real-time-with-node-js-course', challengesController.codeSchoolRealTimeWithNodeJsCourse)
|
||||
app.get('/challenges/code-school-shaping-up-with-angular-js-course', challengesController.codeSchoolShapingUpWithAngularJsCourse)
|
||||
app.get('/challenges/create-and-deploy-a-website', challengesController.createAndDeployAWebsite)
|
||||
app.get('/challenges/add-dynamic-content-to-your-website', challengesController.addDynamicContentToYourWebsite)
|
||||
app.get('/challenges/experiment-with-html-and-css-in-codepen', challengesController.experimentWithHtmlAndCssInCodepen)
|
||||
app.get('/challenges/start-a-pair-programming-session', challengesController.startAPairProgrammingSession)
|
||||
app.get('/challenges/code-school-try-jquery-course', challengesController.codeSchoolTryJqueryCourse)
|
||||
app.get('/challenges/complete-jquery-exercises', challengesController.completeJqueryExercises);
|
||||
app.get('/challenges/code-school-discover-devtools-course', challengesController.codeSchoolDiscoverDevtoolsCourse)
|
||||
app.get('/challenges/customize-bootstrap-with-bootswatch', challengesController.customizeBootstrapWithBootswatch);
|
||||
app.get('/challenges/inject-life-with-css-transformations', challengesController.injectLifeWithCssTransformations);
|
||||
app.get('/challenges/codecademy-javascript-track', challengesController.codecademyJavascriptTrack)
|
||||
app.get('/challenges/get-help-the-hacker-way-with-rsap', challengesController.getHelpTheHackerWayWithRsap);
|
||||
app.get('/challenges/easy-algorthim-scripting-challenges-on-coderbyte', challengesController.easyAlgorithmScriptingChallengesOnCoderbyte);
|
||||
app.get('/challenges/harvard-introduction-to-computer-science-cs50-course', challengesController.harvardIntroductionToComputerScienceCs50Course)
|
||||
app.get('/challenges/medium-algorthim-scripting-challenges-on-coderbyte', challengesController.mediumAlgorithmScriptingChallengesOnCoderbyte);
|
||||
app.get('/challenges/stanfords-relational-databases-mini-course', challengesController.stanfordsRelationalDatabasesMiniCourse);
|
||||
app.get('/challenges/stanfords-json-mini-course', challengesController.stanfordsJsonMiniCourse);
|
||||
app.get('/challenges/build-a-text-based-adventure', challengesController.buildATextBasedAdventure);
|
||||
app.get('/challenges/hard-algorthim-scripting-challenges-on-coderbyte', challengesController.hardAlgorithmScriptingChallengesOnCoderbyte);
|
||||
app.get('/challenges/stanfords-sql-mini-course', challengesController.stanfordsSqlMiniCourse);
|
||||
app.get('/challenges/build-an-interview-question-machine', challengesController.buildAnInterviewQuestionMachine);
|
||||
app.get('/challenges/code-school-try-git-course', challengesController.codeSchoolTryGitCourse)
|
||||
app.get('/challenges/install-node-js', challengesController.installNodeJs);
|
||||
app.get('/challenges/clone-a-github-repo', challengesController.cloneAGithubRepo);
|
||||
app.get('/challenges/deploy-an-app-to-heroku', challengesController.deployAnAppToHeroku);
|
||||
app.get('/challenges/code-school-real-time-with-node-js-course', challengesController.codeSchoolRealTimeWithNodeJsCourse)
|
||||
app.get('/challenges/try-mongodb', challengesController.tryMongoDb);
|
||||
app.get('/challenges/explore-your-network-with-the-linkedin-api', challengesController.exploreYourNetworkWithTheLinkedInApi);
|
||||
app.get('/challenges/build-your-first-api', challengesController.buildYourFirstApi);
|
||||
app.get('/challenges/aggregate-data-with-chron-jobs-and-screen-scraping', challengesController.aggregateDataWithChronJobsAndScreenScraping);
|
||||
app.get('/challenges/code-school-shaping-up-with-angular-js-course', challengesController.codeSchoolShapingUpWithAngularJsCourse);
|
||||
app.get('/challenges/reverse-engineer-snapchat', challengesController.reverseEngineerSnapchat);
|
||||
app.get('/challenges/reverse-engineer-reddit', challengesController.reverseEngineerReddit);
|
||||
app.get('/challenges/reverse-engineer-pintrest', challengesController.reverseEngineerPintrest);
|
||||
app.get('/challenges/help-a-nonprofit-team-project', challengesController.helpANonprofitTeamProject);
|
||||
app.get('/challenges/help-a-nonprofit-solo-project', challengesController.helpANonprofitSoloProject);
|
||||
app.get('/challenges/crack-the-coding-interview', challengesController.crackTheCodingInterview);
|
||||
app.get('/login', userController.getLogin);
|
||||
app.post('/login', userController.postLogin);
|
||||
app.get('/logout', userController.logout);
|
||||
@ -180,27 +208,27 @@ app.get('/api/yahoo', apiController.getYahoo);
|
||||
*/
|
||||
|
||||
app.get('/auth/instagram', passport.authenticate('instagram'));
|
||||
app.get('/auth/instagram/callback', passport.authenticate('instagram', { successRedirect: '/curriculum',failureRedirect: '/login' }), function(req, res) {
|
||||
app.get('/auth/instagram/callback', passport.authenticate('instagram', { successRedirect: '/challenges/a-one-minute-introduction-to-free-code-camp',failureRedirect: '/login' }), function(req, res) {
|
||||
res.redirect(req.session.returnTo || '/');
|
||||
});
|
||||
app.get('/auth/facebook', passport.authenticate('facebook', { scope: ['email', 'user_location'] }));
|
||||
app.get('/auth/facebook/callback', passport.authenticate('facebook', { successRedirect: '/curriculum',failureRedirect: '/login' }), function(req, res) {
|
||||
app.get('/auth/facebook/callback', passport.authenticate('facebook', { successRedirect: '/challenges/a-one-minute-introduction-to-free-code-camp',failureRedirect: '/login' }), function(req, res) {
|
||||
res.redirect(req.session.returnTo || '/');
|
||||
});
|
||||
app.get('/auth/github', passport.authenticate('github'));
|
||||
app.get('/auth/github/callback', passport.authenticate('github', { successRedirect: '/curriculum',failureRedirect: '/login' }), function(req, res) {
|
||||
app.get('/auth/github/callback', passport.authenticate('github', { successRedirect: '/challenges/a-one-minute-introduction-to-free-code-camp',failureRedirect: '/login' }), function(req, res) {
|
||||
res.redirect(req.session.returnTo || '/');
|
||||
});
|
||||
app.get('/auth/google', passport.authenticate('google', { scope: 'profile email' }));
|
||||
app.get('/auth/google/callback', passport.authenticate('google', { successRedirect: '/curriculum',failureRedirect: '/login' }), function(req, res) {
|
||||
app.get('/auth/google/callback', passport.authenticate('google', { successRedirect: '/challenges/a-one-minute-introduction-to-free-code-camp',failureRedirect: '/login' }), function(req, res) {
|
||||
res.redirect(req.session.returnTo || '/');
|
||||
});
|
||||
app.get('/auth/twitter', passport.authenticate('twitter'));
|
||||
app.get('/auth/twitter/callback', passport.authenticate('twitter', { successRedirect: '/curriculum',failureRedirect: '/login' }), function(req, res) {
|
||||
app.get('/auth/twitter/callback', passport.authenticate('twitter', { successRedirect: '/challenges/a-one-minute-introduction-to-free-code-camp',failureRedirect: '/login' }), function(req, res) {
|
||||
res.redirect(req.session.returnTo || '/');
|
||||
});
|
||||
app.get('/auth/linkedin', passport.authenticate('linkedin', { state: 'SOME STATE' }));
|
||||
app.get('/auth/linkedin/callback', passport.authenticate('linkedin', { successRedirect: '/curriculum',failureRedirect: '/login' }), function(req, res) {
|
||||
app.get('/auth/linkedin/callback', passport.authenticate('linkedin', { successRedirect: '/challenges/a-one-minute-introduction-to-free-code-camp',failureRedirect: '/login' }), function(req, res) {
|
||||
res.redirect(req.session.returnTo || '/');
|
||||
});
|
||||
|
||||
|
@ -4,26 +4,19 @@
|
||||
*/
|
||||
var Challenge = require('./../models/Challenge')
|
||||
|
||||
exports.index = function(req, res) {
|
||||
Challenge.find(function(err, challenges){
|
||||
res.render('challenges/index', {
|
||||
title: 'Challenges',
|
||||
challenges: challenges
|
||||
});
|
||||
});
|
||||
};
|
||||
exports.view = function(req, res) {
|
||||
Challenge.findById(req.param.id, function(err, challenge){
|
||||
res.render('challenges/view', {
|
||||
title: 'Challenge',
|
||||
challenge: challenge
|
||||
});
|
||||
exports.aOneMinuteIntroToFreeCodeCamp = function(req, res) {
|
||||
res.render('challenges/a-one-minute-introduction-to-free-code-camp', {
|
||||
name: 'A one-minute introduction to Free Code Camp',
|
||||
video: "109134466",
|
||||
time: "5 minutes",
|
||||
directions: ["Link up with the Free Code Camp community in our HipChat chat room."],
|
||||
links: ["https://www.hipchat.com/invite/178107/cc2f6ea4dfac9e48b9a88b305adae48a"]
|
||||
});
|
||||
};
|
||||
|
||||
exports.enterTheFreeCodeCampChatRoom = function(req, res) {
|
||||
res.render('challenges/enter-the-free-code-camp-chat-room', {
|
||||
name: 'Enter the Fre Code Camp Chat Room',
|
||||
name: 'Enter the Free Code Camp Chat Room',
|
||||
video: "109134466",
|
||||
time: "5 minutes",
|
||||
directions: ["Link up with the Free Code Camp community in our HipChat chat room."],
|
||||
@ -43,7 +36,7 @@ exports.installGithubAtomTextEditor = function(req, res) {
|
||||
|
||||
exports.createAndDeployAWebsite = function(req, res) {
|
||||
res.render('challenges/create-and-deploy-a-website', {
|
||||
name: 'Create and Deploy a Website',
|
||||
name: 'Create a Website and Deploy it to the Internet',
|
||||
video: "109134466",
|
||||
time: "5 minutes",
|
||||
directions: ["In the next 5 minutes, you'll create a website and deploy it to the internet!"],
|
||||
@ -66,7 +59,7 @@ exports.startAPairProgrammingSession = function(req, res) {
|
||||
|
||||
exports.addDynamicContentToYourWebsite = function(req, res) {
|
||||
res.render('challenges/add-dynamic-content-to-your-website', {
|
||||
name: "Add Dynamic Content to your Website with POWr.io",
|
||||
name: "Add Dynamic Content to your Website",
|
||||
source: "Free Code Camp",
|
||||
video: "109599487",
|
||||
time: "10 minutes",
|
||||
@ -79,7 +72,7 @@ exports.addDynamicContentToYourWebsite = function(req, res) {
|
||||
|
||||
exports.codecademyHtmlAndCssTrack = function(req, res) {
|
||||
res.render('challenges/codecademy-html-and-css-track', {
|
||||
name: "Codecademy HTML & CSS Track",
|
||||
name: "Codecademy's HTML & CSS Track",
|
||||
links: ["http://www.codecademy.com/tracks/web"],
|
||||
time: "7 hours",
|
||||
directions: [
|
||||
@ -91,7 +84,7 @@ exports.codecademyHtmlAndCssTrack = function(req, res) {
|
||||
|
||||
exports.experimentWithHtmlAndCssInCodepen = function(req, res) {
|
||||
res.render('challenges/experiment-with-html-and-css-in-codepen', {
|
||||
name: "Create your first CodePen",
|
||||
name: "Experiment with HTML and CSS in CodePen",
|
||||
source: "Free Code Camp",
|
||||
video: "109611164",
|
||||
time: "30 minutes",
|
||||
@ -181,9 +174,9 @@ exports.getHelpTheHackerWayWithRsap = function(req, res) {
|
||||
});
|
||||
};
|
||||
|
||||
exports.completeTheEasyAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
|
||||
res.render('challenges/complete-the-easy-algorthim-scripting-challenges-on-coderbyte', {
|
||||
name: "Complete the Easy Algorithm Scripting Challenges on Coderbyte",
|
||||
exports.easyAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
|
||||
res.render('challenges/easy-algorthim-scripting-challenges-on-coderbyte', {
|
||||
name: "Easy Algorithm Scripting Challenges on Coderbyte",
|
||||
links: [""],
|
||||
time: "15 hours",
|
||||
directions: [
|
||||
@ -204,9 +197,9 @@ exports.harvardIntroductionToComputerScienceCs50Course = function(req, res) {
|
||||
});
|
||||
};
|
||||
|
||||
exports.completeTheMediumAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
|
||||
res.render('challenges/complete-the-medium-algorthim-scripting-challenges-on-coderbyte', {
|
||||
name: "Complete the Medium Algorithm Scripting Challenges on Coderbyte",
|
||||
exports.mediumAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
|
||||
res.render('challenges/medium-algorthim-scripting-challenges-on-coderbyte', {
|
||||
name: "Medium Algorithm Scripting Challenges on Coderbyte",
|
||||
links: [""],
|
||||
time: "15 hours",
|
||||
directions: [
|
||||
@ -244,9 +237,9 @@ exports.buildATextBasedAdventure = function(req, res) {
|
||||
});
|
||||
};
|
||||
|
||||
exports.completeTheHardAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
|
||||
res.render('challenges/complete-the-hard-algorthim-scripting-challenges-on-coderbyte', {
|
||||
name: "Complete the Hard Algorithm Scripting Challenges on Coderbyte",
|
||||
exports.hardAlgorithmScriptingChallengesOnCoderbyte = function(req, res) {
|
||||
res.render('challenges/hard-algorthim-scripting-challenges-on-coderbyte', {
|
||||
name: "Hard Algorithm Scripting Challenges on Coderbyte",
|
||||
links: [""],
|
||||
time: "15 hours",
|
||||
directions: [
|
||||
|
@ -1,14 +0,0 @@
|
||||
/**
|
||||
* GET /
|
||||
* Home page.
|
||||
*/
|
||||
|
||||
var Course = require('./../models/Course')
|
||||
|
||||
exports.index = function(req, res) {
|
||||
Course.find(function(err, courses){
|
||||
res.render('curriculum/curriculum', {
|
||||
title: 'Curriculum'
|
||||
});
|
||||
});
|
||||
};
|
@ -4,10 +4,9 @@ var secrets = require('../config/secrets');
|
||||
var challengeSchema = new mongoose.Schema({
|
||||
name: { type: String, unique: true },
|
||||
source: String,
|
||||
solution: String,
|
||||
link: String,
|
||||
image: String,
|
||||
time: Number,
|
||||
time: String,
|
||||
links: Array,
|
||||
video: String,
|
||||
directions: Array
|
||||
});
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
var mongoose = require('mongoose');
|
||||
var secrets = require('../config/secrets');
|
||||
|
||||
var courseSchema = new mongoose.Schema({
|
||||
name: { type: String, unique: true },
|
||||
link: String,
|
||||
image: String,
|
||||
time: Number,
|
||||
directions: Array
|
||||
});
|
||||
|
||||
var Courses = module.exports = mongoose.model('Course', courseSchema);
|
@ -208,5 +208,5 @@ ul {
|
||||
}
|
||||
|
||||
.button-container {
|
||||
height: 200px;
|
||||
height: 120px;
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -2,6 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
include ../partials/challenges
|
||||
|
@ -2,6 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -2,7 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -2,7 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -2,7 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -2,7 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -2,6 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -5,4 +5,3 @@ block content
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -5,4 +5,3 @@ block content
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
@ -2,6 +2,6 @@ extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include ../../challenges/partials/challenge
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -5,4 +5,3 @@ block content
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.row
|
||||
.col-sm-12.col-md-8.col-xs-12
|
||||
include partials/challenge
|
||||
.col-sm-12.col-md-4.col-xs-12
|
||||
include ../partials/challenges
|
||||
|
@ -2,75 +2,80 @@
|
||||
.panel-heading Challenges
|
||||
.panel-body
|
||||
ol
|
||||
li Web Design:
|
||||
ol
|
||||
li
|
||||
a(href="/challenges/create-and-deploy-a-website") Create a website and deploy it to the internet
|
||||
li
|
||||
a(href="/challenges/start-a-pair-programming-session") Start Pair Programming session
|
||||
li
|
||||
a(href="/challenges/add-dynamic-content-to-your-website") Add dynamic content to your website
|
||||
li
|
||||
a(href="/challenges/experiment-with-html-and-css-in-codepen") Experiment with HTML and CSS in CodePen
|
||||
li
|
||||
a.disabled(href="#") Solve a mystery using Chrome DevTools
|
||||
li
|
||||
a.disabled(href="#") Augment a Form with jQuery
|
||||
li
|
||||
a.disabled(href="#") Customize Bootstrap with Bootswatch
|
||||
li
|
||||
a.disabled(href="#") Inject Life with CSS Transformations
|
||||
li
|
||||
a(href="/challenges/codecademy-html-and-css-track") Codecademy's HTML & CSS track
|
||||
li
|
||||
a(href="/challenges/code-school-discover-devtools-course") Code School's Discover DevTools
|
||||
li
|
||||
a(href="/challenges/code-school-try-jquery-course") Code School's Try jQuery
|
||||
li
|
||||
a(href="challenges/enter-the-free-code-camp-chat-room") Enter the Free Code Camp Chat Room
|
||||
li
|
||||
a(href="challenges/install-github-atom-text-editor") Install Github's Atom Text Editor
|
||||
li
|
||||
a(href="/challenges/create-and-deploy-a-website") Create a Website and Deploy it to the Internet
|
||||
li
|
||||
a(href="/challenges/start-a-pair-programming-session") Start Your First Pair Programming Session
|
||||
li
|
||||
a(href="/challenges/add-dynamic-content-to-your-website") Add Dynamic Content to your Website
|
||||
li
|
||||
a(href="/challenges/codecademy-html-and-css-track") Codecademy's HTML & CSS track
|
||||
li
|
||||
a(href="/challenges/experiment-with-html-and-css-in-codepen") Experiment with HTML and CSS in CodePen
|
||||
li
|
||||
a(href="/challenges/code-school-try-jquery-course") Code School's Try jQuery
|
||||
li
|
||||
a(href="challenges/complete-jquery-exercises") Complete these jQuery Exercises
|
||||
li
|
||||
a(href="/challenges/code-school-discover-devtools-course") Code School's Discover DevTools
|
||||
li
|
||||
a.disabled(href="challenges/customize-bootstrap-with-bootswatch") Customize Bootstrap with Bootswatch
|
||||
li
|
||||
a.disabled(href="challenges/inject-life-with-css-transformations") Inject Life with CSS Transformations
|
||||
li
|
||||
a(href="/challenges/codecademy-javascript-track") Codecademy's JavaScript track
|
||||
li
|
||||
a(href="challenges/get-help-the-hacker-way-with-rsap") Get Help The Hacker Way with RSAP
|
||||
li
|
||||
a(href="challenges/easy-algorthim-scripting-challenges-on-coderbyte") Easy Algorithm Scripting Challenges on Coderbyte
|
||||
li
|
||||
a(href="/challenges/harvard-introduction-to-computer-science-cs50-course") Harvard's CS50: Introduction to Computer Science
|
||||
li
|
||||
a(href="challenges/medium-algorthim-scripting-challenges-on-coderbyte") Medium Algorithm Scripting Challenges on Coderbyte
|
||||
li
|
||||
a(href="challenges/stanfords-json-mini-course") Stanford's JSON Mini-course
|
||||
li
|
||||
a.disabled(href="challenges/build-a-text-based-adventure") Build a Text-based Adventure
|
||||
li
|
||||
a.disabled(href="challenges/hard-algorthim-scripting-challenges-on-coderbyte") Hard Algorithm Scripting Challenges on Coderbyte
|
||||
li
|
||||
a.disabled(href="challenges/stanfords-sql-mini-course") Stanford's SQL Mini-course
|
||||
li
|
||||
a.disabled(href="#") Build an Interview Question Machine
|
||||
|
||||
li JavaScript and Computer Science:
|
||||
ol
|
||||
li
|
||||
a(href="/challenges/codecademy-javascript-track") Codecademy's JavaScript track
|
||||
li
|
||||
a(href="/challenges/harvard-introduction-to-computer-science-cs50-course") Harvard's CS50: Introduction to Computer Science
|
||||
li
|
||||
a(href="/challenges/linux-command-line-tutorial") Linux Command Line tutorial
|
||||
li
|
||||
a(href="/challenges/code-school-try-git-course") Code School's Try Git
|
||||
li
|
||||
a.disabled(href="#") Get Help The Hacker Way with RSAP
|
||||
li
|
||||
a.disabled(href="#") Script Algorithms on CoderByte
|
||||
li
|
||||
a.disabled(href="#") Build a Text-based Adventure
|
||||
li
|
||||
a.disabled(href="#") Build an Interview Question Machine
|
||||
|
||||
li Full Stack JavaScript Development:
|
||||
ol
|
||||
li
|
||||
a.disabled(href="#") Deploy your first Node.js app on Heroku
|
||||
li
|
||||
a.disabled(href="#") Explore your Network with the LinkedIn API
|
||||
li
|
||||
a.disabled(href="#") Build your first API
|
||||
li
|
||||
a.disabled(href="#") Aggregate Data with Chron Jobs and Screen Scraping
|
||||
li
|
||||
a.disabled(href="#") Reverse Engineer SnapChat
|
||||
li
|
||||
a.disabled(href="#") Reverse Engineer Reddit
|
||||
li
|
||||
a.disabled(href="#") Reverse Engineer Pintrest
|
||||
li
|
||||
a.disabled(href="#") Help a Nonprofit: Team Project
|
||||
li
|
||||
a.disabled(href="#") Help a Nonprofit: Solo Project
|
||||
li
|
||||
a.disabled(href="#") Crack the Coding Interview
|
||||
li
|
||||
a(href="/challenges/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS
|
||||
li
|
||||
a(href="/challenges/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS
|
||||
li
|
||||
a(href="/challenges/m101js-mongodb-for-node-js-developers-course") MongoDB University's MongoDB for Node.js Developers
|
||||
li
|
||||
a(href="/challenges/code-school-try-git-course") Code School's Try Git
|
||||
li
|
||||
a(href="/challenges/install-node-js") Install Node.js
|
||||
li
|
||||
a(href="/clone-a-github-repo") Clone a Github Repo
|
||||
li
|
||||
a.disabled(href="challenges/deploy-an-app-to-heroku") Deploy an app to Heroku
|
||||
li
|
||||
a(href="/challenges/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS
|
||||
li
|
||||
a(href="challenges/try-mongodb") Try MongoDB
|
||||
li
|
||||
a.disabled(href="challenges/explore-your-network-with-the-linkedin-api") Explore your Network with the LinkedIn API
|
||||
li
|
||||
a.disabled(href="challenges/build-your-first-api") Build your first API
|
||||
li
|
||||
a.disabled(href="challenges/aggregate-data-with-chron-jobs-and-screen-scraping") Aggregate Data with Chron Jobs and Screen Scraping
|
||||
li
|
||||
a(href="/challenges/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS
|
||||
li
|
||||
a.disabled(href="challenges/reverse-engineer-snapchat") Reverse Engineer SnapChat
|
||||
li
|
||||
a.disabled(href="challenges/reverse-engineer-reddit") Reverse Engineer Reddit
|
||||
li
|
||||
a.disabled(href="challenges/reverse-engineer-pintrest") Reverse Engineer Pintrest
|
||||
li
|
||||
a.disabled(href="challenges/help-a-nonprofit-team-project") Help a Nonprofit: Team Project
|
||||
li
|
||||
a.disabled(href="challenges/help-a-nonprofit-solo-project") Help a Nonprofit: Solo Project
|
||||
li
|
||||
a.disabled(href="challenges/crack-the-coding-interview") Crack the Coding Interview
|
@ -24,7 +24,7 @@
|
||||
i.caret
|
||||
ul.dropdown-menu
|
||||
li
|
||||
a(href='/curriculum')
|
||||
a(href='/challenges/a-one-minute-introduction-to-free-code-camp')
|
||||
span.ion-map
|
||||
| My curriculum
|
||||
li
|
||||
|
Reference in New Issue
Block a user