From de29af1e8afe3eba7b5c413edf2b237b13603554 Mon Sep 17 00:00:00 2001 From: Michael Q Larson Date: Sun, 2 Nov 2014 09:07:40 -0800 Subject: [PATCH] update views and add routes to app.js --- app.js | 60 +++++-- controllers/challenges.js | 49 +++--- controllers/curriculum.js | 14 -- models/Challenge.js | 7 +- models/Course.js | 12 -- public/css/styles.less | 2 +- ...minute-introduction-to-free-code-camp.jade | 7 + ...a-with-chron-jobs-and-screen-scraping.jade | 7 + .../build-a-text-based-adventure.jade | 7 + .../build-an-interview-question-machine.jade | 7 + views/challenges/build-your-first-api.jade | 7 + views/challenges/clone-a-github-repo.jade | 7 + .../code-school-discover-devtools-course.jade | 4 +- ...-school-real-time-with-node-js-course.jade | 2 +- ...ool-shaping-up-with-angular-js-course.jade | 3 +- .../code-school-try-git-course.jade | 3 +- .../code-school-try-jquery-course.jade | 3 +- .../codecademy-html-and-css-track.jade | 3 +- .../codecademy-javascript-track.jade | 2 +- .../challenges/complete-jquery-exercises.jade | 7 + ...him-scripting-challenges-on-coderbyte.jade | 0 ...him-scripting-challenges-on-coderbyte.jade | 0 ...him-scripting-challenges-on-coderbyte.jade | 0 .../crack-the-coding-interview.jade | 7 + .../create-and-deploy-a-website.jade | 1 - .../customize-bootstrap-with-bootswatch.jade | 7 + views/challenges/deploy-an-app-to-heroku.jade | 7 + ...him-scripting-challenges-on-coderbyte.jade | 7 + .../enter-the-free-code-camp-chat-room.jade | 7 + ...periment-with-html-and-css-in-codepen.jade | 1 - ...re-your-network-with-the-linkedin-api.jade | 7 + .../get-help-the-hacker-way-with-rsap.jade | 7 + ...him-scripting-challenges-on-coderbyte.jade | 7 + ...ction-to-computer-science-cs50-course.jade | 2 +- .../help-a-nonprofit-solo-project.jade | 7 + .../help-a-nonprofit-team-project.jade | 7 + .../inject-life-with-css-transformations.jade | 7 + .../install-github-atom-text-editor.jade | 7 + views/challenges/install-node-js.jade | 7 + ...him-scripting-challenges-on-coderbyte.jade | 7 + .../challenges/reverse-engineer-pintrest.jade | 7 + views/challenges/reverse-engineer-reddit.jade | 7 + .../challenges/reverse-engineer-snapchat.jade | 7 + .../stanfords-json-mini-course.jade | 7 + ...ords-relational-databases-mini-course.jade | 7 + .../challenges/stanfords-sql-mini-course.jade | 7 + .../start-a-pair-programming-session.jade | 1 - views/challenges/try-mongodb.jade | 7 + views/partials/challenges.jade | 147 +++++++++--------- views/partials/navbar.jade | 2 +- 50 files changed, 351 insertions(+), 163 deletions(-) delete mode 100644 controllers/curriculum.js delete mode 100644 models/Course.js create mode 100644 views/challenges/a-one-minute-introduction-to-free-code-camp.jade delete mode 100644 views/challenges/complete-the-easy-algorthim-scripting-challenges-on-coderbyte.jade delete mode 100644 views/challenges/complete-the-hard-algorthim-scripting-challenges-on-coderbyte.jade delete mode 100644 views/challenges/complete-the-medium-algorthim-scripting-challenges-on-coderbyte.jade create mode 100644 views/challenges/easy-algorthim-scripting-challenges-on-coderbyte.jade create mode 100644 views/challenges/hard-algorthim-scripting-challenges-on-coderbyte.jade create mode 100644 views/challenges/medium-algorthim-scripting-challenges-on-coderbyte.jade diff --git a/app.js b/app.js index f4e568440c..3228a33259 100644 --- a/app.js +++ b/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 || '/'); }); diff --git a/controllers/challenges.js b/controllers/challenges.js index 26ede4ff68..ac75529b05 100644 --- a/controllers/challenges.js +++ b/controllers/challenges.js @@ -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: [ diff --git a/controllers/curriculum.js b/controllers/curriculum.js deleted file mode 100644 index 03c334ef50..0000000000 --- a/controllers/curriculum.js +++ /dev/null @@ -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' - }); - }); -}; \ No newline at end of file diff --git a/models/Challenge.js b/models/Challenge.js index cfccba3bc1..f1018494b0 100644 --- a/models/Challenge.js +++ b/models/Challenge.js @@ -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 }); diff --git a/models/Course.js b/models/Course.js deleted file mode 100644 index 916bb9bdc4..0000000000 --- a/models/Course.js +++ /dev/null @@ -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); \ No newline at end of file diff --git a/public/css/styles.less b/public/css/styles.less index aaf02cf9ec..c62f13afd2 100644 --- a/public/css/styles.less +++ b/public/css/styles.less @@ -208,5 +208,5 @@ ul { } .button-container { - height: 200px; + height: 120px; } \ No newline at end of file diff --git a/views/challenges/a-one-minute-introduction-to-free-code-camp.jade b/views/challenges/a-one-minute-introduction-to-free-code-camp.jade new file mode 100644 index 0000000000..3464508724 --- /dev/null +++ b/views/challenges/a-one-minute-introduction-to-free-code-camp.jade @@ -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 diff --git a/views/challenges/aggregate-data-with-chron-jobs-and-screen-scraping.jade b/views/challenges/aggregate-data-with-chron-jobs-and-screen-scraping.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/aggregate-data-with-chron-jobs-and-screen-scraping.jade +++ b/views/challenges/aggregate-data-with-chron-jobs-and-screen-scraping.jade @@ -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 diff --git a/views/challenges/build-a-text-based-adventure.jade b/views/challenges/build-a-text-based-adventure.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/build-a-text-based-adventure.jade +++ b/views/challenges/build-a-text-based-adventure.jade @@ -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 diff --git a/views/challenges/build-an-interview-question-machine.jade b/views/challenges/build-an-interview-question-machine.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/build-an-interview-question-machine.jade +++ b/views/challenges/build-an-interview-question-machine.jade @@ -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 diff --git a/views/challenges/build-your-first-api.jade b/views/challenges/build-your-first-api.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/build-your-first-api.jade +++ b/views/challenges/build-your-first-api.jade @@ -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 diff --git a/views/challenges/clone-a-github-repo.jade b/views/challenges/clone-a-github-repo.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/clone-a-github-repo.jade +++ b/views/challenges/clone-a-github-repo.jade @@ -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 diff --git a/views/challenges/code-school-discover-devtools-course.jade b/views/challenges/code-school-discover-devtools-course.jade index 978b8cda08..3464508724 100644 --- a/views/challenges/code-school-discover-devtools-course.jade +++ b/views/challenges/code-school-discover-devtools-course.jade @@ -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 \ No newline at end of file + include ../partials/challenges diff --git a/views/challenges/code-school-real-time-with-node-js-course.jade b/views/challenges/code-school-real-time-with-node-js-course.jade index 84d6115d69..3464508724 100644 --- a/views/challenges/code-school-real-time-with-node-js-course.jade +++ b/views/challenges/code-school-real-time-with-node-js-course.jade @@ -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 diff --git a/views/challenges/code-school-shaping-up-with-angular-js-course.jade b/views/challenges/code-school-shaping-up-with-angular-js-course.jade index 9cdd08232f..3464508724 100644 --- a/views/challenges/code-school-shaping-up-with-angular-js-course.jade +++ b/views/challenges/code-school-shaping-up-with-angular-js-course.jade @@ -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 - diff --git a/views/challenges/code-school-try-git-course.jade b/views/challenges/code-school-try-git-course.jade index 9cdd08232f..3464508724 100644 --- a/views/challenges/code-school-try-git-course.jade +++ b/views/challenges/code-school-try-git-course.jade @@ -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 - diff --git a/views/challenges/code-school-try-jquery-course.jade b/views/challenges/code-school-try-jquery-course.jade index 9cdd08232f..3464508724 100644 --- a/views/challenges/code-school-try-jquery-course.jade +++ b/views/challenges/code-school-try-jquery-course.jade @@ -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 - diff --git a/views/challenges/codecademy-html-and-css-track.jade b/views/challenges/codecademy-html-and-css-track.jade index 378aeadaac..3464508724 100644 --- a/views/challenges/codecademy-html-and-css-track.jade +++ b/views/challenges/codecademy-html-and-css-track.jade @@ -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 - diff --git a/views/challenges/codecademy-javascript-track.jade b/views/challenges/codecademy-javascript-track.jade index 84d6115d69..3464508724 100644 --- a/views/challenges/codecademy-javascript-track.jade +++ b/views/challenges/codecademy-javascript-track.jade @@ -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 diff --git a/views/challenges/complete-jquery-exercises.jade b/views/challenges/complete-jquery-exercises.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/complete-jquery-exercises.jade +++ b/views/challenges/complete-jquery-exercises.jade @@ -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 diff --git a/views/challenges/complete-the-easy-algorthim-scripting-challenges-on-coderbyte.jade b/views/challenges/complete-the-easy-algorthim-scripting-challenges-on-coderbyte.jade deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/views/challenges/complete-the-hard-algorthim-scripting-challenges-on-coderbyte.jade b/views/challenges/complete-the-hard-algorthim-scripting-challenges-on-coderbyte.jade deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/views/challenges/complete-the-medium-algorthim-scripting-challenges-on-coderbyte.jade b/views/challenges/complete-the-medium-algorthim-scripting-challenges-on-coderbyte.jade deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/views/challenges/crack-the-coding-interview.jade b/views/challenges/crack-the-coding-interview.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/crack-the-coding-interview.jade +++ b/views/challenges/crack-the-coding-interview.jade @@ -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 diff --git a/views/challenges/create-and-deploy-a-website.jade b/views/challenges/create-and-deploy-a-website.jade index ffc9918147..3464508724 100644 --- a/views/challenges/create-and-deploy-a-website.jade +++ b/views/challenges/create-and-deploy-a-website.jade @@ -5,4 +5,3 @@ block content include partials/challenge .col-sm-12.col-md-4.col-xs-12 include ../partials/challenges - diff --git a/views/challenges/customize-bootstrap-with-bootswatch.jade b/views/challenges/customize-bootstrap-with-bootswatch.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/customize-bootstrap-with-bootswatch.jade +++ b/views/challenges/customize-bootstrap-with-bootswatch.jade @@ -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 diff --git a/views/challenges/deploy-an-app-to-heroku.jade b/views/challenges/deploy-an-app-to-heroku.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/deploy-an-app-to-heroku.jade +++ b/views/challenges/deploy-an-app-to-heroku.jade @@ -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 diff --git a/views/challenges/easy-algorthim-scripting-challenges-on-coderbyte.jade b/views/challenges/easy-algorthim-scripting-challenges-on-coderbyte.jade new file mode 100644 index 0000000000..3464508724 --- /dev/null +++ b/views/challenges/easy-algorthim-scripting-challenges-on-coderbyte.jade @@ -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 diff --git a/views/challenges/enter-the-free-code-camp-chat-room.jade b/views/challenges/enter-the-free-code-camp-chat-room.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/enter-the-free-code-camp-chat-room.jade +++ b/views/challenges/enter-the-free-code-camp-chat-room.jade @@ -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 diff --git a/views/challenges/experiment-with-html-and-css-in-codepen.jade b/views/challenges/experiment-with-html-and-css-in-codepen.jade index ffc9918147..3464508724 100644 --- a/views/challenges/experiment-with-html-and-css-in-codepen.jade +++ b/views/challenges/experiment-with-html-and-css-in-codepen.jade @@ -5,4 +5,3 @@ block content include partials/challenge .col-sm-12.col-md-4.col-xs-12 include ../partials/challenges - diff --git a/views/challenges/explore-your-network-with-the-linkedin-api.jade b/views/challenges/explore-your-network-with-the-linkedin-api.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/explore-your-network-with-the-linkedin-api.jade +++ b/views/challenges/explore-your-network-with-the-linkedin-api.jade @@ -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 diff --git a/views/challenges/get-help-the-hacker-way-with-rsap.jade b/views/challenges/get-help-the-hacker-way-with-rsap.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/get-help-the-hacker-way-with-rsap.jade +++ b/views/challenges/get-help-the-hacker-way-with-rsap.jade @@ -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 diff --git a/views/challenges/hard-algorthim-scripting-challenges-on-coderbyte.jade b/views/challenges/hard-algorthim-scripting-challenges-on-coderbyte.jade new file mode 100644 index 0000000000..3464508724 --- /dev/null +++ b/views/challenges/hard-algorthim-scripting-challenges-on-coderbyte.jade @@ -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 diff --git a/views/challenges/harvard-introduction-to-computer-science-cs50-course.jade b/views/challenges/harvard-introduction-to-computer-science-cs50-course.jade index 84d6115d69..3464508724 100644 --- a/views/challenges/harvard-introduction-to-computer-science-cs50-course.jade +++ b/views/challenges/harvard-introduction-to-computer-science-cs50-course.jade @@ -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 diff --git a/views/challenges/help-a-nonprofit-solo-project.jade b/views/challenges/help-a-nonprofit-solo-project.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/help-a-nonprofit-solo-project.jade +++ b/views/challenges/help-a-nonprofit-solo-project.jade @@ -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 diff --git a/views/challenges/help-a-nonprofit-team-project.jade b/views/challenges/help-a-nonprofit-team-project.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/help-a-nonprofit-team-project.jade +++ b/views/challenges/help-a-nonprofit-team-project.jade @@ -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 diff --git a/views/challenges/inject-life-with-css-transformations.jade b/views/challenges/inject-life-with-css-transformations.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/inject-life-with-css-transformations.jade +++ b/views/challenges/inject-life-with-css-transformations.jade @@ -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 diff --git a/views/challenges/install-github-atom-text-editor.jade b/views/challenges/install-github-atom-text-editor.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/install-github-atom-text-editor.jade +++ b/views/challenges/install-github-atom-text-editor.jade @@ -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 diff --git a/views/challenges/install-node-js.jade b/views/challenges/install-node-js.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/install-node-js.jade +++ b/views/challenges/install-node-js.jade @@ -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 diff --git a/views/challenges/medium-algorthim-scripting-challenges-on-coderbyte.jade b/views/challenges/medium-algorthim-scripting-challenges-on-coderbyte.jade new file mode 100644 index 0000000000..3464508724 --- /dev/null +++ b/views/challenges/medium-algorthim-scripting-challenges-on-coderbyte.jade @@ -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 diff --git a/views/challenges/reverse-engineer-pintrest.jade b/views/challenges/reverse-engineer-pintrest.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/reverse-engineer-pintrest.jade +++ b/views/challenges/reverse-engineer-pintrest.jade @@ -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 diff --git a/views/challenges/reverse-engineer-reddit.jade b/views/challenges/reverse-engineer-reddit.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/reverse-engineer-reddit.jade +++ b/views/challenges/reverse-engineer-reddit.jade @@ -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 diff --git a/views/challenges/reverse-engineer-snapchat.jade b/views/challenges/reverse-engineer-snapchat.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/reverse-engineer-snapchat.jade +++ b/views/challenges/reverse-engineer-snapchat.jade @@ -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 diff --git a/views/challenges/stanfords-json-mini-course.jade b/views/challenges/stanfords-json-mini-course.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/stanfords-json-mini-course.jade +++ b/views/challenges/stanfords-json-mini-course.jade @@ -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 diff --git a/views/challenges/stanfords-relational-databases-mini-course.jade b/views/challenges/stanfords-relational-databases-mini-course.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/stanfords-relational-databases-mini-course.jade +++ b/views/challenges/stanfords-relational-databases-mini-course.jade @@ -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 diff --git a/views/challenges/stanfords-sql-mini-course.jade b/views/challenges/stanfords-sql-mini-course.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/stanfords-sql-mini-course.jade +++ b/views/challenges/stanfords-sql-mini-course.jade @@ -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 diff --git a/views/challenges/start-a-pair-programming-session.jade b/views/challenges/start-a-pair-programming-session.jade index ffc9918147..3464508724 100644 --- a/views/challenges/start-a-pair-programming-session.jade +++ b/views/challenges/start-a-pair-programming-session.jade @@ -5,4 +5,3 @@ block content include partials/challenge .col-sm-12.col-md-4.col-xs-12 include ../partials/challenges - diff --git a/views/challenges/try-mongodb.jade b/views/challenges/try-mongodb.jade index e69de29bb2..3464508724 100644 --- a/views/challenges/try-mongodb.jade +++ b/views/challenges/try-mongodb.jade @@ -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 diff --git a/views/partials/challenges.jade b/views/partials/challenges.jade index db947c18f4..7b9da5c5a9 100644 --- a/views/partials/challenges.jade +++ b/views/partials/challenges.jade @@ -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 \ No newline at end of file + 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 \ No newline at end of file diff --git a/views/partials/navbar.jade b/views/partials/navbar.jade index f896fb2b75..f90d46c838 100644 --- a/views/partials/navbar.jade +++ b/views/partials/navbar.jade @@ -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