diff --git a/seed_data/coursewares.json b/seed_data/coursewares.json index 23d8f7ba2e..a24e83bc37 100644 --- a/seed_data/coursewares.json +++ b/seed_data/coursewares.json @@ -1449,7 +1449,7 @@ "name": "Use HTML5 to Make a Field Required", "difficulty" : 0.042, "description": [ - "", + "Make it required for your user to input text into your form before being able to submit it.", "" ], "tests": [ @@ -1516,11 +1516,11 @@ "difficulty" : 0.043, "description": [ "Add to your form a pair of radio buttons with the options of \"indoor\" and \"outdoor\".", - "You can use radio buttons for questions that can only have only one answer.", - "" + "You can use radio buttons for questions that can only have only one answer." ], "tests": [ - "assert($('input[type=\"radio\"').length > 1, 'Your webpage should have two radio button elements.')" + "assert($('input[type=\"radio\"').length > 1, 'Your webpage should have two radio button elements.')", + "assert($('label').length > 1, 'Each of your two radio button elements should be wrapped in a label element.')" ], "challengeSeed": [ "", @@ -1577,83 +1577,156 @@ "completionMessage": "" }, - { - "_id" : "bad87fee1348bd9aede08835", - "name": "Check a Radio Button by Default", - "difficulty" : 0.044, - "description": [ - "Clean up your form by adding linebreaks between form elements, then set one of your radio buttons to checked by default.", - "" - ], - "tests": [ - "assert($('input[type=\"radio\"').prop('checked'), 'One of the radio buttons on your form should be checked by default.')" - ], - "challengeSeed": [ - "", - "", - "", - "

Cat Photo App

", - "", - "

Click here for cat photos.

", - "", - "", - "", - "

Things cats love:

", - "", - "

Top 3 things cats hate:

", - "
    ", - "
  1. flea treatment
  2. ", - "
  3. thunder
  4. ", - "
  5. other cats
  6. ", - "
", - "
", - " ", - " Indoor", - " Outdoor", - " ", - "
" - ], - "challengeType": 0, - "completionMessage": "" - }, - { "_id" : "bad87fee1348bd9aedf08835", "name": "Create a Set of Checkboxes", - "difficulty" : 0.045, + "difficulty" : 0.044, "description": [ "Create a set of three checkboxes." ], "tests": [ - "assert($('input[type=\"checkbox\"').length > 2, 'Your webpage should have three checkbox elements.')" + "assert($('input[type=\"checkbox\"').length > 2, 'Your webpage should have three checkbox elements.')", + "assert($('label').length > 2, 'Each of your three checkbox elements should be wrapped in a label element.')" + ], + "challengeSeed": [ + "", + "", + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + " ", + " ", + " ", + "
" + ], + "challengeType": 0, + "completionMessage": "" + }, + + { + "_id" : "bad87fee1348bd9aede08835", + "name": "Clean up your form using Linebreaks", + "difficulty" : 0.045, + "description": [ + "Clean up your form by adding linebreaks between form elements", + "" + ], + "tests": [ + "assert($('br').length > 2, 'Your webpage should use at least 3 line breaks to visually separate your form elements.')" + ], + "challengeSeed": [ + "", + "", + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "
" + ], + "challengeType": 0, + "completionMessage": "" + }, + + { + "_id" : "bad87fee1348bd9aedd08835", + "name": "Check a Radio Button and Checkbox by Default", + "difficulty" : 0.046, + "description": [ + "Set one of your radio buttons and one of your checkboxes to be checked by default.", + "" + ], + "tests": [ + "assert($('input[type=\"radio\"').prop('checked'), 'One of the radio buttons on your form should be checked by default.')", + "assert($('input[type=\"checkbox\"').prop('checked'), 'One of the checkboxes on your form should be checked by default.')" ], "challengeSeed": [ "", @@ -1704,8 +1777,12 @@ "
", " ", "
", - " Indoor", - " Outdoor", + " ", + " ", + "
", + " ", + " ", + " ", "
", " ", "
" @@ -1714,328 +1791,537 @@ "completionMessage": "" }, - { - "_id" : "bad87fee1348bd9aedf08841", - "name": "Change the background of element", - "difficulty" : 0.048, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08844", - "name": "Add a Drop Shadow", - "difficulty" : 0.050, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08863", - "name": "Add a Gradient to a Button", - "difficulty" : 0.051, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08864", - "name": "Adjust the Line Height of Text", - "difficulty" : 0.052, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - - - { "_id": "bad87fee1348bd9acde08812", "name": "Use Bootstrap for Responsive Images", - "difficulty": 0.999, + "difficulty": 0.047, "description": [ - "Add the img-responsive Bootstrap class to the image.", + "Add a new image with the src attribute of \"http://bit.ly/fcc-kittens2\", and add the img-responsive Bootstrap class to the image.", "Specifying a width of 200 pixels on our img element made it fit our phone's screen, but it's not a perfect fit. It would be great if the image could be exactly the width of our phone's screen.", "Fortunately, there's a Responsive CSS Framework called written by Twitter called Bootstrap. You can add Bootstrap to any app just by including it with <link rel='stylesheet' href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css'/> at the top of your HTML, but we've gone ahead and included it for you here.", "Bootstrap will figure out how wide your screen is and respond by resizing your HTML elements - hence the name Responsive Design.", "Now all you need to do is add the img-responsive class to your image." ], "tests": [ - "expect($('img')).to.have.class('img-responsive');" + "assert($('img').hasClass('img-responsive'), 'Your new image should have the class \"img-responsive\"')", + "assert($('img').length > 1, 'You should add an image with the src of \"http://bit.ly/fcc-kittens2\"')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
", - "This is a link to Google", - "
" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, { "_id": "bad87fee1348bd8acde08812", "name": "Center Text with Bootstrap", - "difficulty": 0.999, + "difficulty": 0.048, "description": [ "Add Bootstrap's text-center class to your h2 element.", "Now that we're using Bootstrap, we can center our heading elements (h2) to make them look better. All we need to do is add the class text-center to the h1 and h2 elements.", - "Note that you can add several classes to the same element by seperating each of them with a space, like this: <h2 class=\"text-red text-center\">your text</h2>." + "Note that you can add several classes to the same element by separating each of them with a space, like this: <h2 class=\"text-red text-center\">your text</h2>." ], "tests": [ - "expect($('h2')).to.have.class('text-center');" + "assert($('h2').hasClass('text-center'), 'Your h2 element should be centered by applying the class \"text-center\"')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
" - ], - "challengeType": 0 - }, - { - "_id": "bad87fee1348cd8acde08812", - "name": "Create a Button", - "difficulty": 0.999, - "description": [ - "Create a button with the text \"Delete\" using the HTML button element.", - "HTML has special elements that function like links, but look like buttons. Let's creating a default HTML button." - ], - "tests": [ - "expect((/delete/gi).test($('button').text())).to.be.true;" - ], - "challengeSeed": [ - "", - "

cat photo app

", - "", - "
", - "", - "
" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, + { "_id": "bad87fee1348cd8acdf08812", "name": "Create a Bootstrap Button", - "difficulty": 0.999, + "difficulty": 0.049, "description": [ - "Apply the Bootstrap's btn class to both of your buttons.", + "Create a new button below your large kitten photo with the class \"btn\" and the text of \"like this photo\".", "Bootstrap has its own button styles, which look much better than the plain HTML ones." ], "tests": [ - "expect($('.btn').length).to.eql(2);" + "assert($('.btn').length > 0, 'your new button should have the class \"btn\".')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
", - "", - "
", - "" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, { "_id": "bad87fee1348cd8acef08812", "name": "Create a Block Element Bootstrap Button", - "difficulty": 0.999, + "difficulty": 0.050, "description": [ - "Add Bootstrap's btn-block class to both of your buttons.", + "Add Bootstrap's btn-block class to your Bootstrap button.", "Normally, your buttons are only as wide as the text they contain. By making them block elements, your button will stretch to fill your page's entire horizontal space.", "Note that these buttons still need the btn class." ], "tests": [ - "expect($('.btn-block').length).to.eql(2);" + "assert($('.btn-block').length > 0, 'your new button should have the class \"btn-block\".')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
", - "", - "
", - "" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, { "_id": "bad87fee1348cd8acef08811", "name": "Color a Bootstrap Button with Button Primary", - "difficulty": 0.999, + "difficulty": 0.051, "description": [ "Add Bootstrap's btn-block class to both of your buttons.", "Normally, your buttons are only as wide as the text they contain. By making them block elements, your button will stretch to fill your page's entire horizontal space.", "Note that these buttons still need the btn class." ], "tests": [ - "expect($('.btn-block').length).to.eql(2);" + "assert($('.btn-primary').length > 0, 'your new button should have the class \"btn-primary\".')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
", - "", - "
", - "" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, { "_id": "bad87fee1348cd8acef08813", "name": "Color a Bootstrap Button with Button Info", - "difficulty": 0.999, + "difficulty": 0.052, "description": [ - "Add Bootstrap's btn-primary class to both of your buttons.", + "Create a new block-level Bootstrap button below your \"like this photo\" button with the text \"more info about this photo\", and add Bootstrap's btn-info class to it.", "Bootstrap comes with several pre-defined colors for buttons. The btn-primary class is the main button color you'll use throughout your app.", "Note that these buttons still need the btn and btn-block classes." ], "tests": [ - "expect($('.btn-primary').length).to.eql(2);" + "assert($('.btn-info').length > 0, 'your new button should have the class \"btn-info\".')", + "assert($('.btn-block').length > 1, 'Both of your Bootstrap buttons should have the class \"btn-block\".')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
", - "", - "
", - "" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, { "_id": "bad87fee1348ce8acef08814", "name": "Warn your Users of a Dangerous Action with the Bootstrap Button Danger Class", - "difficulty": 0.999, + "difficulty": 0.053, "description": [ "Change the \"Delete\" button from btn-primary to btn-danger.", "Bootstrap comes with several pre-defined colors for buttons. The btn-danger class is the button color you'll use to notify users that the button performs a destructive action, such as deleting a cat photo.", "Note that this button still needs the btn and btn-block classes." ], "tests": [ - "expect($('.btn-danger').length).to.eql(1);" + "assert($('.btn-danger').length > 0, 'your new button should have the class \"btn-danger\".')", + "assert($('.btn-block').length > 1, 'Both of your Bootstrap buttons should have the class \"btn-block\".')" ], "challengeSeed": [ + "", "", - "

cat photo app

", - "", - "
", - "", - "
", - "" + "", + "

Cat Photo App

", + "", + "

Click here for cat photos.

", + "", + "", + "", + "", + "", + "", + "

Things cats love:

", + "", + "

Top 3 things cats hate:

", + "
    ", + "
  1. flea treatment
  2. ", + "
  3. thunder
  4. ", + "
  5. other cats
  6. ", + "
", + "
", + " ", + "
", + " ", + " ", + "
", + " ", + " ", + " ", + "
", + " ", + "
" ], "challengeType": 0 }, { "_id": "bad88fee1348ce8acef08815", "name": "Use the Bootstrap Grid to Put Two Elements Side By Side", - "difficulty": 0.999, + "difficulty": 0.054, "description": [ "Put the \"Like\" and \"Delete\" buttons side-by-side by wrapping them in both in a <div class=\"row\"> element and each of them in a <div class=\"row\"> element.", "Bootstrap uses a responsive grid system, which makes it easy to put elements into rows and specify each element's relative width. Most of Bootstrap's classes can be applied to a div element.", @@ -2074,7 +2360,7 @@ { "_id": "bad89fee1348ce8acef08816", "name": "Wrap Side By Side Elements in a Bootstrap Row", - "difficulty": 0.999, + "difficulty": 0.055, "description": [ "Put the \"Like\" and \"Delete\" buttons side-by-side by wrapping them in both in a <div class=\"row\"> element and each of them in a <div class=\"row\"> element.", "Bootstrap uses a responsive grid system, which makes it easy to put elements into rows and specify each element's relative width. Most of Bootstrap's classes can be applied to a div element.", @@ -2113,7 +2399,7 @@ { "_id" : "bad87fee1348bd9aedf08845", "name": "Make a Navbar", - "difficulty" : 0.999, + "difficulty" : 0.056, "description": [ "", "" @@ -2132,7 +2418,7 @@ { "_id" : "bad87fee1348bd9aedf08847", "name": "Add a Logo to a Navbar", - "difficulty" : 0.999, + "difficulty" : 0.057, "description": [ "", "" @@ -2151,7 +2437,7 @@ { "_id" : "bad87fee1348bd9aedf08848", "name": "Make a Footer", - "difficulty" : 0.999, + "difficulty" : 0.058, "description": [ "", "" @@ -2170,26 +2456,7 @@ { "_id" : "bad87fee1348bd9aedf08849", "name": "Use Icons as Links", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08850", - "name": "Add Hover Effects to Icons", - "difficulty" : 0.999, + "difficulty" : 0.059, "description": [ "", "" @@ -2208,121 +2475,7 @@ { "_id" : "bad87fee1348bd9aedf08851", "name": "Add Depth to a Page with a Well", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08852", - "name": "Add an ID to a Button", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08853", - "name": "Fire a Modal by Clicking a Button", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08854", - "name": "Style a Modal with a Header", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08855", - "name": "Style a Modal with a Body", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08856", - "name": "Make a Modal Dismissable", - "difficulty" : 0.999, - "description": [ - "", - "" - ], - "tests": [ - "expect($('h1')).to.have.class('text-center');", - "expect($('h1')).to.have.text('hello world');" - ], - "challengeSeed": [ - "

hello world

" - ], - "challengeType": 0, - "completionMessage": "" - }, - - { - "_id" : "bad87fee1348bd9aedf08857", - "name": "Create an Accordian Menu", - "difficulty" : 0.999, + "difficulty" : 0.060, "description": [ "", ""