add new videos

This commit is contained in:
Quincy Larson
2015-05-25 20:04:19 -07:00
parent 406f4d17e5
commit eda9f17dfd
6 changed files with 50 additions and 61 deletions

View File

@ -136,7 +136,7 @@ exports.returnCurrentChallenge = function(req, res, next) {
var nameString = req.user.currentChallenge.challengeName.trim() var nameString = req.user.currentChallenge.challengeName.trim()
.toLowerCase() .toLowerCase()
.replace(/\s/g, '-') .replace(/\s/g, '-')
.replace(/[^a-z0-9\-]/gi, ''); .replace(/[^a-z0-9\-\/.]/gi, '');
req.user.save(function(err) { req.user.save(function(err) {
if (err) { if (err) {
return next(err); return next(err);
@ -171,7 +171,7 @@ exports.returnIndividualChallenge = function(req, res, next) {
var dashedNameFull = challenge.name var dashedNameFull = challenge.name
.toLowerCase() .toLowerCase()
.replace(/\s/g, '-') .replace(/\s/g, '-')
.replace(/[^a-z0-9\-]/gi, ''); .replace(/[^a-z0-9\-\.]/gi, '');
if (dashedNameFull !== dashedName) { if (dashedNameFull !== dashedName) {
return res.redirect('../challenges/' + dashedNameFull); return res.redirect('../challenges/' + dashedNameFull);
} else { } else {

View File

@ -27,8 +27,7 @@
"Mark this Waypoint complete and move on." "Mark this Waypoint complete and move on."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "ad7123c8c441eddfaeb5bdef", "_id": "ad7123c8c441eddfaeb5bdef",

View File

@ -15,8 +15,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7130d8c441eddfaeb5bdef", "_id": "bd7130d8c441eddfaeb5bdef",
@ -29,8 +28,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7131d8c441eddfaeb5bdef", "_id": "bd7131d8c441eddfaeb5bdef",
@ -43,8 +41,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7132d8c441eddfaeb5bdef", "_id": "bd7132d8c441eddfaeb5bdef",
@ -56,8 +53,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7133d8c441eddfaeb5bdef", "_id": "bd7133d8c441eddfaeb5bdef",
@ -71,8 +67,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7134d8c441eddfaeb5bdef", "_id": "bd7134d8c441eddfaeb5bdef",
@ -85,8 +80,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7135d8c441eddfaeb5bdef", "_id": "bd7135d8c441eddfaeb5bdef",
@ -99,8 +93,7 @@
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661' target='_blank'>http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661</a>." "Be sure to also complete this section: <a href='http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661' target='_blank'>http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7136d8c441eddfaeb5bdef", "_id": "bd7136d8c441eddfaeb5bdef",
@ -113,12 +106,11 @@
"Be sure to also complete the final section: <a href='http://www.codecademy.com/courses/close-the-super-makert/0/1' target='_blank'>http://www.codecademy.com/courses/close-the-super-makert/0/1</a>." "Be sure to also complete the final section: <a href='http://www.codecademy.com/courses/close-the-super-makert/0/1' target='_blank'>http://www.codecademy.com/courses/close-the-super-makert/0/1</a>."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7118d8c441eddfaeb5bdef", "_id": "bd7118d8c441eddfaeb5bdef",
"name": "Waypoint: Discover Chrome's DevTools", "name": "Waypoint: Discover Chrome DevTools",
"difficulty": 0.32, "difficulty": 0.32,
"challengeSeed": "110752743", "challengeSeed": "110752743",
"description": [ "description": [
@ -135,8 +127,7 @@
"Complete \"Chapter 7: Memory Profiling\"." "Complete \"Chapter 7: Memory Profiling\"."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
}, },
{ {
"_id": "bd7138d8c441eddfaeb5bdef", "_id": "bd7138d8c441eddfaeb5bdef",
@ -158,8 +149,7 @@
"Once you've completed these challenges, move on to our next Waypoint." "Once you've completed these challenges, move on to our next Waypoint."
], ],
"challengeType": 2, "challengeType": 2,
"tests": [], "tests": []
"challengeType": 0
} }
] ]
} }

View File

@ -144,7 +144,7 @@
"_id": "bd7153d8c441eddfaeb5bdfe", "_id": "bd7153d8c441eddfaeb5bdfe",
"name": "Waypoint: Continue working with Node.js Servers", "name": "Waypoint: Continue working with Node.js Servers",
"difficulty": 0.41, "difficulty": 0.41,
"challengeSeed": "126411561", "challengeSeed": "128836506",
"description": [ "description": [
"Let's continue the LearnYouNode Node School challenge. For this Waypoint, we'll do challenges 8 through 10.", "Let's continue the LearnYouNode Node School challenge. For this Waypoint, we'll do challenges 8 through 10.",
"Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.", "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",
@ -161,7 +161,7 @@
"_id": "bd7153d8c441eddfaeb5bdfd", "_id": "bd7153d8c441eddfaeb5bdfd",
"name": "Waypoint: Finish working with Node.js Servers", "name": "Waypoint: Finish working with Node.js Servers",
"difficulty": 0.42, "difficulty": 0.42,
"challengeSeed": "126411561", "challengeSeed": "128836507",
"description": [ "description": [
"Let's continue the LearnYouNode Node School challenge. For this Waypoint, we'll do challenges 11 through 13.", "Let's continue the LearnYouNode Node School challenge. For this Waypoint, we'll do challenges 11 through 13.",
"Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.", "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: <code>cd ~/workspace</code>.",

View File

@ -9,10 +9,10 @@
"challengeSeed": "114604814", "challengeSeed": "114604814",
"description": [ "description": [
"Functional programming holds the key to unlocking JavaScript's powerful asynchronous features.", "Functional programming holds the key to unlocking JavaScript's powerful asynchronous features.",
"Functional programming in JavaScript involves using five key functions: \"map\", \"reduce\", \"filter\", \"concatAll\", and \"zip\".",
"Jafar Husain's 42-step interactive Functional Programming course will familiarize you with the various ways you can recombine these functions.", "Jafar Husain's 42-step interactive Functional Programming course will familiarize you with the various ways you can recombine these functions.",
"Functional programming in JavaScript involves using five key functions: \"map\", \"reduce\", \"filter\", \"concatAll\", and \"zip\".",
"Click here to go to the challenge: <a href='http://jhusain.github.io/learnrx/' target='_blank'>http://jhusain.github.io/learnrx/</a>.", "Click here to go to the challenge: <a href='http://jhusain.github.io/learnrx/' target='_blank'>http://jhusain.github.io/learnrx/</a>.",
"This challenge will take several hours, but don't worry. Husain's website will save your progress (using your browser's local storage) so you don't need to finish it in one sitting.", "This challenge will take several hours, but don't worry. Jafar's website will save your progress (using your browser's local storage) so you don't need to finish it in one sitting.",
"If you've spent several minutes on one of these challenges, and still can't figure out its correct answer, you can click \"show answer\", then click \"run\" to advance to the next challenge. Be sure to read the correct answer and make sure you understand it before moving on." "If you've spent several minutes on one of these challenges, and still can't figure out its correct answer, you can click \"show answer\", then click \"run\" to advance to the next challenge. Be sure to read the correct answer and make sure you understand it before moving on."
], ],
"challengeType": 2, "challengeType": 2,

View File

@ -6,14 +6,14 @@
"_id": "bd7129d8c441eddfaeb5bddf", "_id": "bd7129d8c441eddfaeb5bddf",
"name": "Waypoint: Scope Your Variables", "name": "Waypoint: Scope Your Variables",
"difficulty": 0.01, "difficulty": 0.01,
"challengeSeed": "114604814", "challengeSeed": "128836683",
"description": [ "description": [
"Objects will allow you to build applications more efficiently by using small, reusable blocks of code.", "Objects will allow you to build applications more efficiently by using small, reusable blocks of code.",
"This course on Udacity will help you learn Object-Oriented Programming in JavaScript.", "This course on Udacity will help you learn Object-Oriented Programming in JavaScript.",
"First, we'll learn how JavaScript works in terms of scopes. You'll learn the difference between a \"Lexical Scope\" and an Execution Context.", "First, we'll learn how JavaScript works in terms of scopes. You'll learn the difference between a \"Lexical Scope\" and an \"Execution Context\".",
"This theoretical foundation is useful for understanding when an a variable can be accessed and when it can't.", "This theoretical foundation is useful for understanding when a variable can be accessed and when it can't.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051</a> and start the course.",
"Once you've completed this first section of scopes, mark this Waypoint complete and move on to the next one." "Once you've completed this first section of scopes, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2 "challengeType": 2
@ -22,13 +22,13 @@
"_id": "bd7131d8c441eddfaeb5bdbf", "_id": "bd7131d8c441eddfaeb5bdbf",
"name": "Waypoint: Reference your Current Object with This", "name": "Waypoint: Reference your Current Object with This",
"difficulty": 0.03, "difficulty": 0.03,
"challengeSeed": "114614220", "challengeSeed": "128836508",
"description": [ "description": [
"In this section, you'll learn how you can use <code>this</code> to dynamically point to your current object.", "In this section, you'll learn how you can use the keyword <code>this</code> to dynamically point to your current object.",
"For example, if we were inside the function <code>camper.completeCourse()</code>, <code>this</code> would refer to the specific camper we were running the function on.", "For example, if we were inside the function <code>camper.completeCourse()</code>, <code>this</code> would refer to the specific camper upon which we were running the function.",
"Note that this section has several trick questions, designed to make you think. Don't get hung up on them, just keep moving forward.", "Note that this section poses several trick questions that were designed to make you think. Don't get hung up on them, just keep moving forward.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668699/m-2780408563</a> and start the course.",
"Once you've completed this section of using the keyword <code>this</code>, mark this Waypoint complete and move on to the next one." "Once you've completed this section of using the keyword <code>this</code>, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -38,12 +38,12 @@
"_id": "bd7132d8c441eddfaeb5bdaf", "_id": "bd7132d8c441eddfaeb5bdaf",
"name": "Waypoint: Traverse the Prototype Chain", "name": "Waypoint: Traverse the Prototype Chain",
"difficulty": 0.04, "difficulty": 0.04,
"challengeSeed": "114612889", "challengeSeed": "128836684",
"description": [ "description": [
"Next we'll learn about the multiple ways you can create a copy of an object.", "Next we'll learn about the multiple ways you can create a copy of an object.",
"We'll also learn how an object's missing attributes can traverse the \"prototype chain\".", "We'll also learn how an object's missing attributes can traverse the \"prototype chain\".",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668700/m-2616738615</a> and start the course.",
"Once you've completed this section on prototype chain traversal, mark this Waypoint complete and move on to the next one." "Once you've completed this section on prototype chain traversal, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -53,13 +53,13 @@
"_id": "bd7133d8c441eddfaeb5bd0f", "_id": "bd7133d8c441eddfaeb5bd0f",
"name": "Waypoint: Reuse Code with Decorators", "name": "Waypoint: Reuse Code with Decorators",
"difficulty": 0.05, "difficulty": 0.05,
"challengeSeed": "114612888", "challengeSeed": "128836681",
"description": [ "description": [
"In this section, we'll learn about the Decorator Pattern.", "In this section, we'll learn about the \"Decorator Pattern\".",
"The Decorator pattern will help you \"decorate\" an existing object with additional attributes. This pattern helps you reuse code, reducing the total amount of code you'll need to write and maintain.", "The Decorator Pattern will help you \"decorate\" an existing object with additional attributes. This pattern helps you reuse code, reducing the total amount of code you'll need to write and maintain.",
"It's a convenient way to add functionality to objects without changing their underlying structure.", "It's a convenient way to add functionality to objects without changing their underlying structure.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468536/m-2697628561</a> and start the course.",
"Once you've completed this section of decorators, mark this Waypoint complete and move on to the next one." "Once you've completed this section of decorators, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -69,13 +69,13 @@
"_id": "bd7134d8c441eddfaeb5bd1f", "_id": "bd7134d8c441eddfaeb5bd1f",
"name": "Waypoint: Build Objects with Functional Classes", "name": "Waypoint: Build Objects with Functional Classes",
"difficulty": 0.06, "difficulty": 0.06,
"challengeSeed": "114612887", "challengeSeed": "128836503",
"description": [ "description": [
"Now we'll go over the simplest way to implement a JavaScript class.", "Now we'll go over the simplest way to implement a JavaScript class.",
"A class is a set of functions that you can use to easily produce similar objects.", "A class is a set of functions that you can use to easily produce similar objects.",
"You may have heard JavaScript doesn't have classes. This is <em>technically</em> true, but don't let it get in the way of the very important ideas in this section.", "You may have heard JavaScript doesn't have classes. While this is technically true, don't let this fact prevent you from learning the important concepts in this section.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468537/m-2961989110</a> and start the course.",
"Once you've completed this section of functional classes, mark this Waypoint complete and move on to the next one." "Once you've completed this section of functional classes, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -85,13 +85,13 @@
"_id": "bd7135d8c441eddfaeb5bd2f", "_id": "bd7135d8c441eddfaeb5bd2f",
"name": "Waypoint: Build Objects with Prototypal Classes", "name": "Waypoint: Build Objects with Prototypal Classes",
"difficulty": 0.07, "difficulty": 0.07,
"challengeSeed": "114612885", "challengeSeed": "128836505",
"description": [ "description": [
"Now we'll learn how one object can be prototyped off of another object.", "Now we'll learn how one object can be prototyped off of another object.",
"Objects delegate their \"failed lookups\" up the \"prototype chain\".", "Objects will delegate their \"failed lookups\" on up through the \"prototype chain\".",
"This means that if I create a second object based off another object, then try to access an attribute the second object doesn't have, JavaScript will \"fall through\" to the original object to see whether it has that attribute.", "This means that when you create a second object based off another object, then try to access an attribute that the second object doesn't have, JavaScript will \"fall through\" to the original object to see whether it has that attribute.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468538/m-3034538557</a> and start the course.",
"Once you've completed this section of prototypal classes, mark this Waypoint complete and move on to the next one." "Once you've completed this section of prototypal classes, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -101,13 +101,13 @@
"_id": "bd7136d8c441eddfaeb5bd3f", "_id": "bd7136d8c441eddfaeb5bd3f",
"name": "Waypoint: Understand Pseudoclassical Patterns", "name": "Waypoint: Understand Pseudoclassical Patterns",
"difficulty": 0.08, "difficulty": 0.08,
"challengeSeed": "114612882", "challengeSeed": "128836689",
"description": [ "description": [
"JavaScript doesn't have the traditional \"classes\" that lower-level languages like C and Java have.", "JavaScript doesn't have the traditional \"classes\" that lower-level languages like C++ and Java have.",
"Instead, JavaScript does some tricks to allow you to write code as though it had these traditional classes. We call these \"pseudo-classes\".", "Instead, JavaScript does some tricks to allow you to write code as though it had these traditional classes. We call these \"pseudo-classes\".",
"In this section, we'll learn how to build these pseudo-classes, and some tricks for later figuring out where these objects came from.", "In this section, we'll learn how to build these pseudo-classes. We'll also learn some tricks for figuring out where these objects originally came from.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468539/e-2783098540/m-2695768694</a> and start the course.",
"Once you've completed this section pseudoclasses, mark this Waypoint complete and move on to the next one." "Once you've completed this section pseudoclasses, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -117,12 +117,12 @@
"_id": "bd7136d8c441eddfaeb5bd4f", "_id": "bd7136d8c441eddfaeb5bd4f",
"name": "Waypoint: Subclass one Object to Another", "name": "Waypoint: Subclass one Object to Another",
"difficulty": 0.09, "difficulty": 0.09,
"challengeSeed": "114612882", "challengeSeed": "128836686",
"description": [ "description": [
"Now we know the three ways of creating objects (through functions, prototyping and pseudo classing).", "Now we know the three ways that we can create objects. Through: <ol><li>functions</li><li>prototyping</li><li>pseudo classing</li></ol>",
"Let's learn how to subclass one object to another. This will give our new object the attributes of the original object. It will allow us to make further modifications new object without affecting the original object.", "Let's learn how to \"subclass\" one object to another. This will give our new object the attributes of the original object. It will allow us to make further modifications to the new object without affecting the original object.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468540/m-2785128536</a> and start the course.",
"Once you've completed this section on subclassing, mark this Waypoint complete and move on to the next one." "Once you've completed this section on subclassing, mark this Waypoint complete and move on to the next one."
], ],
"challengeType": 2, "challengeType": 2,
@ -132,11 +132,11 @@
"_id": "bd7136d8c441eddfaeb5bd5f", "_id": "bd7136d8c441eddfaeb5bd5f",
"name": "Waypoint: Use Pseudoclassical Subclasses", "name": "Waypoint: Use Pseudoclassical Subclasses",
"difficulty": 0.10, "difficulty": 0.10,
"challengeSeed": "114612882", "challengeSeed": "128836937",
"description": [ "description": [
"This final section will teach us how to create subclasses from pseudo classes.", "This final section will teach us how to create subclasses from pseudo classes.",
"You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.", "You can save your progress by creating a free Udacity account, but note that it's also possible to complete this entire course without an account by following the links we provide.",
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703</a> and start the course.", "Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2794468541/e-2693158566/m-2688408703</a> and start the course.",
"Once you've completed this final section on pseudoclassical subclassing, mark this Waypoint complete and move on." "Once you've completed this final section on pseudoclassical subclassing, mark this Waypoint complete and move on."
], ],
"challengeType": 2, "challengeType": 2,