diff --git a/app.js b/app.js index 008f0b2862..f465cd0bce 100644 --- a/app.js +++ b/app.js @@ -27,8 +27,8 @@ var connectAssets = require('connect-assets'); var homeController = require('./controllers/home'); var curriculumController = require('./controllers/curriculum'); -var courseController = require('./controllers/course') -var challengeController = require('./controllers/challenge') +var coursesController = require('./controllers/courses') +var challengesController = require('./controllers/challenges') var userController = require('./controllers/user'); var apiController = require('./controllers/api'); var contactController = require('./controllers/contact'); @@ -122,24 +122,24 @@ app.use(express.static(path.join(__dirname, 'public'), { maxAge: week })); app.get('/', homeController.index); app.get('/curriculum', curriculumController.index); -app.get('/course/:id', courseController.view); -app.get('/courses', courseController.index); -app.get('/course/codecademy-html-and-css-track', courseController.codecademyHtmlAndCssTrack) -app.get('/course/code-school-discover-devtools-course', courseController.codeSchoolDiscoverDevtoolsCourse) -app.get('/course/code-school-try-jquery-course', courseController.codeSchoolTryJqueryCourse) -app.get('/course/codecademy-javascript-track', courseController.codecademyJavascriptTrack) -app.get('/course/harvard-introduction-to-computer-science-cs50-course', courseController.harvardIntroductionToComputerScienceCs50Course) -app.get('/course/linux-command-line-tutorial', courseController.linuxCommandLineTutorial) -app.get('/course/code-school-try-git-course', courseController.codeSchoolTryGitCourse) -app.get('/course/code-school-real-time-with-node-js-course', courseController.codeSchoolRealTimeWithNodeJsCourse) -app.get('/course/code-school-shaping-up-with-angular-js-course', courseController.codeSchoolShapingUpWithAngularJsCourse) -app.get('/course/m101js-mongodb-for-node-js-developers-course', courseController.m101jsMongoDBForNodeJsDevelopersCourse) -//app.get('/challenges/:id', challengeController.view); -//app.get('/challenges', challengeController.index); -app.get('/challenges/create-and-deploy-a-website', challengeController.createAndDeployAWebsite) -app.get('/challenges/challenges/add-dynamic-content-to-your-website', challengeController.experimentWithHtmlAndCssInCodepen) -app.get('/challenges/experiment-with-html-and-css-in-codepen', challengeController.addDynamicContentToYourWebsite) -app.get('/challenges/start-a-pair-programming-session', challengeController.startAPairProgrammingSession) +app.get('/course/:id', coursesController.view); +app.get('/courses', coursesController.index); +app.get('/courses/codecademy-html-and-css-track', coursesController.codecademyHtmlAndCssTrack) +app.get('/courses/code-school-discover-devtools-course', coursesController.codeSchoolDiscoverDevtoolsCourse) +app.get('/courses/code-school-try-jquery-course', coursesController.codeSchoolTryJqueryCourse) +app.get('/courses/codecademy-javascript-track', coursesController.codecademyJavascriptTrack) +app.get('/courses/harvard-introduction-to-computer-science-cs50-course', coursesController.harvardIntroductionToComputerScienceCs50Course) +app.get('/courses/linux-command-line-tutorial', coursesController.linuxCommandLineTutorial) +app.get('/courses/code-school-try-git-course', coursesController.codeSchoolTryGitCourse) +app.get('/courses/code-school-real-time-with-node-js-course', coursesController.codeSchoolRealTimeWithNodeJsCourse) +app.get('/courses/code-school-shaping-up-with-angular-js-course', coursesController.codeSchoolShapingUpWithAngularJsCourse) +app.get('/courses/m101js-mongodb-for-node-js-developers-course', coursesController.m101jsMongoDBForNodeJsDevelopersCourse) +//app.get('/challenges/:id', challengesController.view); +//app.get('/challenges', challengesController.index); +app.get('/challenges/create-and-deploy-a-website', challengesController.createAndDeployAWebsite) +app.get('/challenges/challenges/add-dynamic-content-to-your-website', challengesController.experimentWithHtmlAndCssInCodepen) +app.get('/challenges/experiment-with-html-and-css-in-codepen', challengesController.addDynamicContentToYourWebsite) +app.get('/challenges/start-a-pair-programming-session', challengesController.startAPairProgrammingSession) app.get('/login', userController.getLogin); app.post('/login', userController.postLogin); app.get('/logout', userController.logout); diff --git a/controllers/challenge.js b/controllers/challenge.js deleted file mode 100644 index 134a3abd29..0000000000 --- a/controllers/challenge.js +++ /dev/null @@ -1,49 +0,0 @@ -/** -* GET / -* Home page. -*/ -var Challenge = require('./../models/Challenge') - -exports.index = function(req, res) { - Challenge.find(function(err, challenges){ - res.render('challenge/index', { - title: 'Challenges', - challenges: challenges - }); - }); -}; -exports.view = function(req, res) { - Challenge.findById(req.param.id, function(err, challenge){ - res.render('challenge/view', { - title: 'Challenge', - challenge: challenge - }); - }); -}; -exports.createAndDeployAWebsite = function(req, res) { - res.render('challenge/create-and-deploy-a-website', { - name: 'Create and Deploy a Website', - image: 'http://startbootstrap.com/assets/img/templates/landing-page.jpg', - video: '', - directions: "In the next 5 minutes, you'll create a website and deploy it to the internet!", - links: ["http://startbootstrap.com/template-overviews/freelancer/", "www.bitballoon.com", "https://atom.io/"] - }); -}; - -exports.addDynamicContentToYourWebsite = function(req, res) { - res.render('challenge/add-dynamic-content-to-your-website', { - name: 'Add dynamic content to your website' - }); -}; - -exports.experimentWithHtmlAndCssInCodepen = function(req, res) { - res.render('challenge/experiment-with-html-and-css-in-codepen', { - name: 'Experiment with HTML and CSS in Codepen' - }); -}; - -exports.startAPairProgrammingSession = function(req, res) { - res.render('challenge/start-a-pair-programming-session', { - name: 'Start a pair programming session' - }); -}; \ No newline at end of file diff --git a/controllers/challenges.js b/controllers/challenges.js new file mode 100644 index 0000000000..95795b7a70 --- /dev/null +++ b/controllers/challenges.js @@ -0,0 +1,71 @@ +/** +* GET / +* Home page. +*/ +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.createAndDeployAWebsite = function(req, res) { + res.render('challenges/create-and-deploy-a-website', { + name: 'Create and Deploy a Website', + image: 'http://startbootstrap.com/assets/img/templates/landing-page.jpg', + video: "", + directions: ["In the next 5 minutes, you'll create a website and deploy it to the internet!"], + links: ["http://startbootstrap.com/template-overviews/freelancer/", "http://bitballoon.com", "http://atom.io"] + }); +}; + +exports.addDynamicContentToYourWebsite = function(req, res) { + res.render('challenges/add-dynamic-content-to-your-website', { + name: "Add Dynamic Content to your Website with POWr.io", + source: "Free Code Camp", + video: "", + image: "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg", + directions: [ + "The website you created earlier is cool, but it's not very interactive.", "Let's make it dynamic with POWr.io's drag-and-drop form and database tools!" + ], + links: ["http://startbootstrap.com/template-overviews/freelancer/", "http://www.powr.io/", "http://bitballoon.com"] + }); +}; + +exports.experimentWithHtmlAndCssInCodepen = function(req, res) { + res.render('challenges/experiment-with-html-and-css-in-codepen', { + name: "Create your first CodePen", + source: "Free Code Camp", + video: "", + image: "http://www.designtrending.com/wp-content/uploads/2013/02/codepen_split.png", + directions: [ + "Let's put those HTML and CSS skills to work!", + "You'll create your own databaseless webpage. We'll show you how." + ], + links: ["http://getbootstrap.com/", "http://www.usatoday.com/", "http://codepen.io/"] + }); +}; + +exports.startAPairProgrammingSession = function(req, res) { + res.render('challenges/start-a-pair-programming-session', { + name: "Start Your First Pair Programming Session", + source: "Free Code Camp", + video: "", + image: "https://screenhero.com/img/anim-collaboration.gif", + directions: [ + "What's all this Pair Programming stuff about? Let's find out!", "We'll use a popular pair programming tool called Screen Hero. We'll also visit the Free Code Camp chat room.", "We'll show you how to launch pair programming sessions right inside the chat room." + ], + links: ["https://screenhero.com/download.html", "https://www.hipchat.com/invite/178107/cc2f6ea4dfac9e48b9a88b305adae48a"] + }); +}; \ No newline at end of file diff --git a/controllers/course.js b/controllers/course.js deleted file mode 100644 index f8d40e3009..0000000000 --- a/controllers/course.js +++ /dev/null @@ -1,82 +0,0 @@ -/** -* GET / -* Home page. -*/ -var Course = require('./../models/Course') - -exports.index = function(req, res) { - Course.find(function(err, courses){ - res.render('course/index', { - title: 'Courses', - courses: courses - }); - }); -}; -exports.view = function(req, res) { - Course.findById(req.param.id, function(err, course){ - res.render('course/view', { - title: 'Course', - course: course - }); - }); -}; - -exports.codecademyHtmlAndCssTrack = function(req, res) { - res.render('course/codecademy-html-and-css-track', { - name: '' - }); -}; - -exports.codeSchoolDiscoverDevtoolsCourse = function(req, res) { - res.render('course/code-school-discover-devtools-course', { - name: '' - }); -}; - -exports.codeSchoolTryJqueryCourse = function(req, res) { - res.render('course/code-school-try-jquery-course', { - name: '' - }); -}; - -exports.codecademyJavascriptTrack = function(req, res) { - res.render('course/codecademy-javascript-track', { - name: '' - }); -}; - -exports.harvardIntroductionToComputerScienceCs50Course = function(req, res) { - res.render('course/harvard-introduction-to-computer-science-cs50-course', { - name: '' - }); -}; - -exports.linuxCommandLineTutorial = function(req, res) { - res.render('course/linux-command-line-tutorial', { - name: '' - }); -}; - -exports.codeSchoolTryGitCourse = function(req, res) { - res.render('course/code-school-try-git-course', { - name: '' - }); -}; - -exports.codeSchoolRealTimeWithNodeJsCourse = function(req, res) { - res.render('course/code-school-real-time-with-node-js-course', { - name: '' - }); -}; - -exports.codeSchoolShapingUpWithAngularJsCourse = function(req, res) { - res.render('course/code-school-shaping-up-with-angular-js-course', { - name: '' - }); -}; - -exports.m101jsMongoDBForNodeJsDevelopersCourse = function(req, res) { - res.render('course/m101js-mongodb-for-node-js-developers-course', { - name: '' - }); -}; \ No newline at end of file diff --git a/controllers/courses.js b/controllers/courses.js new file mode 100644 index 0000000000..a0cecc2154 --- /dev/null +++ b/controllers/courses.js @@ -0,0 +1,157 @@ +/** +* GET / +* Home page. +*/ +var Course = require('./../models/Course') + +exports.index = function(req, res) { + Course.find(function(err, courses){ + res.render('course/index', { + title: 'Courses', + courses: courses + }); + }); +}; +exports.view = function(req, res) { + Course.findById(req.param.id, function(err, course){ + res.render('course/view', { + title: 'Course', + course: course + }); + }); +}; + +exports.codecademyHtmlAndCssTrack = function(req, res) { + res.render('courses/codecademy-html-and-css-track', { + name: "Codecademy HTML & CSS Track", + link: "http://www.codecademy.com/tracks/web", + image: "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png", + time: 7, + directions: [ + "Let's learn HTML and CSS! Then we'll understand the structure (HTML) and the style (CSS) that makes up all webpages.", + "More than 5 million people have worked their way through this short, interactive course. Once you finish it, you'll be able create your own webpages from scratch." + ] + }); +}; + +exports.codeSchoolDiscoverDevtoolsCourse = function(req, res) { + res.render('courses/code-school-discover-devtools-course', { + name: "Code School's Discover DevTools", + link: "http://discover-devtools.codeschool.com/", + image: "https://d1ffx7ull4987f.cloudfront.net/images/achievements/large_badge/197/completed-discover-devtools-b769c8b681384be3ad04cdf813b4a62c.png", + time: 4, + directions: [ + "Did you know you can change the HTML and CSS on this page? You can even inject JavaScript. In fact, you can do this on any webpage!", + "Chrome has built in DevTools that allow you to debug webpages, right in your browser. This is a super handy tool when you're building web applications.", + "This course will walk you through using these tools, and test your new skills with 75 exercises." + ] + }); +}; + +exports.codeSchoolTryJqueryCourse = function(req, res) { + res.render('courses/code-school-try-jquery-course', { + name: "Code School's Try jQuery Course", + link: "https://www.codeschool.com/courses/try-jquery", + image: "http://logoness.com/wp-content/uploads/2014/09/code-school-logo.jpg", + time: 7, + directions: [ + "jQuery gives you an easy way to modify your HTML and CSS without reloading your page.", + "Code School's interactive jQuery course will help you understand how to manipulate page elements and capture information that your users give you." + ] + }); +}; + +exports.codecademyJavascriptTrack = function(req, res) { + res.render('courses/codecademy-javascript-track', { + name: "Codecademy JavaScript Track", + link: "http://www.codecademy.com/tracks/javascript", + image: "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png", + time: 10, + directions: [ + "All right, now let's start coding!", + "Codecademy's popular JavaScript track will teach you some basic syntax and common programming data structures in just a few hours." + ] + }); +}; + +exports.harvardIntroductionToComputerScienceCs50Course = function(req, res) { + res.render('courses/harvard-introduction-to-computer-science-cs50-course', { + name: "Introduction to Computer Science", + link: "https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ", + image: "http://content.sportslogos.net/logos/31/695/full/k7ahkuime41f6elmq8qx.png", + time: 150, + directions: [ + "Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation.", + "This course will introduce you to algorithms, databases, data structures, and a ton of theory.", + "It's a long course, so be sure to mix it up with frequent pair programming sessions on FreeCodeCamp challenges." + ] + }); +}; + +exports.linuxCommandLineTutorial = function(req, res) { + res.render('courses/linux-command-line-tutorial', { + name: "Linux Command Line Tutorial", + link: "https://www.udemy.com/linux-command-line-volume1/", + image: "https://udemyimages-a.akamaihd.net/course/200_H/95246_69f4_7.jpg", + time: 2, + directions: [ + "If you are using a Mac or a Linux computer, this short course will help you learn some basic commands to get around your terminal.", + "If you are using a Windows computer, you can either skip this course or install a linux emulator here: http://cygwin.com/install.html" + ] + }); +}; + +exports.codeSchoolTryGitCourse = function(req, res) { + res.render('courses/code-school-try-git-course', { + name: "Code School's Try Git Course", + link: "https://www.codeschool.com/courses/try-git", + image: "http://logoness.com/wp-content/uploads/2014/09/code-school-logo.jpg", + time: 2, + directions: [ + "Have you ever accidentally deleted something? With Git, you will never have that problem again.", + "Git is a Version Control System. It will track all changes to your files. That way you don't have to worry about your code breaking. You can just rewind time to back when your code worked right.", + "This short course will help you install git and learn how it works." + ] + }); +}; + +exports.codeSchoolRealTimeWithNodeJsCourse = function(req, res) { + res.render('courses/code-school-real-time-with-node-js-course', { + name: "Code School's Real-time web with Node.JS", + link: "https://www.codeschool.com/courses/real-time-web-with-node-js", + image: "https://d1ffx7ull4987f.cloudfront.net/images/achievements/large_badge/107/completed-real-time-web-with-node-js-c8408b2b17ff6492d3f4d241c0db322d.png", + time: 10, + directions: [ + "Learn NodeJS, the web server that makes the MEAN Stack possible.", + "You'll also get exposure to related technologies, like the web development framework ExpressJS, Redis and WebSockets.", + "Only the first section of this course is free, but you can use your two-day Code School free trial to finish it." + ] + }); +}; + +exports.codeSchoolShapingUpWithAngularJsCourse = function(req, res) { + res.render('courses/code-school-shaping-up-with-angular-js-course', { + name: "Codeschool's Shaping up with Angular.js", + link: "https://www.codeschool.com//courses/shaping-up-with-angular-js", + image: "https://d1ffx7ull4987f.cloudfront.net/images/courses/large_badge/109/shaping-up-with-angular-js-83ceb89bd5255391f25230727ae3f019.png", + time: 10, + directions: [ + "AngularJS is a powerful front end JavaScript framework. It's more powerful than jQuery, but it's also more challenging to master.", + "AngularJS is used heavily by Google and many other high tech companies. As such, it is a hot skill, and employers are looking for software engineers who are good with AngularJS." + ] + }); +}; + +exports.m101jsMongoDBForNodeJsDevelopersCourse = function(req, res) { + res.render('courses/m101js-mongodb-for-node-js-developers-course', { + name: "M101JS: MongoDB for Node.js Developers", + link: "https://university.mongodb.com/courses/M101JS/about", + image: "http://fc01.deviantart.net/fs70/f/2010/168/e/1/Icon_MongoDB_by_xkneo.png", + time: 40, + directions: [ + "MongoDB is a powerful Document Store Database. One reason it is so popular is that you can query it using JavaScript.", + "Instead of using traditional table to store data (similar to a spreadsheet), MongoDB stuffs everything into huge documents. It can store massive amounts of data more efficiently than traditional SQL-based databases, but has fewer features.", + "Tengen, the company that created MongoDB, has opened this course to everyone for free. It has specific start and end dates, so you may have to wait a few weeks for a session starts. In the meantime, you should keep working on other FreeCodeCamp challenges and projects." + ] + }); +}; \ No newline at end of file diff --git a/public/css/styles.less b/public/css/styles.less index ae094561a8..283bffa5b9 100644 --- a/public/css/styles.less +++ b/public/css/styles.less @@ -105,4 +105,8 @@ ul { margin:0 auto; } +.centered-iframe { + display:block; +} + /**/ \ No newline at end of file diff --git a/seed_data/challenges.json b/seed_data/challenges.json index bb5d68f95f..264a4e7c44 100644 --- a/seed_data/challenges.json +++ b/seed_data/challenges.json @@ -4,27 +4,27 @@ "source": "Free Code Camp", "link": "http://www.freecodecamp.com/create-and-deploy-a-website", "image": "http://startbootstrap.com/assets/img/templates/landing-page.jpg", - "time": 1, "directions": [ "In the next 5 minutes, you'll create a website and deploy it to the internet!" - ] + ], + "links": ["http://startbootstrap.com/template-overviews/freelancer/", "http://bitballoon.com", "http://atom.io"] }, { "name": "Start Your First Pair Programming Session", "source": "Free Code Camp", "link": "http://www.freecodecamp.com/first_pair_programming_session", "image": "https://screenhero.com/img/anim-collaboration.gif", - "time": 1, "directions": [ "What's all this Pair Programming stuff about? Let's find out! We'll use a popular pair programming tool called Screen Hero." - ] + ], + "links": ["https://screenhero.com/download.html"] + }, { "name": "Make Your Static Page Dynamic Using POWR.io", "source": "Free Code Camp", "link": "http://www.freecodecamp.com/first_dynamic_website", "image": "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg", - "time": 1, "directions": [ "The website you created earlier is cool, but it's not very interactive. Let's " ] @@ -34,7 +34,6 @@ "source": "Free Code Camp", "link": "http://www.freecodecamp.com/first_codepen", "image": "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg", - "time": 1, "directions": [ "Let's put those HTML and CSS skills to work!", "You'll create your own databaseless webpage. We'll show you how." diff --git a/seed_data/courses.json b/seed_data/courses.json index ee0252f423..9f364ab8a4 100644 --- a/seed_data/courses.json +++ b/seed_data/courses.json @@ -5,8 +5,19 @@ "image": "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png", "time": 7, "directions": [ - "Let's learn will learn HTML and CSS! Then we'll understand the structure (HTML) and the style (CSS) that underlies all webpages.", - "More than 5 million people have worked their way through this short, interactive course. Once you finish it, you'll be able create your own database-less webpages." + "Let's learn HTML and CSS! Then we'll understand the structure (HTML) and the style (CSS) that underlies all webpages.", + "More than 5 million people have worked their way through this short, interactive course. Once you finish it, you'll be able create your own webpages from scratch." + ] + }, + { + "name": "Code School's Discover DevTools", + "link": "http://discover-devtools.codeschool.com/", + "image": "https://d1ffx7ull4987f.cloudfront.net/images/achievements/large_badge/197/completed-discover-devtools-b769c8b681384be3ad04cdf813b4a62c.png", + "time": 4, + "directions": [ + "Did you know you can change the HTML and CSS on this page? You can even inject JavaScript. In fact, you can do this on any webpage!", + "Chrome has built in DevTools that allow you to debug web pages, right in your browser. This is a super handy tool when you're building web applications.", + "This course will walk you through using these tools, and test your new skills with 75 exercises." ] }, { @@ -19,17 +30,6 @@ "Code School's interactive jQuery course will help you understand how to manipulate page elements and capture information that your users give you." ] }, - { - "name": "Code School's Discover DevTools", - "link": "http://discover-devtools.codeschool.com/", - "image": "https://d1ffx7ull4987f.cloudfront.net/images/achievements/large_badge/197/completed-discover-devtools-b769c8b681384be3ad04cdf813b4a62c.png", - "time": 4, - "directions": [ - "Did you know you can change the HTML and CSS on this page? You can even inject JavaScript. In fact, you can do this on any webpage!", - "Chrome has a built in DevTools that allow you to debug web pages, right in your browser. This is a super handy tool when you're building web applications.", - "This course will walk you through using these tools, and test your new skills with 75 exercises." - ] - }, { "name": "Codecademy JavaScript Track", "link": "http://www.codecademy.com/tracks/javascript", @@ -40,6 +40,17 @@ "Codecademy's popular JavaScript track will teach you some basic syntax and common programming data structures in just a few hours." ] }, + { + "name": "Introduction to Computer Science", + "link": "https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ", + "image": "http://content.sportslogos.net/logos/31/695/full/k7ahkuime41f6elmq8qx.png", + "time": 150, + "directions": [ + "Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation.", + "This course will introduce you to algorithms, databases, data structures, and a ton of theory.", + "It's a long course, so be sure to mix it up with frequent pair programming sessions on FreeCodeCamp challenges." + ] + }, { "name": "Linux Command Line Tutorial", "link": "https://www.udemy.com/linux-command-line-volume1/", @@ -61,17 +72,6 @@ "This short course will help you install git and learn how it works." ] }, - { - "name": "Introduction to Computer Science", - "link": "https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022#.VDWSfSldWpQ", - "image": "http://content.sportslogos.net/logos/31/695/full/k7ahkuime41f6elmq8qx.png", - "time": 150, - "directions": [ - "Harvard's CS50 course is one of the most popular online courses of all time. It will give you a solid programming foundation.", - "This course will introduce you to algorithms, databases, data structures, and a ton of theory.", - "It's a long course, so be sure to mix it up with frequent pair programming sessions on FreeCodeCamp challenges." - ] - }, { "name": "Code School's Real-time web with Node.JS", "link": "https://www.codeschool.com/courses/real-time-web-with-node-js", diff --git a/views/challenge/partials/challenge.jade b/views/challenge/partials/challenge.jade deleted file mode 100644 index c0035c04c1..0000000000 --- a/views/challenge/partials/challenge.jade +++ /dev/null @@ -1,3 +0,0 @@ -h1 Challenges: -h2= name -img= image diff --git a/views/challenge/add-dynamic-content-to-your-website.jade b/views/challenges/add-dynamic-content-to-your-website.jade similarity index 100% rename from views/challenge/add-dynamic-content-to-your-website.jade rename to views/challenges/add-dynamic-content-to-your-website.jade diff --git a/views/challenge/create-and-deploy-a-website.jade b/views/challenges/create-and-deploy-a-website.jade similarity index 100% rename from views/challenge/create-and-deploy-a-website.jade rename to views/challenges/create-and-deploy-a-website.jade diff --git a/views/challenge/experiment-with-html-and-css-in-codepen.jade b/views/challenges/experiment-with-html-and-css-in-codepen.jade similarity index 100% rename from views/challenge/experiment-with-html-and-css-in-codepen.jade rename to views/challenges/experiment-with-html-and-css-in-codepen.jade diff --git a/views/challenge/index.jade b/views/challenges/index.jade similarity index 100% rename from views/challenge/index.jade rename to views/challenges/index.jade diff --git a/views/challenges/partials/challenge.jade b/views/challenges/partials/challenge.jade new file mode 100644 index 0000000000..540d867b86 --- /dev/null +++ b/views/challenges/partials/challenge.jade @@ -0,0 +1,21 @@ +.panel.panel-info + .panel-heading Challenge: #{name} + .panel.panel-body + img.img-center.img-responsive(src=image) + br + .visible-xs + iframe(src='//player.vimeo.com/video/109134466', width='300', height='187', frameborder='0', webkitallowfullscreen='', mozallowfullscreen='', allowfullscreen='') + .hidden-xs + iframe(src='//player.vimeo.com/video/109134466', width='600', height='375', style="display:block;", frameborder='0', webkitallowfullscreen='', mozallowfullscreen='', allowfullscreen='') + h3 Instructions: + for direction in directions + p= direction + + h3 Relevant Links (these open up in a new tab): + ol + for link in links + li + a(href=link, target="blank")= link + br + + a.btn.btn-primary.btn-large.btn-block(href='/curriculum') I've completed this challenge \ No newline at end of file diff --git a/views/challenge/start-a-pair-programming-session.jade b/views/challenges/start-a-pair-programming-session.jade similarity index 100% rename from views/challenge/start-a-pair-programming-session.jade rename to views/challenges/start-a-pair-programming-session.jade diff --git a/views/challenge/view.jade b/views/challenges/view.jade similarity index 100% rename from views/challenge/view.jade rename to views/challenges/view.jade diff --git a/views/course/partials/course.jade b/views/course/partials/course.jade deleted file mode 100644 index 54707691d9..0000000000 --- a/views/course/partials/course.jade +++ /dev/null @@ -1,3 +0,0 @@ -h1 Course: -h2= name -img= image diff --git a/views/course/code-school-discover-devtools-course.jade b/views/courses/code-school-discover-devtools-course.jade similarity index 100% rename from views/course/code-school-discover-devtools-course.jade rename to views/courses/code-school-discover-devtools-course.jade diff --git a/views/course/code-school-real-time-with-node-js-course.jade b/views/courses/code-school-real-time-with-node-js-course.jade similarity index 100% rename from views/course/code-school-real-time-with-node-js-course.jade rename to views/courses/code-school-real-time-with-node-js-course.jade diff --git a/views/course/code-school-shaping-up-with-angular-js-course.jade b/views/courses/code-school-shaping-up-with-angular-js-course.jade similarity index 100% rename from views/course/code-school-shaping-up-with-angular-js-course.jade rename to views/courses/code-school-shaping-up-with-angular-js-course.jade diff --git a/views/course/code-school-try-git-course.jade b/views/courses/code-school-try-git-course.jade similarity index 100% rename from views/course/code-school-try-git-course.jade rename to views/courses/code-school-try-git-course.jade diff --git a/views/course/code-school-try-jquery-course.jade b/views/courses/code-school-try-jquery-course.jade similarity index 100% rename from views/course/code-school-try-jquery-course.jade rename to views/courses/code-school-try-jquery-course.jade diff --git a/views/course/codecademy-html-and-css-track.jade b/views/courses/codecademy-html-and-css-track.jade similarity index 100% rename from views/course/codecademy-html-and-css-track.jade rename to views/courses/codecademy-html-and-css-track.jade diff --git a/views/course/codecademy-javascript-track.jade b/views/courses/codecademy-javascript-track.jade similarity index 100% rename from views/course/codecademy-javascript-track.jade rename to views/courses/codecademy-javascript-track.jade diff --git a/views/course/harvard-introduction-to-computer-science-cs50-course.jade b/views/courses/harvard-introduction-to-computer-science-cs50-course.jade similarity index 100% rename from views/course/harvard-introduction-to-computer-science-cs50-course.jade rename to views/courses/harvard-introduction-to-computer-science-cs50-course.jade diff --git a/views/course/index.jade b/views/courses/index.jade similarity index 100% rename from views/course/index.jade rename to views/courses/index.jade diff --git a/views/course/linux-command-line-tutorial.jade b/views/courses/linux-command-line-tutorial.jade similarity index 100% rename from views/course/linux-command-line-tutorial.jade rename to views/courses/linux-command-line-tutorial.jade diff --git a/views/course/m101js-mongodb-for-node-js-developers-course.jade b/views/courses/m101js-mongodb-for-node-js-developers-course.jade similarity index 100% rename from views/course/m101js-mongodb-for-node-js-developers-course.jade rename to views/courses/m101js-mongodb-for-node-js-developers-course.jade diff --git a/views/courses/partials/course.jade b/views/courses/partials/course.jade new file mode 100644 index 0000000000..006b3d1696 --- /dev/null +++ b/views/courses/partials/course.jade @@ -0,0 +1,10 @@ +.panel.panel-info + .panel-heading Course: #{name} + .panel.panel-body + img.img-center.img-responsive(src=image) + h3 Takes about #{time} hours to complete + + for direction in directions + p= direction + + a.btn.btn-primary.btn-large.btn-block(href=link, target="blank") Go to course \ No newline at end of file diff --git a/views/course/view.jade b/views/courses/view.jade similarity index 100% rename from views/course/view.jade rename to views/courses/view.jade diff --git a/views/curriculum/curriculum.jade b/views/curriculum/curriculum.jade index 403d25e486..38501698e3 100644 --- a/views/curriculum/curriculum.jade +++ b/views/curriculum/curriculum.jade @@ -5,19 +5,19 @@ block content h1 Welcome to Free Code Camp! ol li - a(href="challenges/create-and-deploy-a-website") Learn how to create a website and deploy it to the internet + a(href="/challenges/create-and-deploy-a-website") Learn how to create a website and deploy it to the internet |   (takes 10 minutes) li - a(href="challenges/start-a-pair-programming-session") Learn how to start Pair Programming session + a(href="/challenges/start-a-pair-programming-session") Learn how to start Pair Programming session |   (takes 10 minutes) li - a(href="challenges/add-dynamic-content-to-your-website") Learn how to add dynamic content to your website + a(href="/challenges/add-dynamic-content-to-your-website") Learn how to add dynamic content to your website |   (takes 10 minutes) li - a(href="challenges/experiment-with-html-and-css-in-codepen") Learn how to experiment with HTML and CSS in Codepen + a(href="/challenges/experiment-with-html-and-css-in-codepen") Learn how to experiment with HTML and CSS in Codepen |   (takes 10 minutes) li - a(href="challenges") Start the HTML and CSS challenges! + a(href="/challenges") Start the HTML and CSS challenges! .col-sm-4.col-xs-12 include ./../partials/challenges .col-sm-4.col-xs-12 diff --git a/views/layout.jade b/views/layout.jade index 92bce8a43c..49af75392b 100644 --- a/views/layout.jade +++ b/views/layout.jade @@ -7,7 +7,6 @@ html meta(name='description', content='') meta(name='csrf-token', content=_csrf) meta(name='author', content='') - script(src='https://cdn.socket.io/socket.io-1.0.0.js') title #{title} | Free Code Camp != css('styles') body diff --git a/views/partials/challenges.jade b/views/partials/challenges.jade index 8ec81d6c2d..aa6f32e3bc 100644 --- a/views/partials/challenges.jade +++ b/views/partials/challenges.jade @@ -1,16 +1,24 @@ -h1 Challenges: -ol - li - a(href="challenges/create-and-deploy-a-website") Learn how to create a website and deploy it to the internet - |   (takes 10 minutes) - li - a(href="challenges/start-a-pair-programming-session") Learn how to start Pair Programming session - |   (takes 10 minutes) - li - a(href="challenges/add-dynamic-content-to-your-website") Learn how to add dynamic content to your website - |   (takes 10 minutes) - li - a(href="challenges/experiment-with-html-and-css-in-codepen") Learn how to experiment with HTML and CSS in Codepen - |   (takes 10 minutes) - li - a(href="challenges") Start the HTML and CSS challenges! \ No newline at end of file +.panel.panel-primary + .panel-heading Challenges + .panel-body + ol + li Web Design: + ol + li + a(href="/challenges/create-and-deploy-a-website") Learn how to create a website and deploy it to the internet + |   (takes 10 minutes) + li + a(href="/challenges/start-a-pair-programming-session") Learn how to start Pair Programming session + |   (takes 10 minutes) + li + a(href="/challenges/add-dynamic-content-to-your-website") Learn how to add dynamic content to your website + |   (takes 10 minutes) + li + a(href="/challenges/experiment-with-html-and-css-in-codepen") Learn how to experiment with HTML and CSS in Codepen + |   (takes 10 minutes) + li JavaScript and Computer Science: + ul + li Coming soon + li Full-stack JavaScript: + ul + li Coming soon \ No newline at end of file diff --git a/views/partials/courses.jade b/views/partials/courses.jade index b60ec0e0a4..96981baa3a 100644 --- a/views/partials/courses.jade +++ b/views/partials/courses.jade @@ -1,30 +1,31 @@ -h1 Free Courses: - -ol - li Web Design: - ul - li - a(href="courses/codecademy-html-and-css-track") Codecademy's HTML & CSS Track - li - a(href="courses/code-school-discover-devtools-course") Code School's Discover DevTools - li - a(href="courses/code-school-try-jquery-course") Code School's Try jQuery course - li JavaScript and Computer Science: - ul - li - a(href="courses/codecademy-javascript-track") Codecademy's JavaScript track - ul - li - a(href="courses/harvard-introduction-to-computer-science-cs50-course") Harvard's Introduction to Computer Science (CS50) - li - a(href="courses/linux-command-line-tutorial") Linux Command Line tutorial - li - a(href="courses/code-school-try-git-course") Code School's Try Git - li Full Stack JavaScript Development: - ul - li - a(href="courses/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS - li - a(href="courses/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS - li - a(href="courses/m101js-mongodb-for-node-js-developers-course") MongoDB University's MongoDB for Node.js Developers \ No newline at end of file +.panel.panel-primary + .panel-heading Free Courses + .panel-body + ol + li Web Design: + ul + li + a(href="/courses/codecademy-html-and-css-track") Codecademy's HTML & CSS Track + li + a(href="/courses/code-school-discover-devtools-course") Code School's Discover DevTools + li + a(href="/courses/code-school-try-jquery-course") Code School's Try jQuery course + li JavaScript and Computer Science: + ul + li + a(href="/courses/codecademy-javascript-track") Codecademy's JavaScript track + ul + li + a(href="/courses/harvard-introduction-to-computer-science-cs50-course") Harvard's Introduction to Computer Science (CS50) + li + a(href="/courses/linux-command-line-tutorial") Linux Command Line tutorial + li + a(href="/courses/code-school-try-git-course") Code School's Try Git + li Full Stack JavaScript Development: + ul + li + a(href="/courses/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS + li + a(href="/courses/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS + li + a(href="/courses/m101js-mongodb-for-node-js-developers-course") MongoDB University's MongoDB for Node.js Developers \ No newline at end of file