diff --git a/challenges/advanced-bonfires.json b/challenges/advanced-bonfires.json
index f729bde4e2..8635c2b1de 100644
--- a/challenges/advanced-bonfires.json
+++ b/challenges/advanced-bonfires.json
@@ -12,7 +12,7 @@
"The user may fill out the form field any way they choose as long as it is a valid US number. The following are all valid formats for US numbers:",
"555-555-5555, (555)555-5555, (555) 555-5555, 555 555 5555, 5555555555, 1 555 555 5555",
"For this challenge you will be presented with a string such as \"800-692-7753\" or \"8oo-six427676;laskdjf\". Your job is to validate or reject the US phone number based on any combination of the formats provided above. The area code is required. If the country code is provided, you must confirm that the country code is \"1\". Return true if the string is a valid US phone number; otherwise false.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"tests": [
"expect(telephoneCheck(\"555-555-5555\")).to.be.a(\"boolean\");",
@@ -71,7 +71,7 @@
"description": [
"Create a function that takes two or more arrays and returns an array of the symmetric difference of the provided arrays.",
"The mathematical term symmetric difference refers to the elements in two sets that are in either the first or second set, but not in both.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function sym(args) {",
@@ -112,7 +112,7 @@
"cid is a 2d array listing available currency.",
"Return the string \"Insufficient Funds\" if cash-in-drawer is less than the change due. Return the string \"Closed\" if cash-in-drawer is equal to the change due.",
"Otherwise, return change in coin and bills, sorted in highest to lowest order.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function drawer(price, cash, cid) {",
@@ -165,7 +165,7 @@
"difficulty": "4.04",
"description": [
"Compare and update inventory stored in a 2d array against a second 2d array of a fresh delivery. Update current inventory item quantity, and if an item cannot be found, add the new item and quantity into the inventory array in alphabetical order.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function inventory(arr1, arr2) {",
@@ -221,7 +221,7 @@
"description": [
"Return the number of total permutations of the provided string that don't have repeated consecutive letters.",
"For example, 'aab' should return 2 because it has 6 total permutations, but only 2 of them don't have the same letter (in this case 'a') repeating.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function permAlone(str) {",
@@ -266,7 +266,7 @@
"For example, if the year and month are the same then only the day range should be displayed.",
"Secondly, if the starting year is the current year, and the ending year can be inferred by the reader, the year should be omitted.",
"Input date is formatted as YYYY-MM-DD",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function friendly(str) {",
diff --git a/challenges/basic-bonfires.json b/challenges/basic-bonfires.json
index b2a49c8ce3..51bb15e0e2 100644
--- a/challenges/basic-bonfires.json
+++ b/challenges/basic-bonfires.json
@@ -94,7 +94,7 @@
"Reverse the provided string.",
"You may need to turn the string into an array before you can reverse it.",
"Your result must be a string.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function reverseString(str) {",
@@ -137,7 +137,7 @@
"If the integer is represented with the letter n, a factorial is the product of all positive integers less than or equal to n.",
"Factorials are often represented with the shorthand notation n!",
"For example: 5! = 1 * 2 * 3 * 4 * 5 = 120f",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function factorialize(num) {",
@@ -171,7 +171,7 @@
"A palindrome is a word or sentence that's spelled the same way both forward and backward, ignoring punctuation, case, and spacing.",
"You'll need to remove punctuation and turn everything lower case in order to check for palindromes.",
"We'll pass strings with varying formats, such as \"racecar\", \"RaceCar\", and \"race CAR\" among others.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"tests": [
"expect(palindrome(\"eye\")).to.be.a(\"boolean\");",
@@ -217,7 +217,7 @@
"description": [
"Return the length of the longest word in the provided sentence.",
"Your response should be a number.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function findLongestWord(str) {",
@@ -257,7 +257,7 @@
"description": [
"Return the provided string with the first letter of each word capitalized.",
"For the purpose of this exercise, you should also capitalize connecting words like 'the' and 'of'.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function titleCase(str) {",
@@ -296,7 +296,7 @@
"Return an array consisting of the largest number from each provided sub-array. For simplicity, the provided array will contain exactly 4 sub-arrays.",
"Remember, you can iterate through an array with a simple for loop, and access each member with array syntax arr[i] .",
"If you are writing your own Chai.js tests, be sure to use a deep equal statement instead of an equal statement when comparing arrays.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function largestOfFour(arr) {",
@@ -333,7 +333,7 @@
"difficulty": "1.07",
"description": [
"Check if a string (first argument) ends with the given target string (second argument).",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function end(str, target) {",
@@ -373,7 +373,7 @@
"difficulty": "1.08",
"description": [
"Repeat a given string (first argument) n times (second argument). Return an empty string if n is a negative number.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function repeat(str, num) {",
@@ -411,7 +411,7 @@
"description": [
"Truncate a string (first argument) if it is longer than the given maximum string length (second argument). Return the truncated string with a '...' ending.",
"Note that the three dots at the end add to the string length.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function truncate(str, num) {",
@@ -449,7 +449,7 @@
"difficulty": "1.10",
"description": [
"Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a multidimensional array.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function chunk(arr, size) {",
@@ -487,7 +487,7 @@
"difficulty": "1.11",
"description": [
"Return the remaining elements of an array after chopping off n elements from the head.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function slasher(arr, howMany) {",
@@ -528,7 +528,7 @@
"For example, ['hello', 'Hello'], should return true because all of the letters in the second string are present in the first, ignoring case.",
"The arguments ['hello', 'hey'] should return false because the string 'hello' does not contain a 'y'.",
"Lastly, ['Alien', 'line'], should return true because all of the letters in 'line' are present in 'Alien'.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function mutation(arr) {",
@@ -569,7 +569,7 @@
"description": [
"Remove all falsey values from an array.",
"Falsey values in javascript are false, null, 0, \"\", undefined, and NaN.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function bouncer(arr) {",
@@ -607,7 +607,7 @@
"difficulty": "1.55",
"description": [
"Make a function that looks through a list (first argument) and returns an array of all objects that have equivalent property values (second argument).",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function where(collection, source) {",
@@ -646,7 +646,7 @@
"difficulty": "1.60",
"description": [
"You will be provided with an initial array (the first argument in the destroyer function), followed by one or more arguments. Remove all elements from the initial array that are of the same value as these arguments.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function destroyer(arr) {",
@@ -687,7 +687,7 @@
"description": [
"Return the lowest index at which a value (second argument) should be inserted into a sorted array (first argument).",
"For example, where([1,2,3,4], 1.5) should return 1 because it is greater than 1 (0th index), but less than 2 (1st index).",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function where(arr, num) {",
@@ -724,7 +724,7 @@
"description": [
"We'll pass you an array of two numbers. Return the sum of those two numbers and all numbers between them.",
"The lowest number will not always come first.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function sumAll(arr) {",
@@ -764,7 +764,7 @@
"difficulty": "2.01",
"description": [
"Compare two arrays and return a new array with any items not found in both of the original arrays.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function diff(arr1, arr2) {",
@@ -818,7 +818,7 @@
"description": [
"Convert the given number into a roman numeral.",
"All roman numerals answers should be provided in upper-case.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function convert(num) {",
@@ -862,7 +862,7 @@
"Second argument is the word that you will be replacing (before).",
"Third argument is what you will be replacing the second argument with (after).",
"NOTE: Preserve the case of the original word when you are replacing it. For example if you mean to replace the word 'Book' with the word 'dog', it should be replaced as 'Dog'",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function replace(str, before, after) {",
@@ -904,7 +904,7 @@
"Translate the provided string to pig latin.",
"Pig Latin takes the first consonant (or consonant cluster) of an English word, moves it to the end of the word and suffixes an \"ay\".",
"If a word begins with a vowel you just add \"way\" to the end.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function translate(str) {",
@@ -946,7 +946,7 @@
"The DNA strand is missing the pairing element. Match each character with the missing element and return the results as a 2d array.",
"Base pairs are a pair of AT and CG. Match the missing element to the provided character.",
"Return the provided character as the first element in each array.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function pair(str) {",
@@ -979,7 +979,7 @@
"description": [
"Find the missing letter in the passed letter range and return it.",
"If all letters are present in the range, return undefined.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function fearNotLetter(str) {",
@@ -1018,7 +1018,7 @@
"description": [
"Check if a value is classified as a boolean primitive. Return true or false.",
"Boolean primitives are true and false.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function boo(bool) {",
@@ -1063,7 +1063,7 @@
"In other words, all values present from all arrays should be included in their original order, but with no duplicates in the final array.",
"The unique numbers should be sorted by their original order, but the final array should not be sorted in numerical order.",
"Check the assertion tests for examples.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function unite(arr1, arr2, arr3) {",
@@ -1098,7 +1098,7 @@
"difficulty": "2.07",
"description": [
"Convert the characters \"&\", \"<\", \">\", '\"' (double quote), and \"'\" (apostrophe), in a string to their corresponding HTML entities.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function convert(str) {",
@@ -1140,7 +1140,7 @@
"difficulty": "2.08",
"description": [
"Convert a string to spinal case. Spinal case is all-lowercase-words-joined-by-dashes.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function spinalCase(str) {",
@@ -1182,7 +1182,7 @@
"Return the sum of all odd Fibonacci numbers up to and including the passed number if it is a Fibonacci number.",
"The first few numbers of the Fibonacci sequence are 1, 1, 2, 3, 5 and 8, and each subsequent number is the sum of the previous two numbers.",
"As an example, passing 4 to the function should return 5 because all the odd Fibonacci numbers under 4 are 1, 1, and 3.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function sumFibs(num) {",
@@ -1223,7 +1223,7 @@
"Sum all the prime numbers up to and including the provided number.",
"A prime number is defined as having only two divisors, 1 and itself. For example, 2 is a prime number because it's only divisible by 1 and 2. 1 isn't a prime number, because it's only divisible by itself.",
"The provided number may not be a prime.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function sumPrimes(num) {",
@@ -1261,7 +1261,7 @@
"description": [
"Find the smallest number that is evenly divisible by all numbers in the provided range.",
"The range will be an array of two numbers that will not necessarily be in numerical order.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function smallestCommons(arr) {",
@@ -1299,7 +1299,7 @@
"difficulty": "2.12",
"description": [
"Create a function that looks through an array (first argument) and returns the first element in the array that passes a truth test (second argument).",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function find(arr, func) {",
@@ -1335,7 +1335,7 @@
"difficulty": "2.13",
"description": [
"Drop the elements of an array (first argument), starting from the front, until the predicate (second argument) returns true.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function drop(arr, func) {",
@@ -1373,7 +1373,7 @@
"difficulty": "2.14",
"description": [
"Flatten a nested array. You must account for varying levels of nesting.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function steamroller(arr) {",
@@ -1411,7 +1411,7 @@
"description": [
"Return an English translated sentence of the passed binary string.",
"The binary string will be space separated.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function binaryAgent(str) {",
@@ -1449,7 +1449,7 @@
"Check if the predicate (second argument) returns truthy (defined) for all elements of a collection (first argument).",
"For this, check to see if the property defined in the second argument is present on every element of the collection.",
"Remember, you can access object properties through either dot notation or [] notation.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function every(collection, pre) {",
@@ -1488,7 +1488,7 @@
"Create a function that sums two arguments together. If only one argument is provided, return a function that expects one additional argument and will return the sum.",
"For example, add(2, 3) should return 5, and add(2) should return a function that is waiting for an argument so that var sum2And = add(2); return sum2And(3); // 5",
"If either argument isn't a valid number, return undefined.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function add() {",
diff --git a/challenges/basic-ziplines.json b/challenges/basic-ziplines.json
index 16053946ec..23306c1ba1 100644
--- a/challenges/basic-ziplines.json
+++ b/challenges/basic-ziplines.json
@@ -12,7 +12,7 @@
"Now you're ready to start our Zipline challenges. These front-end development challenges will give you many opportunities to apply the HTML, CSS, jQuery and JavaScript you've learned to build static (database-less) applications.",
"For many of these challenges, you will be using JSON data from external API endpoints, such as Twitch.tv and Twitter. Note that you don't need to have a database to use these data.",
"The easiest way to manipulate these data is with jQuery $.getJSON().",
- "Whatever you do, don't get discouraged! Remember to use RSAP if you get stuck.",
+ "Whatever you do, don't get discouraged! Remember to use RSAP if you get stuck.",
"We'll build these challenges using CodePen, a popular tool for creating, sharing, and discovering static web applications.",
"Go to http://codepen.io and create an account.",
"Click your user image in the top right corner, then click the \"New pen\" button that drops down.",
@@ -56,7 +56,7 @@
"Don't worry if you don't have anything to showcase on your portfolio yet - you will build several several apps on the next few CodePen challenges, and can come back and update your portfolio later.",
"There are many great portfolio templates out there, but for this challenge, you'll need to build a portfolio page yourself. Using Bootstrap will make this much easier for you.",
"Note that CodePen.io overrides the Window.open() function, so if you want to open windows using jquery, you will need to target invisible anchor elements like this one: <a target='_blank'&rt;.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -88,7 +88,7 @@
"User Story: As a user, I can click a button to show me a new random quote.",
"Bonus User Story: As a user, I can press a button to tweet out a quote.",
"Note that you can either put your quotes into an array and show them at random, or use an API to get quotes, such as http://forismatic.com/en/api/.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -121,7 +121,7 @@
"Bonus User Story: As a user, I can see an icon depending on the temperature..",
"Bonus User Story: As a user, I see a different background image depending on the temperature (e.g. snowy mountain, hot desert).",
"Bonus User Story: As a user, I can push a button to toggle between Fahrenheit and Celsius.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -153,7 +153,7 @@
"User Story: As a user, I can start a 25 minute pomodoro, and the timer will go off once 25 minutes has elapsed.",
"Bonus User Story: As a user, I can reset the clock for my next pomodoro.",
"Bonus User Story: As a user, I can customize the length of each pomodoro.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -189,7 +189,7 @@
"Hint: Here's an example call to Twitch.tv's JSON API: https://api.twitch.tv/kraken/streams/freecodecamp.",
"Hint: The relevant documentation about this API call is here: https://github.com/justintv/Twitch-API/blob/master/v3_resources/streams.md#get-streamschannel.",
"Hint: Here's an array of the Twitch.tv usernames of people who regularly stream coding: [\"freecodecamp\", \"storbeck\", \"terakilobyte\", \"habathcx\",\"RobotCaleb\",\"comster404\",\"brunofin\",\"thomasballinger\",\"noobs2ninjas\",\"beohoff\"]",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
diff --git a/challenges/get-set-for-free-code-camp.json b/challenges/get-set-for-free-code-camp.json
index b1360711ed..ef8b068975 100644
--- a/challenges/get-set-for-free-code-camp.json
+++ b/challenges/get-set-for-free-code-camp.json
@@ -71,7 +71,7 @@
"Keep the chat room open while you work through the other challenges. That way you ask for help if you get stuck on a challenge. You can also socialize when you feel like taking a break.",
"You can also download a desktop or mobile chat application here: https://gitter.im/apps",
"You can also access this chat room by clicking the \"Chat\" button in the upper right hand corner.",
- "In order to keep our community a friendly and positive place to learn to code, please read and follow our Code of Conduct: http://freecodecamp.com/field-guide/what-is-the-free-code-camp-code-of-conduct?",
+ "In order to keep our community a friendly and positive place to learn to code, please read and follow our Code of Conduct: https://github.com/FreeCodeCamp/freecodecamp/wiki/Code-of-Conduct",
"Now you're ready to move on. Click the \"I've completed this challenge\" button to move on to your next challenge."
],
"challengeType": 2,
@@ -93,7 +93,7 @@
"Comentale a otros campers como es que encontraste Free Code Camp. También hablanos sobre las razones por las cuales decidiste aprender a programar.",
"Mantén la sala de chat abierta mientras estás trabajando otros desafíos. De esa manera podrás pedir ayuda en caso te quedes atascado en algún de ellos. También puedes socializar cuando sientas que necesitas un descanso.",
"Puedes acceder a la sala de chat dándole click al botón de \"Chat\" en la parte superior derecha de la página.",
- "Para mantener a nuestra comunidad como un lugar de aprendizaje positivo y amigable, por favor lee y sigue nuestro Código de Conducta: http://freecodecamp.com/field-guide/what-is-the-free-code-camp-code-of-conduct?"
+ "Para mantener a nuestra comunidad como un lugar de aprendizaje positivo y amigable, por favor lee y sigue nuestro Código de Conducta: https://github.com/FreeCodeCamp/freecodecamp/wiki/Code-of-Conduct"
],
"namePt": "",
"descriptionPt": [],
@@ -108,7 +108,7 @@
"Teile den anderen Campern mit, wie du auf Free Code Camp gestoßen bist. Wir interessieren uns auch dafür, warum du Programmieren lernen willst – aber auf englisch bitte, sonst versteht dich kaum einer.",
"Behalte den Chat geöffnet, während du an den Challenges arbeitest. Auf diesem Weg kannst du schnell nach Hilfe fragen, wenn du nicht weiter kommst. Du kannst auch jederzeit mit uns chatten, wenn du eine Pause einlegen möchtest.",
"Du kannst den Chat auch über die Schaltfläche \"Chat\" oben rechts auf dieser Seite erreichen.",
- "Damit diese Community ein freundlicher und positiver Ort zum Lernen bleibt, lies und folge bitte unseren Verhaltensregeln: http://freecodecamp.com/field-guide/what-is-the-free-code-camp-code-of-conduct?"
+ "Damit diese Community ein freundlicher und positiver Ort zum Lernen bleibt, lies und folge bitte unseren Verhaltensregeln: https://github.com/FreeCodeCamp/freecodecamp/wiki/Code-of-Conduct"
]
},
{
@@ -254,9 +254,8 @@
"Click \"News\" in the upper right hand corner.",
"You'll see a variety of links that have been submitted. Click on the \"Discuss\" button under one of them.",
"You can upvote links. This will push the link up the rankings of hot links.",
- "You can also comment on a link. If someone responds to your comment, you'll get an email notification so you can come back and respond to them.",
- "You can also submit links. You can modify the link's headline and also leave an initial comment about the link.",
- "You can view the portfolio pages of any camper who has posted links or comments on Camper News. Just click on their photo.",
+ "You can also submit links.",
+ "You can view the portfolio pages of any camper who has posted links on Camper News. Just click on their photo.",
"When you submit a link, you'll get a point. You will also get a point each time someone upvotes your link.",
"Now that you've learned how to use Camper News, let's move on to your next challenge."
],
@@ -304,7 +303,7 @@
"description": [
"One of the best ways to stay motivated when learning to code is to hang out with other campers.",
"Gitter and Camper News are great ways to communicate with other campers, but there's no substitute for meeting people in-person.",
- "The easiest way to meet other campers in your city is to join your city's Facebook Group. Click here to view our growing list of local groups.",
+ "The easiest way to meet other campers in your city is to join your city's Facebook Group. Click here to view our growing list of local groups.",
"Click the link to your city, then, once Facebook loads, click \"Join group\".",
"Our local groups are new, so if you don't see your city on this list, you should follow the directions to create a Facebook group for your city.",
"If you don't have a Facebook account, we strongly recommend you create one, even if it's just for the purpose of coordinating with campers in your city through this group.",
@@ -323,7 +322,7 @@
"descriptionEs": [
"Una de las mejores maneras de mantenerte motivado cuando estás aprendiendo a programar es pasar el rato con otros campers.",
"Gitter y Noticias de Campers son una muy buena forma de comunicarte con otros campers, pero no hay ningún substituto para conocerlos en persona.",
- "La forma más fácil de encontrarte con otros campers en tu ciudad es unirte al grupo de Facebook de tu ciudad o país. Dale click a here para ver la lista de grupos locales.",
+ "La forma más fácil de encontrarte con otros campers en tu ciudad es unirte al grupo de Facebook de tu ciudad o país. Dale click a here para ver la lista de grupos locales.",
"Dale click al link de tu ciudad o país y una vez que Facebook cargue, dale click a \"Join group\".",
"Nuestros grupos locales son pocos, asi que en caso no veas tu ciudad o país en la lista, solamente sigue las instrucciones para crear un grupo de Facebook para ello.",
"Si no tienes una cuenta de Facebook, te recomendamos que crees una, asi sea solamente con el proposito de coordinar con otros campers en tu ciudad a través del grupo",
@@ -336,7 +335,7 @@
"descriptionDe": [
"Der beste Weg, motiviert am Ball zu bleiben, ist mit anderen Campern abzuhängen.",
"Slack und Camper News sind super Wege zur Kommunikation mit anderen Campern. Es gibt aber nichts vergleichbares, Personen im echten Leben zu treffen.",
- "Um leicht andere Camper in deiner Stadt zu treffen, solltest du der Facebook Gruppe deiner Stadt beitreten. Klicke hier um unsere wachsende Liste der lokalen Gruppen zu sehen.",
+ "Um leicht andere Camper in deiner Stadt zu treffen, solltest du der Facebook Gruppe deiner Stadt beitreten. Klicke hier um unsere wachsende Liste der lokalen Gruppen zu sehen.",
"Klicke auf den Link zu deiner Stadt. Sobald Facebook geladen ist, klicke auf \"Gruppe beitreten\".",
"Unsere lokalen Gruppen sind neu. Solltest du deine Stadt also nicht in der Liste sehen, erstelle doch bitte eine Facebook Gruppe deiner Stadt indem du den Anweisungen dazu folgst.",
"Wenn du keinen Facebook Account hast, empfehlen wir dir einen zu erstellen. Auch wenn dieser nur dazu dient, sich mit anderen Campern in deiner Stadt zu koordinieren.",
@@ -388,7 +387,7 @@
"Next, S - Search Google. Good Google queries take a lot of practice. When you search Google, you usually want to include the language or framework you're using. You also want to limit the results to a recent period.",
"Then, if you still haven't found an answer to your question, A - Ask your friends. If you have trouble, you can ask your fellow campers. We have a special chat room specifically for getting help with tools you learn through these Free Code Camp Challenges. Go to https://gitter.im/FreeCodeCamp/Help. Keep this chat open while you work on the remaining challenges.",
"Finally, P - Post on Stack Overflow. Before you attempt to do this, read Stack Overflow's guide to asking good questions: http://stackoverflow.com/help/how-to-ask.",
- "Here's our detailed wiki article on getting help: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.",
+ "Here's our detailed wiki article on getting help: http://freecodecamp.com//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck.",
"Now you have a clear algorithm to follow when you need help! Let's start coding! Move on to your next challenge."
],
"challengeType": 2,
@@ -407,7 +406,7 @@
"Luego, Busca - Busca en Google. Buenas búsquedas o queries requieren bastante práctica. Cuando búsques en Google, idealmente tienes que incluir el lenguaje o framework que estés usando. También tendrás que limitar los resultados de búsqueda a un periodo reciente.",
"Ahora, en caso no hayas encontrado la respuesta a tu pregunta, Pregunta - Pregunta a tus amigos. En caso estes en problemas, puedes preguntar a otros campers. Tenemos una sala de chat especificamente para obtener ayuda sobre las herramientas que utilizamos en los desafíos de Free Code Camp. Ingresa a https://gitter.im/FreeCodeCamp/Help. Mantén este chat abierto mientras trabajas en los desafíos subsiguientes.",
"Finalmente, Publica - Publica tu pregunta en Stack Overflow. Antes de hacer esto lee la guía de Stack Overflow para publicar buenas preguntas: http://stackoverflow.com/help/how-to-ask. Tendrás que hacerlo en inglés, en caso no sepas como, pide que te ayuden a traducir tu pregunta en el canal #espanol de Slack.",
- "Aquí está nuestra guia detallada en como obtener ayuda: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.",
+ "Aquí está nuestra guia detallada en como obtener ayuda: http://freecodecamp.com//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck.",
"Ahora que tienes en claro el procedimiento a seguir cuando necesites ayuda. ¡Empecémos a programar! Continua con el siguiente desafío."
],
"namePt": "",
@@ -420,7 +419,7 @@
"Danach, S – Suche bei Google. Es bedarf viel Übung, gute Such-Anfragen zu stellen. Wenn du bei Google suchst, solltest du die Sprache oder das Framework angeben, welches du benutzt. Außerdem wirst du die aktuellsten Ergebnisse haben wollen.",
"Wenn du keine Antwort auf deine Frage erhalten hast, folge A – Frage deine Freunde. Wenn du Probleme hast, kannst du andere Camper fragen. Wir haben einen speziellen Chat-Raum zur Unterstützung beim Lernen eingerichtet. Gehe zu https://freecode.slack.com/messages/help/. Behalte diesen Chat offen, solange du an den Challenges arbeitest.",
"Und zum Schluss, P – Poste auf Stack Overflow. Bevor du das tust, lies bitte den Leitfaden für gute Fragen auf Stack Overflow: http://stackoverflow.com/help/how-to-ask.",
- "Hier ist unser detaillierter Field Guide um Hilfe zu erhalten: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.",
+ "Hier ist unser detaillierter Field Guide um Hilfe zu erhalten: http://freecodecamp.com//github.com/FreeCodeCamp/freecodecamp/wiki/How-to-get-help-when-you-get-stuck.",
"Jetzt hast du einen klaren Algorithmus, dem du folgen kannst wenn du Hilfe benötigst. Fangen wir an zu programmieren! Gehe zur nächsten Challenge."
]
}
diff --git a/challenges/intermediate-bonfires.json b/challenges/intermediate-bonfires.json
index f0e25cb698..f130dc92c6 100644
--- a/challenges/intermediate-bonfires.json
+++ b/challenges/intermediate-bonfires.json
@@ -12,7 +12,7 @@
"Those methods are getFirstName(), getLastName(), getFullName(), setFirstName(first), setLastName(last), and setFullName(firstAndLast).",
"All functions that take an argument have an arity of 1, and the argument will be a string.",
"These methods must be the only available means for interacting with the object.",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"var Person = function(firstAndLast) {",
@@ -65,7 +65,7 @@
"You can read about orbital periods on wikipedia.",
"The values should be rounded to the nearest whole number. The body being orbited is Earth.",
"The radius of the earth is 6367.4447 kilometers, and the GM value of earth is 398600.4418",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function orbitalPeriod(arr) {",
@@ -104,7 +104,7 @@
"Return the sum of all indices of elements of 'arr' that can be paired with one other element to form a sum that equals the value in the second argument 'arg'. If multiple sums are possible, return the smallest sum. Once an element has been used, it cannot be reused to pair with another.",
"For example, pairwise([1, 4, 2, 3, 0, 5], 7) should return 11 because 4, 2, 3 and 5 can be paired with each other to equal 7.",
"pairwise([1, 3, 2, 4], 4) would only equal 1, because only the first two elements can be paired to equal 4, and the first element has an index of 0!",
- "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
+ "Remember to use RSAP if you get stuck. Try to pair program. Write your own code."
],
"challengeSeed": [
"function pairwise(arr, arg) {",
diff --git a/challenges/intermediate-ziplines.json b/challenges/intermediate-ziplines.json
index e7d3e5e38d..f06bc15efc 100644
--- a/challenges/intermediate-ziplines.json
+++ b/challenges/intermediate-ziplines.json
@@ -18,8 +18,8 @@
"User Story: As a user, I can click on a post to be taken to the story's original URL.",
"User Story: As a user, I can click a link to go directly to the post's discussion page.",
"Bonus User Story: As a user, I can see how many upvotes each story has.",
- "Hint: Here's the Camper News Hot Stories API endpoint: http://www.freecodecamp.com/stories/hotStories.",
- "Remember to use RSAP if you get stuck.",
+ "Hint: Here's the Camper News Hot Stories API endpoint: http://www.freecodecamp.com/news/hot.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -52,7 +52,7 @@
"Bonus User Story:As a user, I can click a button to see a random Wikipedia entry.",
"Bonus User Story:As a user, when I type in the search box, I can see a dropdown menu with autocomplete options for matching Wikipedia entries.",
"Hint: Here's an entry on using Wikipedia's API: http://www.mediawiki.org/wiki/API:Main_page.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -84,7 +84,7 @@
"User Story: As a user, I can add, subtract, multiply and divide two numbers.",
"Bonus User Story: I can clear the input field with a clear button.",
"Bonus User Story: I can keep chaining mathematical operations together until I hit the clear button, and the calculator will tell me the correct output.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
@@ -117,7 +117,7 @@
"Bonus User Story: As a user, I can never actually win against the computer - at best I can tie.",
"Bonus User Story: As a user, my game will reset as soon as it's over so I can play again.",
"Bonus User Story: As a user, I can choose whether I want to play as X or O.",
- "Remember to use RSAP if you get stuck.",
+ "Remember to use RSAP if you get stuck.",
"When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.",
"If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.
Click here then add your link to your tweet's text"
],
diff --git a/challenges/jquery-ajax-and-json.json b/challenges/jquery-ajax-and-json.json
index aaaca56c96..2d38dd5a28 100644
--- a/challenges/jquery-ajax-and-json.json
+++ b/challenges/jquery-ajax-and-json.json
@@ -734,13 +734,54 @@
"dashedName": "waypoint-target-a-specific-child-of-an-element-using-jquery",
"difficulty": 3.15,
"description": [
-
+ "You've seen why id attributes are so convenient for targeting with jQuery selectors. But you won't always have such neat ids to work with.",
+ "Fortunately, jQuery has some other tricks for targeting the right elements.",
+ "jQuery has a function called :nth-child() that will allow you select the nth element of a certain class or element type.",
+ "Make the first child in each of your well elements bounce.",
+ "Here's how you would give the third element in each well bounce: $('.target:nth-child(3)').addClass('animated bounce');"
],
"tests": [
-
+ "assert($('.target:nth-child(2)').hasClass('animated') && $('.target:nth-child(2)').hasClass('bounce'), 'The second element in each of your \"well\" elements should bounce.')",
+ "assert(editor.match(/\\:nth-child\\(/g), 'You should use the :nth-child() function to modify these elements.')",
+ "assert(editor.match(/