",
@@ -1988,12 +2028,17 @@
"id": "bad87fee1348bd9aec908857",
"name": "Waypoint: Use Comments to Clarify Code",
"dashedName": "waypoint-use-comments-to-clarify-code",
- "difficulty": 28,
+ "difficulty": 2.29,
"description": [
- "add "
+ "When we start using jQuery, we will modify HTML elements without needing to actually change them in HTML.",
+ "Let's make sure that everyone knows they shouldn't actually modify any of this code directly.",
+ "Remember that you can start a comment with
."
],
"tests": [
-
+ "assert(editor.match(//g).length > 1, 'Be sure to close your comment with
",
diff --git a/challenges/get-set-for-free-code-camp.json b/challenges/get-set-for-free-code-camp.json
index d82112f10d..b1360711ed 100644
--- a/challenges/get-set-for-free-code-camp.json
+++ b/challenges/get-set-for-free-code-camp.json
@@ -6,7 +6,7 @@
"id": "bd7124d8c441eddfaeb5bdef",
"name": "Waypoint: Learn how Free Code Camp Works",
"dashedName": "waypoint-learn-how-free-code-camp-works",
- "difficulty": 0.001,
+ "difficulty": 0.01,
"challengeSeed": ["125407438"],
"description": [
"Watch this 1-minute video, or simply read this summary:",
@@ -55,7 +55,7 @@
"id": "bd7125d8c441eddfaeb5bd0f",
"name": "Waypoint: Join Our Chat Room",
"dashedName": "waypoint-join-our-chat-room",
- "difficulty": 0.002,
+ "difficulty": 0.02,
"challengeSeed": ["131574135"],
"description": [
"Now we're going to join the Free Code Camp chat room. You can come here any time of day to hang out, ask questions, or find another camper to pair program with.",
@@ -115,7 +115,7 @@
"id": "bd7125d8c441eddfaeb5bdff",
"name": "Waypoint: Preview our Challenge Map",
"dashedName": "waypoint-preview-our-challenge-map",
- "difficulty": 0.003,
+ "difficulty": 0.03,
"challengeSeed": ["125407437"],
"description": [
"Before you start learning how to code, we'd like to introduce you to a few things.",
@@ -158,7 +158,7 @@
"id": "bd7125d8c441eddfaeb5bd1f",
"name": "Waypoint: Browse our Wiki",
"dashedName": "waypoint-browse-our-wiki",
- "difficulty": 0.004,
+ "difficulty": 0.04,
"challengeSeed": ["125407435"],
"description": [
"Free Code Camp has an up-to-date wiki that will answer your many questions.",
@@ -201,7 +201,7 @@
"id": "bd7125d8c441eddfaeb5bd2f",
"name": "Waypoint: Customize your Portfolio Page",
"dashedName": "waypoint-customize-your-portfolio-page",
- "difficulty": 0.005,
+ "difficulty": 0.05,
"challengeSeed": ["125407433"],
"description": [
"You and all your fellow campers have portfolio pages.",
@@ -247,7 +247,7 @@
"id": "bd7126d8c441eddfaeb5bd3f",
"name": "Waypoint: Try Camper News",
"dashedName": "waypoint-try-camper-news",
- "difficulty": 0.006,
+ "difficulty": 0.06,
"challengeSeed": ["124553410"],
"description": [
"Camper News is the best place for our campers to share and discuss helpful links.",
@@ -299,7 +299,7 @@
"id": "bd7126d8c441eddfaeb5bd3e",
"name": "Waypoint: Meet Other Campers in your City",
"dashedName": "waypoint-meet-other-campers-in-your-city",
- "difficulty": 0.007,
+ "difficulty": 0.07,
"challengeSeed": ["127358841"],
"description": [
"One of the best ways to stay motivated when learning to code is to hang out with other campers.",
@@ -348,7 +348,7 @@
"id": "bd7126d8c431eddfaeb5bd3e",
"name": "Waypoint: Add Free Code Camp to your LinkedIn Profile",
"dashedName": "waypoint-add-free-code-camp-to-your-linkedin-profile",
- "difficulty": 0.008,
+ "difficulty": 0.08,
"challengeSeed": ["131574134"],
"description": [
"LinkedIn is a critical tool for your job search later on.",
@@ -379,7 +379,7 @@
"id": "bd7137d8c441eddfaeb5bdef",
"name": "Waypoint: Get Help the Hacker Way with RSAP",
"dashedName": "waypoint-get-help-the-hacker-way-with-rsap",
- "difficulty": 0.009,
+ "difficulty": 0.09,
"challengeSeed": ["125407432"],
"description": [
"Let's cover one last thing before you start working through our lessons: how to get help.",
diff --git a/challenges/html5-and-css.json b/challenges/html5-and-css.json
index 56032e6049..86a0cd2e2c 100644
--- a/challenges/html5-and-css.json
+++ b/challenges/html5-and-css.json
@@ -6,7 +6,7 @@
"id": "bd7123c8c441eddfaeb5bdef",
"name": "Waypoint: Say Hello to HTML Elements",
"dashedName": "waypoint-say-hello-to-html-elements",
- "difficulty": 0.001,
+ "difficulty": 1.01,
"description": [
"Welcome to Free Code Camp's first coding challenge!",
"You can edit
code
in your
text editor
, which we've embedded into this web page.",
@@ -55,7 +55,7 @@
"id": "bad87fee1348bd9aedf0887a",
"name": "Waypoint: Headline with the h2 Element",
"dashedName": "waypoint-headline-with-the-h2-element",
- "difficulty": 0.002,
+ "difficulty": 1.02,
"description": [
"Add an
h2
tag that says \"CatPhotoApp\" to create a second HTML
element
below your \"Hello World\"
h1
element.",
"The
h2
element you enter will create an
h2
element on the website.",
@@ -99,7 +99,7 @@
"id": "bad87fee1348bd9aedf08801",
"name": "Waypoint: Inform with the Paragraph Element",
"dashedName": "waypoint-inform-with-the-paragraph-element",
- "difficulty": 0.003,
+ "difficulty": 1.03,
"description": [
"Create a
p
element below your
h2
element, and give it the text \"Hello Paragraph\".",
"
p
elements are the preferred element for normal-sized paragraph text on websites. P is short for \"paragraph\".",
@@ -140,7 +140,7 @@
"id": "bad87fee1348bd9aedf08802",
"name": "Waypoint: Uncomment HTML",
"dashedName": "waypoint-uncomment-html",
- "difficulty": 0.005,
+ "difficulty": 1.04,
"description": [
"Uncomment your
h1
,
h2
and
p
elements.",
"Commenting is a way that you can leave comments within your code without affecting the code itself.",
@@ -190,7 +190,7 @@
"id": "bad87fee1348bd9aedf08804",
"name": "Waypoint: Comment out HTML",
"dashedName": "waypoint-comment-out-html",
- "difficulty": 0.006,
+ "difficulty": 1.05,
"description": [
"Comment out your
h1
element and your
p
element, but leave your
h2
element uncommented.",
"Remember that in order to start a comment, you need to use
<!--
and to end a comment, you need to use
-->
.",
@@ -237,7 +237,7 @@
"id": "bad87fee1348bd9aedf08833",
"name": "Waypoint: Fill in the Blank with Placeholder Text",
"dashedName": "waypoint-fill-in-the-blank-with-placeholder-text",
- "difficulty": 0.007,
+ "difficulty": 1.06,
"description": [
"Web developers traditionally use \"Lorem Ipsum\" text as placeholder text. It's called \"Lorem Ipsum\" text because those are the first two words of a famous passage by Cicero of Ancient Rome.",
"\"Lorem Ipsum\" text has been used as placeholder text by typesetters since the 16th century, and this tradition continues on the web.",
@@ -284,7 +284,7 @@
"id": "bad87fed1348bd9aedf08833",
"name": "Waypoint: Delete HTML Elements",
"dashedName": "waypoint-delete-html-elements",
- "difficulty": 0.008,
+ "difficulty": 1.07,
"description": [
"Delete your
h1
element so we can simplify our view.",
"Our phone doesn't have much vertical space.",
@@ -328,7 +328,7 @@
"id": "bad87fee1348bd9aedf08803",
"name": "Waypoint: Change the Color of Text",
"dashedName": "waypoint-change-the-color-of-text",
- "difficulty": 0.009,
+ "difficulty": 1.08,
"description": [
"Change your
h2
element's style so that its text color is red.",
"We can do this by changing the \"style\" of your
h2
element.",
@@ -370,7 +370,7 @@
"id": "bad87fee1348bd9aedf08805",
"name": "Waypoint: Use CSS Selectors to Style Elements",
"dashedName": "waypoint-use-css-selectors-to-style-elements",
- "difficulty": 0.010,
+ "difficulty": 1.09,
"description": [
"Delete your
h2
element's style attribute and instead create a CSS
style
element. Add the necessary CSS to turn all
h2
elements blue.",
"With CSS, there are hundreds of CSS \"attributes\" that you can use to change the way an element looks on your page.",
@@ -425,7 +425,7 @@
"id": "bad87fee1348bd9aecf08806",
"name": "Waypoint: Use a CSS Class to Style an Element",
"dashedName": "waypoint-use-a-css-class-to-style-an-element",
- "difficulty": 0.011,
+ "difficulty": 1.11,
"description": [
"Create a CSS class called \"red-text\" and apply it to your
h2
element.",
"Classes are reusable styles that can be added to HTML elements.",
@@ -479,7 +479,7 @@
"id": "bad87fee1348bd9aefe08806",
"name": "Waypoint: Style Multiple Elements with a CSS Class",
"dashedName": "waypoint-style-multiple-elements-with-a-css-class",
- "difficulty": 0.012,
+ "difficulty": 1.12,
"description": [
"Apply the \"red-text\" class to your
h2
and
p
elements.",
"Remember that you can attach classes to HTML elements by using
class=\"your-class-here\"
within the relevant element's opening tag.",
@@ -524,7 +524,7 @@
"id": "bad87fee1348bd9aedf08806",
"name": "Waypoint: Change the Font Size of an Element",
"dashedName": "waypoint-change-the-font-size-of-an-element",
- "difficulty": 0.013,
+ "difficulty": 1.13,
"description": [
"Create a second
p
element with the following Kitty Ipsum text:
Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.
",
"Then, inside your
<style>
element, set the \"font-size\" of all
p
elements to 16 pixels.",
@@ -571,7 +571,7 @@
"id": "bad87fee1348bd9aede08807",
"name": "Waypoint: Set the Font Family of an Element",
"dashedName": "waypoint-set-the-font-family-of-an-element",
- "difficulty": 0.014,
+ "difficulty": 1.14,
"description": [
"Make all of your
p
elements use the \"Monospace\" font.",
"You can set an element's font by using the \"font-family\" attribute.",
@@ -618,7 +618,7 @@
"id": "bad87fee1348bd9aedf08807",
"name": "Waypoint: Import a Google Font",
"dashedName": "waypoint-import-a-google-font",
- "difficulty": 0.015,
+ "difficulty": 1.15,
"description": [
"Apply the
font-family
of \"Lobster\" to your
h2
element.",
"First, you'll need to make a \"call\" to Google to grab the \"Lobster\" font and load it into your HTML.",
@@ -672,7 +672,7 @@
"id": "bad87fee1348bd9aedf08808",
"name": "Waypoint: Specify How Fonts Should Degrade",
"dashedName": "waypoint-specify-how-fonts-should-degrade",
- "difficulty": 0.016,
+ "difficulty": 1.16,
"description": [
"There are several default fonts that are available in all browsers. These include \"Monospace\", \"Serif\" and \"Sans-Serif\". Leave \"Lobster\" as the font-family for your
h2
elements. Make them \"degrade\" to \"Monospace\" when \"Lobster\" isn't available.",
"For example, if you wanted an element to use the \"Helvetica\" font, but also degrade to the \"Sans-Serif\" font when \"Helvetica\" wasn't available, you could use this CSS style:
p { font-family: Helvetica, Sans-Serif; }
.",
@@ -730,7 +730,7 @@
"id": "bad87fee1348bd9aedf08812",
"name": "Waypoint: Add Images to your Website",
"dashedName": "waypoint-add-images-to-your-website",
- "difficulty": 0.017,
+ "difficulty": 1.17,
"description": [
"You can add images to your website by using the
img
element, and point to an specific image's URL using the
src
attribute.",
"An example of this would be
<img src=\"www.your-image-source.com/your-image.jpg\"/>
. Note that in most cases,
img
elements are self-closing.",
@@ -785,7 +785,7 @@
"id": "bad87fee1348bd9acdf08812",
"name": "Waypoint: Size your Images",
"dashedName": "waypoint-size-your-images",
- "difficulty": 0.018,
+ "difficulty": 1.18,
"description": [
"CSS has an attribute called
width
that controls an element's width. Just like with fonts, we'll use pixels(px) to specify the image's width.",
"For example, if we wanted to create a CSS class called \"larger-image\" that gave HTML elements a width of 500 pixels, we'd use:
<style> .larger-image { width: 500px; } </style>
.",
@@ -841,7 +841,7 @@
"id": "bad87fee1348bd9bedf08813",
"name": "Waypoint: Add Borders Around your Elements",
"dashedName": "waypoint-add-borders-around-your-elements",
- "difficulty": 0.019,
+ "difficulty": 1.19,
"description": [
"CSS borders have attributes like style, color and width.",
"For example, if we wanted to create a red, 5 pixel border around an HTML element, we could use this class:
<style> .thin-red-border { border-color: red; border-width: 5px; border-style: solid; } </style>
.",
@@ -904,7 +904,7 @@
"id": "bad87fee1348bd9aedf08814",
"name": "Waypoint: Add Rounded Corners with a Border Radius",
"dashedName": "waypoint-add-rounded-corners-with-a-border-radius",
- "difficulty": 0.020,
+ "difficulty": 1.20,
"description": [
"Your cat photo currently has sharp corners. We can round out those corners with a CSS attribute called
border-radius
.",
"You can specify a
border-radius
with pixels. This will affect how rounded the corners are. Add this attribute to your
thick-green-border
class and set it to 10 pixels.",
@@ -970,7 +970,7 @@
"id": "bad87fee1348bd9aedf08815",
"name": "Waypoint: Make Circular Images with a Border Radius",
"dashedName": "waypoint-make-circular-images-with-a-border-radius",
- "difficulty": 0.021,
+ "difficulty": 1.21,
"description": [
"In addition to pixels, you can also specify a
border-radius
using a percentage.",
"Give your cat photo a
border-radius
of 50%."
@@ -1035,7 +1035,7 @@
"id": "bad87fee1348bd9aedf08816",
"name": "Waypoint: Link to External Pages with Anchor Elements",
"dashedName": "waypoint-link-to-external-pages-with-anchor-elements",
- "difficulty": 0.022,
+ "difficulty": 1.22,
"description": [
"
a
elements or \"anchor\" elements, are used to link to content outside of the current page.",
"Here's a diagram of an
a
element. In this case, the
a
element is used in the middle of a paragraph element, which means the link will appear in the middle of a sentence.",
@@ -1106,7 +1106,7 @@
"id": "bad87fee1348bd9aede08817",
"name": "Waypoint: Wrap an Anchor Element within a Paragraph",
"dashedName": "waypoint-wrap-an-anchor-element-within-a-paragraph",
- "difficulty": 0.023,
+ "difficulty": 1.23,
"description": [
"Again, here's a diagram of an
a
element for your reference:",
"

",
@@ -1181,7 +1181,7 @@
"id": "bad87fee1348bd9aedf08817",
"name": "Waypoint: Make Dead Links using the Hash Symbol",
"dashedName": "waypoint-make-dead-links-using-the-hash-symbol",
- "difficulty": 0.024,
+ "difficulty": 1.24,
"description": [
"Sometimes you want to add
a
elements to your website before you know where they will link.",
"This is also handy when you're changing the behavior of a link using
jQuery
, which we'll learn about later.",
@@ -1250,7 +1250,7 @@
"id": "bad87fee1348bd9aedf08820",
"name": "Waypoint: Turn an Image into a Link",
"dashedName": "waypoint-turn-an-image-into-a-link",
- "difficulty": 0.025,
+ "difficulty": 1.25,
"description": [
"You can make elements into links by wrapping them within an
a
element.",
"Wrap your image within an
a
element. Here's an example:
<a href='#'><img src='http://bit.ly/fcc-kittens2'/></a>
.",
@@ -1323,7 +1323,7 @@
"id": "bad87fee1348bd9aedf08818",
"name": "Waypoint: Add Alt Text to an Image for Accessibility",
"dashedName": "waypoint-add-alt-text-to-an-image-for-accessibility",
- "difficulty": 0.026,
+ "difficulty": 1.26,
"description": [
"
alt
attributes, also known as \"alt text\", are what browsers will display if they fail to load the image.
alt
attributes are also important for blind or visually impaired users to understand what an image portrays. And search engines also look at
alt
attributes.",
"In short, every image should have an
alt
attribute!",
@@ -1394,7 +1394,7 @@
"id": "bad87fee1348bd9aedf08827",
"name": "Waypoint: Create a Bulleted Unordered List",
"dashedName": "waypoint-create-a-bulleted-unordered-list",
- "difficulty": 0.027,
+ "difficulty": 1.27,
"description": [
"HTML has a special element for creating unordered lists, or bullet point-style lists.",
"Unordered lists start with a
<ul>
element. Then they contain some number of
<li>
elements.",
@@ -1467,7 +1467,7 @@
"id": "bad87fee1348bd9aedf08828",
"name": "Waypoint: Create an Ordered List",
"dashedName": "waypoint-create-an-ordered-list",
- "difficulty": 0.028,
+ "difficulty": 1.28,
"description": [
"HTML has a special element for creating ordered lists, or numbered-style lists.",
"Ordered lists start with a
<ol>
element. Then they contain some number of
<li>
elements.",
@@ -1547,7 +1547,7 @@
"id": "bad87fee1348bd9aedf08829",
"name": "Waypoint: Create a Text Field",
"dashedName": "waypoint-create-a-text-field",
- "difficulty": 0.029,
+ "difficulty": 1.29,
"description": [
"Now let's create a web form.",
"Text inputs are a convenient way to get input from your user.",
@@ -1626,7 +1626,7 @@
"id": "bad87fee1348bd9aedf08830",
"name": "Waypoint: Add Placeholder Text to a Text Field",
"dashedName": "waypoint-add-placeholder-text-to-a-text-field",
- "difficulty": 0.030,
+ "difficulty": 1.30,
"description": [
"Your placeholder text is what appears in your text
input
before your user has inputed anything.",
"You can create placeholder text like so:
<input type='text' placeholder='this is placeholder text'>
.",
@@ -1706,7 +1706,7 @@
"id": "bad87fee1348bd9aede08830",
"name": "Waypoint: Create a Form Element",
"dashedName": "waypoint-create-a-form-element",
- "difficulty": 0.031,
+ "difficulty": 1.31,
"description": [
"You can build web forms that actually submit data to a server using nothing more than pure HTML. You can do this by specifying an action on your
form
element.",
"For example:
<form action=\"/url-where-you-want-to-submit-form-data\"></form>
.",
@@ -1788,7 +1788,7 @@
"id": "bad87fee1348bd9aedd08830",
"name": "Waypoint: Add a Submit Button to a Form",
"dashedName": "waypoint-add-a-submit-button-to-a-form",
- "difficulty": 0.032,
+ "difficulty": 1.32,
"description": [
"Let's add a submit button to your form. Clicking this button will send the data from your form to the URL you specified with your form's
action
attribute.",
"Here's an example submit button:
<button type='submit'>this button submits the form</button>
.",
@@ -1872,7 +1872,7 @@
"id": "bad87fee1348bd9aedc08830",
"name": "Waypoint: Use HTML5 to Require a Field",
"dashedName": "waypoint-use-html5-to-require-a-field",
- "difficulty": 0.033,
+ "difficulty": 1.33,
"description": [
"You can require specific form fields so that your user will not be able to submit your form until he or she has filled them out.",
"For example, if you wanted to make a text input field required, you can just add the word \"required\" within your
input
element, you would use:
<input type='text' required>
.",
@@ -1954,7 +1954,7 @@
"id": "bad87fee1348bd9aedf08834",
"name": "Waypoint: Create a Set of Radio Buttons",
"dashedName": "waypoint-create-a-set-of-radio-buttons",
- "difficulty": 0.034,
+ "difficulty": 1.34,
"description": [
"You can use \"radio buttons\" for questions where you want the user to only give you one answer.",
"Radio buttons are a type of
input
.",
@@ -2047,7 +2047,7 @@
"id": "bad87fee1348bd9aedf08835",
"name": "Waypoint: Create a Set of Checkboxes",
"dashedName": "waypoint-create-a-set-of-checkboxes",
- "difficulty": 0.035,
+ "difficulty": 1.35,
"description": [
"Forms commonly use \"checkboxes\" for questions that may have more than one answer.",
"Checkboxes are a type of
input
.",
@@ -2137,7 +2137,7 @@
"id": "bad87fee1348bd9aedd08835",
"name": "Waypoint: Check Radio Buttons and Checkboxes by Default",
"dashedName": "waypoint-check-radio-buttons-and-checkboxes-by-default",
- "difficulty": 0.037,
+ "difficulty": 1.37,
"description": [
"You can set a checkbox or radio button to be checked by default using the
checked
attribute.",
"To do this, just add the word \"checked\" to the inside of an input element. For example,
<input type='radio' name='test-name' checked>
.",
@@ -2225,7 +2225,7 @@
"id": "bad87fee1348bd9aede08835",
"name": "Waypoint: Wrap Many Elements within a Single Div Element",
"dashedName": "waypoint-wrap-many-elements-within-a-single-div-element",
- "difficulty": 0.038,
+ "difficulty": 1.38,
"description": [
"The
div
element, or \"Division\" element, is a general purpose container for other elements.",
"The
div
element is probably the most commonly used HTML element of all. It's useful for passing the CSS of its own class declarations down to all the elements that it contains.",
@@ -2320,7 +2320,7 @@
"id": "bad87fed1348bd9aede07836",
"name": "Waypoint: Give a Background Color to a Div Element",
"dashedName": "waypoint-give-a-background-color-to-a-div-element",
- "difficulty": 0.039,
+ "difficulty": 1.39,
"description": [
"You can set an element's background color with the \"background-color\" attribute.",
"For example, if you wanted an element's background color to be \"green\", you'd use
.green-background { background-color: green; }
within your
style
element.",
@@ -2411,7 +2411,7 @@
"id": "bad87fee1348bd9aede07836",
"name": "Waypoint: Give a Background Color to a Div Element",
"dashedName": "waypoint-give-a-background-color-to-a-div-element",
- "difficulty": 0.039,
+ "difficulty": 1.39,
"description": [
"You can set an element's background color with the \"background-color\" attribute.",
"For example, if you wanted an element's background color to be \"green\", you'd use
.green-background { background-color: green; }
within your
style
element.",
@@ -2502,7 +2502,7 @@
"id": "bad87eee1348bd9aede07836",
"name": "Waypoint: Set the ID of an Element",
"dashedName": "waypoint-set-the-id-of-an-element",
- "difficulty": 0.0391,
+ "difficulty": 1.391,
"description": [
"In addition to classes, each HTML element can also have an
id
attribute.",
"There are several benefits to using
id
attributes, and you'll learn more about them once you start using jQuery.",
@@ -2590,7 +2590,7 @@
"id": "bad87dee1348bd9aede07836",
"name": "Waypoint: Use an ID Attribute to Style an Element",
"dashedName": "waypoint-use-an-id-attribute-to-style-an-element",
- "difficulty": 0.0392,
+ "difficulty": 1.392,
"description": [
"One cool thing about
id
attributes is that, like classes, you can style them using CSS.",
"Here's an example of how you can take your element with the
id
attribute of \"cat-photo-element\" and give it the background color of green. In your
style
element:
#cat-photo-element { background-color: green; }>
",
@@ -2680,7 +2680,7 @@
"id": "bad88fee1348bd9aedf08825",
"name": "Waypoint: Adjusting the Padding of an Element",
"dashedName": "waypoint-adjusting-the-padding-of-an-element",
- "difficulty": 0.040,
+ "difficulty": 1.40,
"description": [
"You may have already noticed this, but all HTML elements are essentially little rectangles.",
"Three important attributes control the space that surrounds each HTML element:
padding
,
margin
, and
border
.",
@@ -2751,7 +2751,7 @@
"id": "bad87fee1348bd9aedf08822",
"name": "Waypoint: Adjust the Margin of an Element",
"dashedName": "waypoint-adjust-the-margin-of-an-element",
- "difficulty": 0.041,
+ "difficulty": 1.41,
"description": [
"An element's
margin
controls the amount of space between an element's
border
and surrounding elements.",
"Here, we can see that the green box and the red box are nested within the yellow box. Note that the red box has more
margin
than the green box, making it appear smaller.",
@@ -2822,7 +2822,7 @@
"id": "bad87fee1348bd9aedf08823",
"name": "Waypoint: Add a Negative Margin to an Element",
"dashedName": "waypoint-add-a-negative-margin-to-an-element",
- "difficulty": 0.042,
+ "difficulty": 1.42,
"description": [
"An element's
margin
controls the amount of space between an element's
border
and surrounding elements.",
"If you set an element's
margin
to a negative value, the element will grow larger.",
@@ -2892,7 +2892,7 @@
"id": "bad87fee1348bd9aedf08824",
"name": "Waypoint: Add Different Padding to Each Side of an Element",
"dashedName": "waypoint-add-different-padding-to-each-side-of-an-element",
- "difficulty": 0.043,
+ "difficulty": 1.43,
"description": [
"Sometimes you will want to customize an element so that it has different
padding
on each of its sides.",
"CSS allows you to control the
padding
of an element on all four sides with
padding-top
,
padding-right
,
padding-bottom
, and
padding-left
attributes.",
@@ -2964,7 +2964,7 @@
"id": "bad87fee1248bd9aedf08824",
"name": "Waypoint: Add Different Margins to Each Side of an Element",
"dashedName": "waypoint-add-different-margins-to-each-side-of-an-element",
- "difficulty": 0.044,
+ "difficulty": 1.44,
"description": [
"Give the green box a
margin
of 40 pixels on its top and left side, but only 20 pixels on its bottom and right side.",
"Sometimes you will want to customize an element so that it has a different
margin
on each of its sides.",
@@ -3035,7 +3035,7 @@
"id": "bad87fee1348bd9aedf08826",
"name": "Waypoint: Use Clockwise Notation to Specify the Padding of an Element",
"dashedName": "waypoint-use-clockwise-notation-to-specify-the-padding-of-an-element",
- "difficulty": 0.044,
+ "difficulty": 1.44,
"description": [
"Instead of specifying an element's
padding-top
,
padding-right
,
padding-bottom
, and
padding-left
attributes, you can specify them all in one line, like this:
padding: 10px 20px 10px 20px;
.",
"These four values work like a clock: top, right, bottom, left, and will produce the exact same result as using the side-specific padding instructions.",
@@ -3104,7 +3104,7 @@
"id": "bad87fee1348bd9afdf08726",
"name": "Waypoint: Use Clockwise Notation to Specify the Margin of an Element",
"dashedName": "waypoint-use-clockwise-notation-to-specify-the-margin-of-an-element",
- "difficulty": 0.045,
+ "difficulty": 1.45,
"description": [
"Let's try this again, but with
margin
this time.",
"Instead of specifying an element's
margin-top
,
margin-right
,
margin-bottom
, and
margin-left
attributes, you can specify them all in one line, like this:
margin: 10px 20px 10px 20px;
.",
@@ -3175,7 +3175,7 @@
"id": "bad87fee1348bd9aedf08736",
"name": "Waypoint: Style the HTML Body Element",
"dashedName": "waypoint-style-the-html-body-element",
- "difficulty": 0.046,
+ "difficulty": 1.46,
"description": [
"Now let's start fresh and talk about CSS inheritance.",
"Every HTML page has
body
element.",
@@ -3208,7 +3208,7 @@
"id": "bad87fee1348bd9aedf08746",
"name": "Waypoint: Inherit Styles from the Body Element",
"dashedName": "waypoint-inherit-styles-from-the-body-element",
- "difficulty": 0.047,
+ "difficulty": 1.47,
"description": [
"Now we've proven that every HTML page has a
body
element, and that its
body
element can also be styled with CSS.",
"Remember, you can style your
body
element just like any other HTML element, and all your other elements will inherit your
body
element's styles.",
@@ -3251,7 +3251,7 @@
"id": "bad87fee1348bd9aedf08756",
"name": "Waypoint: Prioritize One Style Over Another",
"dashedName": "waypoint-prioritize-one-style-over-another",
- "difficulty": 0.048,
+ "difficulty": 1.48,
"description": [
"Sometimes your HTML elements will receive multiple styles that conflict with one another.",
"For example, your
h1
element can't be both green and pink at the same time.",
@@ -3291,7 +3291,7 @@
"id": "bad87fee1348bd9aedf04756",
"name": "Waypoint: Override Styles in Subsequent CSS",
"dashedName": "waypoint-override-styles-in-subsequent-css",
- "difficulty": 0.049,
+ "difficulty": 1.49,
"description": [
"Our \"pink-text\" class overrode our
body
element's CSS declaration!",
"We just proved that our classes will override the
body
element's CSS. So the next logical question is, what can we do to override our \"pink-text\" class?",
@@ -3334,7 +3334,7 @@
"id": "bad87fee1348bd8aedf06756",
"name": "Waypoint: Override Class Declarations by Styling ID Attributes",
"dashedName": "waypoint-override-class-declarations-by-styling-id-attributes",
- "difficulty": 0.052,
+ "difficulty": 1.52,
"description": [
"We just proved that browsers read CSS from top to bottom. That means that, in the event of a conflict, the browser will use whichever CSS declaration came last.",
"But we're not done yet. There are other ways that you can override CSS. Do you remember id attributes?",
@@ -3383,7 +3383,7 @@
"id": "bad87fee1348bd9aedf06756",
"name": "Waypoint: Override Class Declarations with Inline Styles",
"dashedName": "waypoint-override-class-declarations-with-inline-styles",
- "difficulty": 0.052,
+ "difficulty": 1.52,
"description": [
"So we've proven that id declarations override class declarations, regardless of where they are declared in your
style
element CSS.",
"There are other ways that you can override CSS. Do you remember inline styles?",
@@ -3434,7 +3434,7 @@
"id": "bad87fee1348bd9aedf07756",
"name": "Waypoint: Override All Other Styles by using Important",
"dashedName": "waypoint-override-all-other-styles-by-using-important",
- "difficulty": 0.053,
+ "difficulty": 1.53,
"description": [
"Yay! we just proved that in-line styles will override all the CSS declarations in your
style
element.",
"But wait. There's one last way to override CSS. This is the most powerful method of all. But before we do it, let's talk about why you would ever want to override CSS.",
@@ -3488,7 +3488,7 @@
"id": "bad87fee1348bd9aedf08726",
"name": "Waypoint: Use Hex Code for Specific Colors",
"dashedName": "waypoint-use-hex-code-for-specific-colors",
- "difficulty": 0.054,
+ "difficulty": 1.54,
"description": [
"Did you know there other ways to represent colors in CSS? One of these ways is called hexadecimal code, or \"hex code\" for short.",
"\"Decimal\" means the numbers zero through nine - the numbers that people use in everyday life. \"Hexadecimal\" includes these 10 numbers, plus the letters A, B, C, D, E and F. This means that Hexidecimal has a total of 16 possible values, instead of the 10 possible values that our normal base-10 number system gives us.",
@@ -3524,7 +3524,7 @@
"id": "bad87fee1348bd9aedf08725",
"name": "Waypoint: Use Hex Code to Color Elements White",
"dashedName": "waypoint-use-hex-code-to-color-elements-white",
- "difficulty": 0.055,
+ "difficulty": 1.55,
"description": [
"0 is the lowest number in hex code, and represents a complete absence of color.",
"F is the highest number in hex code, and it represents the maximum possible brightness.",
@@ -3559,7 +3559,7 @@
"id": "bad87fee1348bd9aedf08724",
"name": "Waypoint: Use Hex Code to Color Elements Red",
"dashedName": "waypoint-use-hex-code-to-color-elements-red",
- "difficulty": 0.056,
+ "difficulty": 1.56,
"description": [
"You may be wondering why we use 6 digits to represent a color instead of just one or two. The answer is that using 6 digits gives us a huge variety.",
"How many colors are possible? 16 colors and 6 positions means we have 16 to the 6th power, or more than 16 million possible colors!",
@@ -3596,7 +3596,7 @@
"id": "bad87fee1348bd9aedf08723",
"name": "Waypoint: Use Hex Code to Color Elements Green",
"dashedName": "waypoint-use-hex-code-to-color-elements-green",
- "difficulty": 0.057,
+ "difficulty": 1.57,
"description": [
"Remember that hex code follows the red-green-blue, or \"RGB\" format. The first two digits of hex code represent the amount of red in the color. The third and fourth digit represent the amount of green. The fifth and sixth represent the amount of blue.",
"So to get the absolute brightest green, you would just use F for the third and fourth digits (the highest possible value) and 0 for all the other digits (the lowest possible value).",
@@ -3631,7 +3631,7 @@
"id": "bad87fee1348bd9aedf08722",
"name": "Waypoint: Use Hex Code to Color Elements Blue",
"dashedName": "waypoint-use-hex-code-to-color-elements-blue",
- "difficulty": 0.058,
+ "difficulty": 1.58,
"description": [
"Hex code follows the red-green-blue, or \"RGB\" format. The first two digits of hex code represent the amount of red in the color. The third and fourth digit represent the amount of green. The fifth and sixth represent the amount of blue.",
"So to get the absolute brightest blue, we use F for the fifth and sixth digits (the highest possible value) and 0 for all the other digits (the lowest possible value).",
@@ -3666,7 +3666,7 @@
"id": "bad87fee1348bd9aedf08721",
"name": "Waypoint: Use Hex Code to Mix Colors",
"dashedName": "waypoint-use-hex-code-to-mix-colors",
- "difficulty": 0.059,
+ "difficulty": 1.59,
"description": [
"From these three pure colors (red, green and blue), we can create 16 million other colors.",
"For example, orange is pure red, mixed with some green, and no blue.",
@@ -3701,7 +3701,7 @@
"id": "bad87fee1348bd9aede08720",
"name": "Waypoint: Use Hex Code to Color Elements Gray",
"dashedName": "waypoint-use-hex-code-to-color-elements-gray",
- "difficulty": 0.060,
+ "difficulty": 1.60,
"description": [
"From these three pure colors (red, green and blue), we can create 16 million other colors.",
"We can also create different shades of gray by evenly mixing all three colors.",
@@ -3736,7 +3736,7 @@
"id": "bad87fee1348bd9aedf08720",
"name": "Waypoint: Use Hex Code for Specific Shades of Gray",
"dashedName": "waypoint-use-hex-code-for-specific-shades-of-gray",
- "difficulty": 0.061,
+ "difficulty": 1.61,
"description": [
"We can also create other shades of gray by evenly mixing all three colors. We can go very close to true black.",
"Make the
body
element's background color a dark gray by giving it the hex code value of
#111111
."
@@ -3770,7 +3770,7 @@
"id": "bad87fee1348bd9aedf08719",
"name": "Waypoint: Use Abbreviated Hex Code",
"dashedName": "waypoint-use-abbreviated-hex-code",
- "difficulty": 0.062,
+ "difficulty": 1.62,
"description": [
"Many people feel overwhelmed by the possibilities of more than 16 million colors. And it's difficult to remember hex code. Fortunately, you can shorten it.",
"For example, red, which is #FF0000 in hex code, can be shortened to #F00. That is, one digit for red, one digit for green, one digit for blue.",
@@ -3806,7 +3806,7 @@
"id": "bad87fee1348bd9aede08718",
"name": "Waypoint: Use RGB values to Color Elements",
"dashedName": "waypoint-use-rgb-values-to-color-elements",
- "difficulty": 0.063,
+ "difficulty": 1.63,
"description": [
"Another way you can represent colors in CSS is by using RGB values.",
"RGB values look like this:
rgb(0, 0, 0)
for black and
rgb(255, 255, 255) for white.",
@@ -3843,7 +3843,7 @@
"id": "bad88fee1348bd9aedf08726",
"name": "Waypoint: Use RGB to Color Elements White",
"dashedName": "waypoint-use-rgb-to-color-elements-white",
- "difficulty": 0.064,
+ "difficulty": 1.64,
"description": [
"RGB values look like this: rgb(0, 0, 0)
for black and rgb(255, 255, 255) for white.",
"Instead of using six hexadecimal digits like you do with hex code, with RGB you specify the brightness of each color with a number between 0 and 255.",
@@ -3878,7 +3878,7 @@
"id": "bad89fee1348bd9aedf08724",
"name": "Waypoint: Use RGB to Color Elements Red",
"dashedName": "waypoint-use-rgb-to-color-elements-red",
- "difficulty": 0.065,
+ "difficulty": 1.65,
"description": [
"Just like with hex code, you can represent different colors in RGB by using combinations of different values.",
"These values follow the pattern of RGB: the first number represents red, the second number represents green, and the third number represents blue.",
@@ -3913,7 +3913,7 @@
"id": "bad80fee1348bd9aedf08723",
"name": "Waypoint: Use RGB to Color Elements Green",
"dashedName": "waypoint-use-rgb-to-color-elements-green",
- "difficulty": 0.066,
+ "difficulty": 1.66,
"description": [
"Now change the body
element's background color to the RGB value green: rgb(0, 255, 0)
"
],
@@ -3946,7 +3946,7 @@
"id": "bad81fee1348bd9aedf08722",
"name": "Waypoint: Use RGB to Color Elements Blue",
"dashedName": "waypoint-use-rgb-to-color-elements-blue",
- "difficulty": 0.067,
+ "difficulty": 1.67,
"description": [
"Change the body
element's background color to the RGB value blue: rgb(0, 0, 255)
"
],
@@ -3979,7 +3979,7 @@
"id": "bad82fee1348bd9aedf08721",
"name": "Waypoint: Use RGB to Mix Colors",
"dashedName": "waypoint-use-rgb-to-mix-colors",
- "difficulty": 0.068,
+ "difficulty": 1.68,
"description": [
"Just like with hex code, you can mix colors in RGB by using combinations of different values.",
"Change the body
element's background color to the RGB value orange: rgb(255, 165, 0)
"
@@ -4013,7 +4013,7 @@
"id": "bad83fee1348bd9aede08720",
"name": "Waypoint: Use RGB to Color Elements Gray",
"dashedName": "waypoint-use-rgb-to-color-elements-gray",
- "difficulty": 0.069,
+ "difficulty": 1.69,
"description": [
"With RGB values, we can make an element gray by using combinations of the same value for all three colors.",
"Change the body
element's background color to the RGB value for gray: rgb(128, 128, 128)
"
diff --git a/challenges/jquery-ajax-and-json.json b/challenges/jquery-ajax-and-json.json
index 3faaa74d22..78b7db9449 100644
--- a/challenges/jquery-ajax-and-json.json
+++ b/challenges/jquery-ajax-and-json.json
@@ -7,10 +7,13 @@
"id": "bad87fee1348bd9acdd08826",
"name": "Waypoint: Learn how Script Tags and Document Ready Work",
"dashedName": "waypoint-learn-how-script-tags-and-document-ready-work",
- "difficulty": 0.072,
+ "difficulty": 3.01,
"description": [
- "We've simplified our Cat Photo App and removed our style
element. Add a script
element to your page and create a $(document).ready
function within it.",
- "Add $(document).ready(function() {
to your script
element, and then close it on the following line with });
."
+ "Now we're ready to learn jQuery, the most popular JavaScript tool of all time. Don't worry about JavaScript itself - we will cover it soon.",
+ "Before we can start using jQuery, we need to add some things to our HTML.",
+ "First, add a script
element at the top of your page. Be sure to close it on the following line.",
+ "Your browser will run any JavaScript inside a script
element, including jQuery.",
+ "Inside your script
element, add this code: $(document).ready(function() {
to your script
. Then close it on the following line (still inside your script
element) with: });
"
],
"tests": [
"assert(editor.match(/