finish setting up layouts

This commit is contained in:
Michael Q Larson
2014-10-20 15:35:42 -07:00
parent 2ec2e5d19f
commit fa76554a5b
34 changed files with 372 additions and 239 deletions

40
app.js
View File

@ -27,8 +27,8 @@ var connectAssets = require('connect-assets');
var homeController = require('./controllers/home'); var homeController = require('./controllers/home');
var curriculumController = require('./controllers/curriculum'); var curriculumController = require('./controllers/curriculum');
var courseController = require('./controllers/course') var coursesController = require('./controllers/courses')
var challengeController = require('./controllers/challenge') var challengesController = require('./controllers/challenges')
var userController = require('./controllers/user'); var userController = require('./controllers/user');
var apiController = require('./controllers/api'); var apiController = require('./controllers/api');
var contactController = require('./controllers/contact'); 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('/', homeController.index);
app.get('/curriculum', curriculumController.index); app.get('/curriculum', curriculumController.index);
app.get('/course/:id', courseController.view); app.get('/course/:id', coursesController.view);
app.get('/courses', courseController.index); app.get('/courses', coursesController.index);
app.get('/course/codecademy-html-and-css-track', courseController.codecademyHtmlAndCssTrack) app.get('/courses/codecademy-html-and-css-track', coursesController.codecademyHtmlAndCssTrack)
app.get('/course/code-school-discover-devtools-course', courseController.codeSchoolDiscoverDevtoolsCourse) app.get('/courses/code-school-discover-devtools-course', coursesController.codeSchoolDiscoverDevtoolsCourse)
app.get('/course/code-school-try-jquery-course', courseController.codeSchoolTryJqueryCourse) app.get('/courses/code-school-try-jquery-course', coursesController.codeSchoolTryJqueryCourse)
app.get('/course/codecademy-javascript-track', courseController.codecademyJavascriptTrack) app.get('/courses/codecademy-javascript-track', coursesController.codecademyJavascriptTrack)
app.get('/course/harvard-introduction-to-computer-science-cs50-course', courseController.harvardIntroductionToComputerScienceCs50Course) app.get('/courses/harvard-introduction-to-computer-science-cs50-course', coursesController.harvardIntroductionToComputerScienceCs50Course)
app.get('/course/linux-command-line-tutorial', courseController.linuxCommandLineTutorial) app.get('/courses/linux-command-line-tutorial', coursesController.linuxCommandLineTutorial)
app.get('/course/code-school-try-git-course', courseController.codeSchoolTryGitCourse) app.get('/courses/code-school-try-git-course', coursesController.codeSchoolTryGitCourse)
app.get('/course/code-school-real-time-with-node-js-course', courseController.codeSchoolRealTimeWithNodeJsCourse) app.get('/courses/code-school-real-time-with-node-js-course', coursesController.codeSchoolRealTimeWithNodeJsCourse)
app.get('/course/code-school-shaping-up-with-angular-js-course', courseController.codeSchoolShapingUpWithAngularJsCourse) app.get('/courses/code-school-shaping-up-with-angular-js-course', coursesController.codeSchoolShapingUpWithAngularJsCourse)
app.get('/course/m101js-mongodb-for-node-js-developers-course', courseController.m101jsMongoDBForNodeJsDevelopersCourse) app.get('/courses/m101js-mongodb-for-node-js-developers-course', coursesController.m101jsMongoDBForNodeJsDevelopersCourse)
//app.get('/challenges/:id', challengeController.view); //app.get('/challenges/:id', challengesController.view);
//app.get('/challenges', challengeController.index); //app.get('/challenges', challengesController.index);
app.get('/challenges/create-and-deploy-a-website', challengeController.createAndDeployAWebsite) app.get('/challenges/create-and-deploy-a-website', challengesController.createAndDeployAWebsite)
app.get('/challenges/challenges/add-dynamic-content-to-your-website', challengeController.experimentWithHtmlAndCssInCodepen) app.get('/challenges/challenges/add-dynamic-content-to-your-website', challengesController.experimentWithHtmlAndCssInCodepen)
app.get('/challenges/experiment-with-html-and-css-in-codepen', challengeController.addDynamicContentToYourWebsite) app.get('/challenges/experiment-with-html-and-css-in-codepen', challengesController.addDynamicContentToYourWebsite)
app.get('/challenges/start-a-pair-programming-session', challengeController.startAPairProgrammingSession) app.get('/challenges/start-a-pair-programming-session', challengesController.startAPairProgrammingSession)
app.get('/login', userController.getLogin); app.get('/login', userController.getLogin);
app.post('/login', userController.postLogin); app.post('/login', userController.postLogin);
app.get('/logout', userController.logout); app.get('/logout', userController.logout);

View File

@ -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'
});
};

71
controllers/challenges.js Normal file
View File

@ -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"]
});
};

View File

@ -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: ''
});
};

157
controllers/courses.js Normal file
View File

@ -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."
]
});
};

View File

@ -105,4 +105,8 @@ ul {
margin:0 auto; margin:0 auto;
} }
.centered-iframe {
display:block;
}
/**/ /**/

View File

@ -4,27 +4,27 @@
"source": "Free Code Camp", "source": "Free Code Camp",
"link": "http://www.freecodecamp.com/create-and-deploy-a-website", "link": "http://www.freecodecamp.com/create-and-deploy-a-website",
"image": "http://startbootstrap.com/assets/img/templates/landing-page.jpg", "image": "http://startbootstrap.com/assets/img/templates/landing-page.jpg",
"time": 1,
"directions": [ "directions": [
"In the next 5 minutes, you'll create a website and deploy it to the internet!" "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", "name": "Start Your First Pair Programming Session",
"source": "Free Code Camp", "source": "Free Code Camp",
"link": "http://www.freecodecamp.com/first_pair_programming_session", "link": "http://www.freecodecamp.com/first_pair_programming_session",
"image": "https://screenhero.com/img/anim-collaboration.gif", "image": "https://screenhero.com/img/anim-collaboration.gif",
"time": 1,
"directions": [ "directions": [
"What's all this Pair Programming stuff about? Let's find out! We'll use a popular pair programming tool called Screen Hero." "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", "name": "Make Your Static Page Dynamic Using POWR.io",
"source": "Free Code Camp", "source": "Free Code Camp",
"link": "http://www.freecodecamp.com/first_dynamic_website", "link": "http://www.freecodecamp.com/first_dynamic_website",
"image": "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg", "image": "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg",
"time": 1,
"directions": [ "directions": [
"The website you created earlier is cool, but it's not very interactive. Let's " "The website you created earlier is cool, but it's not very interactive. Let's "
] ]
@ -34,7 +34,6 @@
"source": "Free Code Camp", "source": "Free Code Camp",
"link": "http://www.freecodecamp.com/first_codepen", "link": "http://www.freecodecamp.com/first_codepen",
"image": "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg", "image": "https://s3-us-west-1.amazonaws.com/powr/images/powr_showcase_bg_1.jpg",
"time": 1,
"directions": [ "directions": [
"Let's put those HTML and CSS skills to work!", "Let's put those HTML and CSS skills to work!",
"You'll create your own databaseless webpage. We'll show you how." "You'll create your own databaseless webpage. We'll show you how."

View File

@ -5,8 +5,19 @@
"image": "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png", "image": "https://d13yacurqjgara.cloudfront.net/users/98247/screenshots/1673756/codecademy_design.png",
"time": 7, "time": 7,
"directions": [ "directions": [
"Let's learn will learn HTML and CSS! Then we'll understand the structure (HTML) and the style (CSS) that underlies all 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 database-less 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." "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", "name": "Codecademy JavaScript Track",
"link": "http://www.codecademy.com/tracks/javascript", "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." "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", "name": "Linux Command Line Tutorial",
"link": "https://www.udemy.com/linux-command-line-volume1/", "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." "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", "name": "Code School's Real-time web with Node.JS",
"link": "https://www.codeschool.com/courses/real-time-web-with-node-js", "link": "https://www.codeschool.com/courses/real-time-web-with-node-js",

View File

@ -1,3 +0,0 @@
h1 Challenges:
h2= name
img= image

View File

@ -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

View File

@ -1,3 +0,0 @@
h1 Course:
h2= name
img= image

View File

@ -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

View File

@ -5,19 +5,19 @@ block content
h1 Welcome to Free Code Camp! h1 Welcome to Free Code Camp!
ol ol
li 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
| &nbsp (takes 10 minutes) | &nbsp (takes 10 minutes)
li 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
| &nbsp (takes 10 minutes) | &nbsp (takes 10 minutes)
li 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
| &nbsp (takes 10 minutes) | &nbsp (takes 10 minutes)
li 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
| &nbsp (takes 10 minutes) | &nbsp (takes 10 minutes)
li 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 .col-sm-4.col-xs-12
include ./../partials/challenges include ./../partials/challenges
.col-sm-4.col-xs-12 .col-sm-4.col-xs-12

View File

@ -7,7 +7,6 @@ html
meta(name='description', content='') meta(name='description', content='')
meta(name='csrf-token', content=_csrf) meta(name='csrf-token', content=_csrf)
meta(name='author', content='') meta(name='author', content='')
script(src='https://cdn.socket.io/socket.io-1.0.0.js')
title #{title} | Free Code Camp title #{title} | Free Code Camp
!= css('styles') != css('styles')
body body

View File

@ -1,16 +1,24 @@
h1 Challenges: .panel.panel-primary
ol .panel-heading Challenges
li .panel-body
a(href="challenges/create-and-deploy-a-website") Learn how to create a website and deploy it to the internet ol
| &nbsp (takes 10 minutes) li Web Design:
li ol
a(href="challenges/start-a-pair-programming-session") Learn how to start Pair Programming session li
| &nbsp (takes 10 minutes) a(href="/challenges/create-and-deploy-a-website") Learn how to create a website and deploy it to the internet
li | &nbsp (takes 10 minutes)
a(href="challenges/add-dynamic-content-to-your-website") Learn how to add dynamic content to your website li
| &nbsp (takes 10 minutes) a(href="/challenges/start-a-pair-programming-session") Learn how to start Pair Programming session
li | &nbsp (takes 10 minutes)
a(href="challenges/experiment-with-html-and-css-in-codepen") Learn how to experiment with HTML and CSS in Codepen li
| &nbsp (takes 10 minutes) a(href="/challenges/add-dynamic-content-to-your-website") Learn how to add dynamic content to your website
li | &nbsp (takes 10 minutes)
a(href="challenges") Start the HTML and CSS challenges! li
a(href="/challenges/experiment-with-html-and-css-in-codepen") Learn how to experiment with HTML and CSS in Codepen
| &nbsp (takes 10 minutes)
li JavaScript and Computer Science:
ul
li Coming soon
li Full-stack JavaScript:
ul
li Coming soon

View File

@ -1,30 +1,31 @@
h1 Free Courses: .panel.panel-primary
.panel-heading Free Courses
ol .panel-body
li Web Design: ol
ul li Web Design:
li ul
a(href="courses/codecademy-html-and-css-track") Codecademy's HTML & CSS Track li
li a(href="/courses/codecademy-html-and-css-track") Codecademy's HTML & CSS Track
a(href="courses/code-school-discover-devtools-course") Code School's Discover DevTools li
li a(href="/courses/code-school-discover-devtools-course") Code School's Discover DevTools
a(href="courses/code-school-try-jquery-course") Code School's Try jQuery course li
li JavaScript and Computer Science: a(href="/courses/code-school-try-jquery-course") Code School's Try jQuery course
ul li JavaScript and Computer Science:
li ul
a(href="courses/codecademy-javascript-track") Codecademy's JavaScript track li
ul a(href="/courses/codecademy-javascript-track") Codecademy's JavaScript track
li ul
a(href="courses/harvard-introduction-to-computer-science-cs50-course") Harvard's Introduction to Computer Science (CS50) li
li a(href="/courses/harvard-introduction-to-computer-science-cs50-course") Harvard's Introduction to Computer Science (CS50)
a(href="courses/linux-command-line-tutorial") Linux Command Line tutorial li
li a(href="/courses/linux-command-line-tutorial") Linux Command Line tutorial
a(href="courses/code-school-try-git-course") Code School's Try Git li
li Full Stack JavaScript Development: a(href="/courses/code-school-try-git-course") Code School's Try Git
ul li Full Stack JavaScript Development:
li ul
a(href="courses/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS li
li a(href="/courses/code-school-real-time-with-node-js-course") Code School's Real-time web with Node.JS
a(href="courses/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS li
li a(href="/courses/code-school-shaping-up-with-angular-js-course") Code School's Shaping up with Angular.JS
a(href="courses/m101js-mongodb-for-node-js-developers-course") MongoDB University's MongoDB for Node.js Developers li
a(href="/courses/m101js-mongodb-for-node-js-developers-course") MongoDB University's MongoDB for Node.js Developers