diff --git a/public/css/main.less b/public/css/main.less index 25df40f416..91a643a8c4 100644 --- a/public/css/main.less +++ b/public/css/main.less @@ -255,6 +255,10 @@ ul { font-size: 18px; } +.large-li { + font-size: 18px; +} + .text-success { color: @brand-success; } diff --git a/seed_data/challenges/advanced-bonfires.json b/seed_data/challenges/advanced-bonfires.json index eefd2d60ff..027a573200 100644 --- a/seed_data/challenges/advanced-bonfires.json +++ b/seed_data/challenges/advanced-bonfires.json @@ -11,7 +11,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\");", @@ -69,7 +69,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) {", @@ -108,7 +108,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) {", @@ -160,7 +160,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) {", @@ -215,7 +215,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) {", @@ -259,7 +259,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) {", @@ -294,4 +294,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/basic-bonfires.json b/seed_data/challenges/basic-bonfires.json index 94fd787a39..d067eed8e3 100644 --- a/seed_data/challenges/basic-bonfires.json +++ b/seed_data/challenges/basic-bonfires.json @@ -91,7 +91,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) {", @@ -133,7 +133,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) {", @@ -166,7 +166,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\");", @@ -210,7 +210,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) {", @@ -249,7 +249,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) {", @@ -287,7 +287,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) {", @@ -323,7 +323,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) {", @@ -360,7 +360,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) {", @@ -397,7 +397,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) {", @@ -433,7 +433,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) {", @@ -470,7 +470,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) {", @@ -511,7 +511,7 @@ "The arguments ['hello', 'hey'] should return false because the string 'hello' does not contain a 'y'.", "Another example, ['Alien', 'line'], should return true because all of the letters in 'line' are present in 'Alien'.", "Lastly, ['Mary', 'Aarmy'] should return false because 'Mary' is only 4 letters while 'Aarmy' is 5, so 'Mary' can't possibly contain 'Aarmy'", - "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) {", @@ -551,7 +551,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) {", @@ -588,7 +588,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) {", @@ -626,7 +626,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) {", @@ -663,7 +663,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) {", @@ -699,7 +699,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) {", @@ -738,7 +738,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) {", @@ -791,7 +791,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) {", @@ -834,7 +834,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) {", @@ -875,7 +875,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) {", @@ -916,7 +916,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) {", @@ -948,7 +948,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) {", @@ -985,7 +985,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) {", @@ -1029,7 +1029,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) {", @@ -1063,7 +1063,7 @@ "difficulty": "2.07", "description": [ "Convert the characters \"&\", \"<\", \">\", '\"', and \"'\", 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) {", @@ -1098,7 +1098,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) {", @@ -1139,7 +1139,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) {", @@ -1179,7 +1179,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) {", @@ -1216,7 +1216,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) {", @@ -1253,7 +1253,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) {", @@ -1288,7 +1288,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) {", @@ -1325,7 +1325,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) {", @@ -1362,7 +1362,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) {", @@ -1399,7 +1399,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) {", @@ -1437,7 +1437,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/seed_data/challenges/bootstrap.json b/seed_data/challenges/bootstrap.json index f11378e838..b68fec1fe1 100644 --- a/seed_data/challenges/bootstrap.json +++ b/seed_data/challenges/bootstrap.json @@ -702,7 +702,7 @@ "name": "Waypoint: Ditch Custom CSS for Bootstrap", "difficulty": 0.055, "description": [ - "Delete the \".red-text\", \"p\", and \".smaller-image\" CSS declarations from your style element. Then Delete the p element that contains a dead link. Then remove the \"red-text\" class from your h2 element and replace it with the \"text-primary\" Bootstrap class. Finally, remove the \"smaller-image\" class from your first img element and replace it with the img-responsive class.", + "Delete the \".red-text\", \"p\", and \".smaller-image\" CSS declarations from your style element so that the only declarations left in your style element are \"h2\" and \"thick-green-border\". Then Delete the p element that contains a dead link. Then remove the \"red-text\" class from your h2 element and replace it with the \"text-primary\" Bootstrap class. Finally, remove the \"smaller-image\" class from your first img element and replace it with the img-responsive class.", "We can clean up our code and make our Cat Photo App look more conventional by using Bootstrap's built-in styles instead of the custom styles we created earlier.", "Don't worry - there will be plenty of time to customize our CSS later." ], @@ -890,7 +890,7 @@ "name": "Waypoint: Add Font Awesome Icons to our Buttons", "difficulty": 0.057, "description": [ - "Use Font Awesome to add a \"like\" icon to your like button.", + "Use Font Awesome to add a \"thumbs-up\" icon to your like button by giving it a i element with the classes \"fa\" and \"fa-thumbs-up\".", "Font Awesome is a convenient library of icons. These icons are vector graphics, stored in the \".svg\" file format. These icons are treated just like fonts. You can specify their size using pixels, and they will assume the font size of their parent HTML elements.", "Go ahead and add a <i class=\"fa fa-thumbs-up\"></i> within your like button's element." ], diff --git a/seed_data/challenges/intermediate-bonfires.json b/seed_data/challenges/intermediate-bonfires.json index 8f9ac09445..a7a7981c86 100644 --- a/seed_data/challenges/intermediate-bonfires.json +++ b/seed_data/challenges/intermediate-bonfires.json @@ -11,7 +11,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) {", @@ -60,10 +60,10 @@ "description": [ "Return a new array that transforms the element's average altitude into their orbital periods.", "The array will contain objects in the format {name: 'name', avgAlt: avgAlt}.", - "You can read about orbital periods on wikipedia.", + "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) {", @@ -101,7 +101,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) {", @@ -133,4 +133,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/ziplines.json b/seed_data/challenges/ziplines.json index d48596413c..9e30a86a8c 100644 --- a/seed_data/challenges/ziplines.json +++ b/seed_data/challenges/ziplines.json @@ -11,7 +11,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.", @@ -53,7 +53,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. Try using jQuery's $.getJSON() to consume APIs.", + "Remember to use RSAP if you get stuck. Try using jQuery's $.getJSON() to consume APIs.", "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" ], @@ -83,7 +83,7 @@ "Here are the user stories you must enable, and optional bonus user stories:", "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.", - "Remember to use RSAP if you get stuck. Try using jQuery's $.getJSON() to consume APIs.", + "Remember to use RSAP if you get stuck. Try using jQuery's $.getJSON() to consume APIs.", "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" ], @@ -115,7 +115,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. Try using jQuery's $.getJSON() to consume APIs.", + "Remember to use RSAP if you get stuck. Try using jQuery's $.getJSON() to consume APIs.", "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" ], @@ -148,7 +148,7 @@ "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. Try using jQuery's $.getJSON() to consume APIs.", + "Remember to use RSAP if you get stuck. Try using jQuery's $.getJSON() to consume APIs.", "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" ], @@ -180,7 +180,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. Try using jQuery's $.getJSON() to consume APIs.", + "Remember to use RSAP if you get stuck. Try using jQuery's $.getJSON() to consume APIs.", "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" ], @@ -211,7 +211,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" ], @@ -242,7 +242,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" ], @@ -274,7 +274,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/seed_data/field-guides.json b/seed_data/field-guides.json index d241f8858b..fca11494c2 100644 --- a/seed_data/field-guides.json +++ b/seed_data/field-guides.json @@ -21,9 +21,9 @@ "

We help our campers (students):

", "

", "

    ", - "
  1. Learn full stack JavaScript
  2. ", - "
  3. Build a portfolio of real apps that real people are using
  4. ", - "
  5. Get a coding job
  6. ", + "
  7. Learn full stack JavaScript
  8. ", + "
  9. Build a portfolio of real apps that real people are using
  10. ", + "
  11. Get a coding job
  12. ", "
", "

", "" @@ -39,8 +39,8 @@ "

Most people who successfully learn to code:

", "

", "

    ", - "
  1. Make friends with people who code
  2. ", - "
  3. Code a little every day
  4. ", + "
  5. Make friends with people who code
  6. ", + "
  7. Code a little every day
  8. ", "
", "

", "

We give you the structure and the community you need so you can successfully learn to code.

", @@ -56,9 +56,9 @@ "

Our main advantage is that we're accessible to busy adults who want to change careers. Specifically, we're:

", "

", "

", "

", "" @@ -97,10 +97,10 @@ "

Here are the facts:

", "

", "

", "

", "" @@ -115,29 +115,29 @@ "

First, you'll learn basic web design tools like:

", "

", "

", "

", "

Then you'll learn computer science and the art of programming:

", "

", "

", "

", "

Finally you'll learn Agile Methodologies and Full Stack JavaScript to build projects for nonprofits:

", "

", "

", "

", "" @@ -217,10 +217,10 @@ "

When you get stuck, remember: RSAP.

", "

", "

    ", - "
  1. Read the documentation or error
  2. ", - "
  3. Search Google
  4. ", - "
  5. Ask your friends for help
  6. ", - "
  7. Post on Stack Overflow
  8. ", + "
  9. Read the documentation or error
  10. ", + "
  11. Search Google
  12. ", + "
  13. Ask your friends for help
  14. ", + "
  15. Post on Stack Overflow
  16. ", "
", "

", "

This is the most time-efficient way to handle being stuck, and it's the most respectful of other people's time, too.

", @@ -278,9 +278,9 @@ "

Please follow these steps to get started:

", "

", "

    ", - "
  1. Follow this tutorial to set up your computer for streaming.
  2. ", - "
  3. Contact Jason Ruekert - he's @jsonify in Slack. He's in charge of our Twitch.tv channel. Tell him what you'd like to stream, and when you're available to stream.
  4. ", - "
  5. Jason will pair with you using Screen Hero to verify your computer is configured properly to stream.
  6. ", + "
  7. Follow this tutorial to set up your computer for streaming.
  8. ", + "
  9. Contact Jason Ruekert - he's @jsonify in Slack. He's in charge of our Twitch.tv channel. Tell him what you'd like to stream, and when you're available to stream.
  10. ", + "
  11. Jason will pair with you using Screen Hero to verify your computer is configured properly to stream.
  12. ", "
", "

", "

Be respectful of your audience. Everything you stream should be related to coding JavaScript, and should be acceptable for children. (Yes, children do sometimes watch our Twitch stream to learn to code).

", @@ -298,182 +298,191 @@ "

Find your city below and join their group. This is a great way to hang out with other coders, share insights, and pair program.

", "

", "
    ", - "
  1. Ahmedabad
  2. ", - "
  3. Albany
  4. ", - "
  5. Alameda
  6. ", - "
  7. Amsterdam
  8. ", - "
  9. Apucarana
  10. ", - "
  11. Aracaju
  12. ", - "
  13. Asheville
  14. ", - "
  15. Atlanta
  16. ", - "
  17. Austin
  18. ", - "
  19. Baltimore
  20. ", - "
  21. Bandung
  22. ", - "
  23. Belem
  24. ", - "
  25. Belgrade
  26. ", - "
  27. Bellingham
  28. ", - "
  29. Bengaluru
  30. ", - "
  31. Berkeley
  32. ", - "
  33. Berlin
  34. ", - "
  35. Bhaktapur
  36. ", - "
  37. Bijeljina
  38. ", - "
  39. Birmingham, Alabama
  40. ", - "
  41. Bismarck, ND
  42. ", - "
  43. Bogota
  44. ", - "
  45. Boston
  46. ", - "
  47. Boulder
  48. ", - "
  49. Brasilia
  50. ", - "
  51. Bratislava
  52. ", - "
  53. Brussels
  54. ", - "
  55. Buenos Aires
  56. ", - "
  57. Bucharest
  58. ", - "
  59. Budapest
  60. ", - "
  61. Cairo
  62. ", - "
  63. Calgary
  64. ", - "
  65. Campinas
  66. ", - "
  67. Cape Town
  68. ", - "
  69. Caracas
  70. ", - "
  71. Charlotte
  72. ", - "
  73. Chennai
  74. ", - "
  75. Chicago
  76. ", - "
  77. Cincinnati
  78. ", - "
  79. Cluj
  80. ", - "
  81. Coimbatore
  82. ", - "
  83. Coventry
  84. ", - "
  85. Curitiba
  86. ", - "
  87. Dallas
  88. ", - "
  89. Delhi
  90. ", - "
  91. Denver
  92. ", - "
  93. Detroit
  94. ", - "
  95. Dhaka
  96. ", - "
  97. Doha
  98. ", - "
  99. Dubai
  100. ", - "
  101. Edmonton
  102. ", - "
  103. Flagstaff
  104. ", - "
  105. Florianopolis
  106. ", - "
  107. Fort Worth
  108. ", - "
  109. Frankfurt
  110. ", - "
  111. Freehold
  112. ", - "
  113. Geneva
  114. ", - "
  115. Glendora
  116. ", - "
  117. Jakarta
  118. ", - "
  119. Hermosillo
  120. ", - "
  121. Hong Kong
  122. ", - "
  123. Houston
  124. ", - "
  125. Istanbul
  126. ", - "
  127. Indianapolis
  128. ", - "
  129. Iasi
  130. ", - "
  131. Irkutsk
  132. ", - "
  133. Islamabad
  134. ", - "
  135. Hampton Roads
  136. ", - "
  137. Ho Chi Minh City
  138. ", - "
  139. Hyderabad
  140. ", - "
  141. Joao Pessoa
  142. ", - "
  143. Johannesburg
  144. ", - "
  145. Kaduna
  146. ", - "
  147. Kalamazoo
  148. ", - "
  149. Kansas City
  150. ", - "
  151. Karachi
  152. ", - "
  153. Kathmandu
  154. ", - "
  155. Kemerovo
  156. ", - "
  157. Kiev
  158. ", - "
  159. Kolkata
  160. ", - "
  161. Krasnodar
  162. ", - "
  163. Kryvyi Rih
  164. ", - "
  165. Lagos
  166. ", - "
  167. Lahore
  168. ", - "
  169. Limassol
  170. ", - "
  171. London
  172. ", - "
  173. Los Angeles
  174. ", - "
  175. Lubbock
  176. ", - "
  177. Manila
  178. ", - "
  179. Miami
  180. ", - "
  181. Minneapolis
  182. ", - "
  183. Missoula
  184. ", - "
  185. Montreal
  186. ", - "
  187. Moscow
  188. ", - "
  189. Munich
  190. ", - "
  191. Mysore
  192. ", - "
  193. Nairobi
  194. ", - "
  195. Nashville
  196. ", - "
  197. New Haven
  198. ", - "
  199. New Orleans
  200. ", - "
  201. New York City
  202. ", - "
  203. Oakland
  204. ", - "
  205. Oklahoma City
  206. ", - "
  207. Omaha
  208. ", - "
  209. Orange County
  210. ", - "
  211. Orlando
  212. ", - "
  213. Parana
  214. ", - "
  215. Paris
  216. ", - "
  217. Philadelphia
  218. ", - "
  219. Pittsburgh
  220. ", - "
  221. Poitiers
  222. ", - "
  223. Phoenix
  224. ", - "
  225. Portland
  226. ", - "
  227. Prescott
  228. ", - "
  229. Pristina
  230. ", - "
  231. Providence
  232. ", - "
  233. Provo
  234. ", - "
  235. Raleigh
  236. ", - "
  237. Recife
  238. ", - "
  239. Richmond
  240. ", - "
  241. Rio de Janeiro
  242. ", - "
  243. Rotterdam
  244. ", - "
  245. Sacramento
  246. ", - "
  247. Saint George
  248. ", - "
  249. Saint Louis
  250. ", - "
  251. Salt Lake City
  252. ", - "
  253. San Bernardino
  254. ", - "
  255. San Diego
  256. ", - "
  257. San Francisco
  258. ", - "
  259. San Jose
  260. ", - "
  261. Sao Paulo
  262. ", - "
  263. Scottsdale
  264. ", - "
  265. Sedona
  266. ", - "
  267. Seattle
  268. ", - "
  269. Singapore
  270. ", - "
  271. Solo
  272. ", - "
  273. Taipei
  274. ", - "
  275. Tampa
  276. ", - "
  277. Tempe
  278. ", - "
  279. Tirana
  280. ", - "
  281. Tulsa
  282. ", - "
  283. Verde Valley
  284. ", - "
  285. Valencia
  286. ", - "
  287. Vancouver
  288. ", - "
  289. Washington, DC
  290. ", - "
  291. Winnipeg
  292. ", - "
  293. Zurich
  294. ", + "
  295. Ahmedabad
  296. ", + "
  297. Albany
  298. ", + "
  299. Alameda
  300. ", + "
  301. Amsterdam
  302. ", + "
  303. Apucarana
  304. ", + "
  305. Aracaju
  306. ", + "
  307. Asheville
  308. ", + "
  309. Atlanta
  310. ", + "
  311. Austin
  312. ", + "
  313. Baltimore
  314. ", + "
  315. Bandung
  316. ", + "
  317. Belem
  318. ", + "
  319. Belgrade
  320. ", + "
  321. Bellingham
  322. ", + "
  323. Belo Horizonte
  324. ", + "
  325. Bengaluru
  326. ", + "
  327. Berkeley
  328. ", + "
  329. Berlin
  330. ", + "
  331. Bhaktapur
  332. ", + "
  333. Bijeljina
  334. ", + "
  335. Birmingham, Alabama
  336. ", + "
  337. Bismarck, ND
  338. ", + "
  339. Bogota
  340. ", + "
  341. Boston
  342. ", + "
  343. Boulder
  344. ", + "
  345. Brasilia
  346. ", + "
  347. Bratislava
  348. ", + "
  349. Brussels
  350. ", + "
  351. Buenos Aires
  352. ", + "
  353. Bucharest
  354. ", + "
  355. Budapest
  356. ", + "
  357. Cairo
  358. ", + "
  359. Calgary
  360. ", + "
  361. Campinas
  362. ", + "
  363. Cape Town
  364. ", + "
  365. Caracas
  366. ", + "
  367. Charlotte
  368. ", + "
  369. Chattanooga
  370. ", + "
  371. Chennai
  372. ", + "
  373. Chicago
  374. ", + "
  375. Cincinnati
  376. ", + "
  377. Cluj
  378. ", + "
  379. Coimbatore
  380. ", + "
  381. Coventry
  382. ", + "
  383. Curitiba
  384. ", + "
  385. Dallas
  386. ", + "
  387. Delhi
  388. ", + "
  389. Denver
  390. ", + "
  391. Detroit
  392. ", + "
  393. Dhaka
  394. ", + "
  395. Doha
  396. ", + "
  397. Dubai
  398. ", + "
  399. Edmonton
  400. ", + "
  401. Flagstaff
  402. ", + "
  403. Florianopolis
  404. ", + "
  405. Fort Worth
  406. ", + "
  407. Frankfurt
  408. ", + "
  409. Freehold
  410. ", + "
  411. Geneva
  412. ", + "
  413. Glendora
  414. ", + "
  415. Guarapuava
  416. ", + "
  417. Hampton Roads
  418. ", + "
  419. Hartford
  420. ", + "
  421. Hermosillo
  422. ", + "
  423. Ho Chi Minh City
  424. ", + "
  425. Hong Kong
  426. ", + "
  427. Houston
  428. ", + "
  429. Hyderabad
  430. ", + "
  431. Istanbul
  432. ", + "
  433. Indianapolis
  434. ", + "
  435. Iasi
  436. ", + "
  437. Irkutsk
  438. ", + "
  439. Islamabad
  440. ", + "
  441. Ivano Frankivsk
  442. ", + "
  443. Jakarta
  444. ", + "
  445. Joao Pessoa
  446. ", + "
  447. Johannesburg
  448. ", + "
  449. Kaduna
  450. ", + "
  451. Kalamazoo
  452. ", + "
  453. Kansas City
  454. ", + "
  455. Karachi
  456. ", + "
  457. Kathmandu
  458. ", + "
  459. Kemerovo
  460. ", + "
  461. Kiev
  462. ", + "
  463. Kolkata
  464. ", + "
  465. Krasnodar
  466. ", + "
  467. Kryvyi Rih
  468. ", + "
  469. Lagos
  470. ", + "
  471. Lahore
  472. ", + "
  473. Leesburg
  474. ", + "
  475. Limassol
  476. ", + "
  477. London
  478. ", + "
  479. Los Angeles
  480. ", + "
  481. Lubbock
  482. ", + "
  483. Manila
  484. ", + "
  485. Melbourne
  486. ", + "
  487. Miami
  488. ", + "
  489. Minneapolis
  490. ", + "
  491. Missoula
  492. ", + "
  493. Montreal
  494. ", + "
  495. Moscow
  496. ", + "
  497. Munich
  498. ", + "
  499. Mysore
  500. ", + "
  501. Nairobi
  502. ", + "
  503. Nashville
  504. ", + "
  505. New Haven
  506. ", + "
  507. New Orleans
  508. ", + "
  509. New York City
  510. ", + "
  511. Oakland
  512. ", + "
  513. Oklahoma City
  514. ", + "
  515. Omaha
  516. ", + "
  517. Orange County
  518. ", + "
  519. Orlando
  520. ", + "
  521. Parana
  522. ", + "
  523. Paris
  524. ", + "
  525. Philadelphia
  526. ", + "
  527. Pittsburgh
  528. ", + "
  529. Poitiers
  530. ", + "
  531. Phoenix
  532. ", + "
  533. Portland
  534. ", + "
  535. Prescott
  536. ", + "
  537. Pristina
  538. ", + "
  539. Providence
  540. ", + "
  541. Provo
  542. ", + "
  543. Raleigh
  544. ", + "
  545. Recife
  546. ", + "
  547. Richmond
  548. ", + "
  549. Rio de Janeiro
  550. ", + "
  551. Rotterdam
  552. ", + "
  553. Sacramento
  554. ", + "
  555. Saint George
  556. ", + "
  557. Saint Louis
  558. ", + "
  559. Salt Lake City
  560. ", + "
  561. San Bernardino
  562. ", + "
  563. San Diego
  564. ", + "
  565. San Francisco
  566. ", + "
  567. San Jose
  568. ", + "
  569. Sao Paulo
  570. ", + "
  571. Scottsdale
  572. ", + "
  573. Sedona
  574. ", + "
  575. Seattle
  576. ", + "
  577. Singapore
  578. ", + "
  579. Solo
  580. ", + "
  581. Taipei
  582. ", + "
  583. Tampa
  584. ", + "
  585. Tempe
  586. ", + "
  587. Tirana
  588. ", + "
  589. Toronto
  590. ", + "
  591. Tulsa
  592. ", + "
  593. Verde Valley
  594. ", + "
  595. Valencia
  596. ", + "
  597. Vancouver
  598. ", + "
  599. Washington, DC
  600. ", + "
  601. Winnipeg
  602. ", + "
  603. Yaounde
  604. ", + "
  605. Zurich
  606. ", "
", "

", "

If you didn't see your city on this list, you should create your own Facebook group for your city. Please follow these steps:

", "

", "

    ", - "
  1. Sign in to Facebook.
  2. ", - "
  3. Click the down arrow in the upper right corner of the screen, then choose \"Create Group\" from the options.", + "
  4. Sign in to Facebook.
  5. ", + "
  6. Click the down arrow in the upper right corner of the screen, then choose \"Create Group\" from the options.", " A screenshot of facebook showing the drop down menu that appears when you click the down arrow, with an arrow pointing to the \"Create Group\" option", - "
  7. Set the group name as \"Free Code Camp\" plus the proper name of your city. Avoid using slang terms such as \"Philly\" for \"Philadelphia\". If your city is not the biggest city that uses its name, also include the state or province. For example, the Free Code Camp group in Paris, France should be called \"Free Code Camp Paris\". The Free Code Camp group in Paris, Texas should be called \"Free Code Camp Paris, Texas\".
  8. ", - "
  9. Set your group to public.
  10. ", - "
  11. You'll need to add at least one friend from your city to this group in order to create the group.
  12. ", + "
  13. Set the group name as \"Free Code Camp\" plus the proper name of your city. Avoid using slang terms such as \"Philly\" for \"Philadelphia\". If your city is not the biggest city that uses its name, also include the state or province. For example, the Free Code Camp group in Paris, France should be called \"Free Code Camp Paris\". The Free Code Camp group in Paris, Texas should be called \"Free Code Camp Paris, Texas\".
  14. ", + "
  15. Set your group to public.
  16. ", + "
  17. You'll need to add at least one friend from your city to this group in order to create the group.
  18. ", " A screenshot of the Facebook group creation modal saying that your group name should be Free Code Camp plus your city name, that your group should be public, and that you need to invite at least one Facebook friend.", - "
  19. Choose the graduation cap icon to indicate that this group is related to a school.
  20. ", + "
  21. Choose the graduation cap icon to indicate that this group is related to a school.
  22. ", " a screenshot telling you to choose the graduation icon, which is on the forth row of icons, seven icons from the left.", - "
  23. Click the \"...\" menu, then click \"Edit group settings\" in the dropdown menu.
  24. ", + "
  25. Click the \"...\" menu, then click \"Edit group settings\" in the dropdown menu.
  26. ", " a screenshot telling you to click the \"...\" button then choose the \"Edit group settings\" option", - "
  27. Set the group's privacy setting to public.
  28. ", - "
  29. Set your group's membership approval to where any member can add or approve members
  30. ", + "
  31. Set the group's privacy setting to public.
  32. ", + "
  33. Set your group's membership approval to where any member can add or approve members
  34. ", " a screenshot showing the Facebook settings panel and where you can click to set the group to public and allow all members to be able to add or approve members>",
-      "      <li>Click the \"Customize Address\" button.</li>",
+      "      <li class=Click the \"Customize Address\" button.", " a picture telling you to click the \"Customize Address\" button.", - "
  35. Enter \"free.code.camp.your.city.name\" with each word separated by periods.", + "
  36. Enter \"free.code.camp.your.city.name\" with each word separated by periods.", " a screenshot telling you to enter free.code.camp.your.city.name with each word seperated by periods.", - "
  37. Please feel free to personalize your city's group description, but be sure to include a link to Free Code Camp: \"http://www.freecodecamp.com\".", + "
  38. Please feel free to personalize your city's group description, but be sure to include a link to Free Code Camp: \"http://www.freecodecamp.com\".", " A screen shot showing you the group description box on the Facebook page.", - "
  39. Click the \"Upload a photo button. To start out, you'll probably just want to use Free Code Camp's banner (download it here), or a scenic shot of your city. Later you can update this with a picture from one of your city's Free Code Camp events.
  40. ", + "
  41. Click the \"Upload a photo button. To start out, you'll probably just want to use Free Code Camp's banner (download it here), or a scenic shot of your city. Later you can update this with a picture from one of your city's Free Code Camp events.
  42. ", " A screenshot showing the \"Upload a photo\" button.", - "
  43. Message @quincylarson in Slack with a link to your city's group page and he'll include it here.
  44. ", - "
  45. Join our Local Leaders Facebook group, where we share ideas about involving campers in your city.
  46. ", + "
  47. Message @quincylarson in Slack with a link to your city's group page and he'll include it here.
  48. ", + "
  49. Join our Local Leaders Facebook group, where we share ideas about involving campers in your city.
  50. ", "
", "

", "

If you don't have a Facebook page, we strongly recommend you create one, even if it's just for the purpose of coordinating with campers in your city through this group.

", @@ -518,15 +527,15 @@ "

These global shortcuts work everywhere on a Mac:

", "

", "

", "

", "" @@ -545,17 +554,17 @@ "

The shortcuts:

", "

", "

", "

", "" @@ -574,10 +583,10 @@ "

Here are the technologies we used here:

", "

", "

", "

", "

You will quickly reach the limits of what you can do without actually coding, but it's nice to be able to rapidly build working prototype websites like this.

", @@ -600,10 +609,10 @@ "

Our Nonprofit Project team will match you and your pair based on:

", "

", "

    ", - "
  1. Your estimated time commitment (10, 20 or 40 hours per week)
  2. ", - "
  3. Your time zone
  4. ", - "
  5. The nonprofit projects you've chosen
  6. ", - "
  7. Prior coding experience (we'd like both campers to be able to contribute equally)
  8. ", + "
  9. Your estimated time commitment (10, 20 or 40 hours per week)
  10. ", + "
  11. Your time zone
  12. ", + "
  13. The nonprofit projects you've chosen
  14. ", + "
  15. Prior coding experience (we'd like both campers to be able to contribute equally)
  16. ", "
", "

", "

We won't take age or gender into account. This will provide you with valuable experience in meshing with diverse teams, which is a reality of the contemporary workplace.

", @@ -612,10 +621,10 @@ "

Before you can start working on the project, our team of Nonprofit Project Coordinators will go through the following process:

", "

", "

    ", - "
  1. We'll wait until there are two campers who have chosen the same project and look like they're a good match for one another based on the factors mentioned above.
  2. ", - "
  3. We'll call the stakeholder to confirm once again that he or she agrees with our  terms  and has signed our  Nonprofit Project Stakeholder Pledge.
  4. ", - "
  5. We'll set an initial meeting with representatives from Free Code Camp, the two campers, and the stakeholder.
  6. ", - "
  7. If the stakeholder and both campers shows up promptly, and seem enthusiastic and professional, we'll start the project.
  8. ", + "
  9. We'll wait until there are two campers who have chosen the same project and look like they're a good match for one another based on the factors mentioned above.
  10. ", + "
  11. We'll call the stakeholder to confirm once again that he or she agrees with our  terms  and has signed our  Nonprofit Project Stakeholder Pledge.
  12. ", + "
  13. We'll set an initial meeting with representatives from Free Code Camp, the two campers, and the stakeholder.
  14. ", + "
  15. If the stakeholder and both campers shows up promptly, and seem enthusiastic and professional, we'll start the project.
  16. ", "
", "

", "

This lengthy process serves an important purpose: it reduces the likelihood that any of our campers or stakeholders will waste their precious time.

", @@ -625,9 +634,9 @@ "

When you and your pair first speak with your nonprofit stakeholder, you'll:

", "

", "

", "

", "

It's notoriously difficult to estimate how long building software projects will take, so feel free to ask our volunteer team for help.

", @@ -640,17 +649,17 @@ "

Here are our recommended ways of collaborating:

", "

", "

", "

", "

Hosting Apps

", "

Unless your stakeholder has an existing modern host (AWS, Digital Ocean), you'll need to transition them over to a new platform. We believe Heroku is the best choice for a vast majority of web projects. It's free, easy to use, and has both browser and command line interfaces. It's owned by Salesforce and used by a ton of companies, so it's accountable and unlikely to go away.

", "

If you need help convincing your stakeholder that Heroku is the ideal platform, we'll be happy to talk with them.

", "

Maintaining Apps

", - "

Once you complete a nonprofit project, your obligation to its stakeholder is finished. You goal is to leave behind a well documented solution that can be easily maintained by a contract JavaScript developer (or even a less-technical \"super user\").

", + "

Once you complete a nonprofit project, your obligation to its stakeholder is finished. Your goal is to leave behind a well documented solution that can be easily maintained by a contract JavaScript developer (or even a less-technical \"super user\").

", "

While you will no longer need to help with feature development, we encourage you to consider helping your stakeholder with occasional patches down the road. After all, this project will be an important piece of your portfolio, and you'll want it to remain in good shape for curious future employers.

", "

Pledging to finish the project

", "

Your nonprofit stakeholder, your pair, and our volunteer team are all counting on you to finish your nonprofit project. If you walk away from an unfinished nonprofit project, you'll become ineligible to ever be assigned another one.

", @@ -680,11 +689,11 @@ "

Writing Bonfire challenges is a great way to exercise your own problem solving and testing abilities. Follow this process closely to maximize the chances of us accepting your bonfire.

", "

", "

    ", - "
  1. Fork the Free Code Camp repository and open seed_data/bonfires.json to become familiar with the format of our bonfires.
  2. ", - "
  3. Regardless of your bonfire's difficulty, put it as the last bonfire in the JSON file. Change one of the numbers in the ID to ensure that your bonfire has a unique ID.
  4. ", - "
  5. In the terminal, run node seed_data/seed.js. Run gulp. You should be able to navigate to your new bonfire in the challenge map. Whenever you make a change to bonfire.json, you'll need to reseed in order to see these changes in the browser.
  6. ", - "
  7. Solve your own Bonfire. Confirm that your tests work as expected and that your instructions are sufficiently clear.
  8. ", - "
  9. Submit a pull request to Free Code Camp's Staging branch and in the pull request body, link to a gist that has your algorithmic solution.
  10. ", + "
  11. Fork the Free Code Camp repository and open seed_data/bonfires.json to become familiar with the format of our bonfires.
  12. ", + "
  13. Regardless of your bonfire's difficulty, put it as the last bonfire in the JSON file. Change one of the numbers in the ID to ensure that your bonfire has a unique ID.
  14. ", + "
  15. In the terminal, run node seed_data/seed.js. Run gulp. You should be able to navigate to your new bonfire in the challenge map. Whenever you make a change to bonfire.json, you'll need to reseed in order to see these changes in the browser.
  16. ", + "
  17. Solve your own Bonfire. Confirm that your tests work as expected and that your instructions are sufficiently clear.
  18. ", + "
  19. Submit a pull request to Free Code Camp's Staging branch and in the pull request body, link to a gist that has your algorithmic solution.
  20. ", "
", "

", "

Here is a description of each of the Bonfires' fields.

", @@ -719,9 +728,9 @@ "

Remember these 3 things and your fellow campers will like you:

", "

", "

    ", - "
  1. Compliment your fellow campers when they do good work. Congratulate them when they accomplish something (like finishing a nonprofit project or getting a job).
  2. ", - "
  3. Critique the work, not the camper doing it.
  4. ", - "
  5. Only argue about something if it's important to the greater discussion.
  6. ", + "
  7. Compliment your fellow campers when they do good work. Congratulate them when they accomplish something (like finishing a nonprofit project or getting a job).
  8. ", + "
  9. Critique the work, not the camper doing it.
  10. ", + "
  11. Only argue about something if it's important to the greater discussion.
  12. ", "
", "

", "

Free Code Camp should be a harassment-free experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, national origin, or religion (or lack thereof).

", @@ -783,10 +792,10 @@ "

We're happy to do a quick interview for your publication or show. Here's whom you should contact about what, and how to best reach them:

", "

", "

    ", - "
  1. Want to talk to about Free Code Camp's curriculum or long-term vision? Reach out to Quincy Larson. He's @ossia on Twitter and @quincylarson on Slack.
  2. ", - "
  3. Want to talk about Free Code Camp's open source codebase, infrastructure, or JavaScript in general? Talk to Nathan Leniz. He's @terakilobyte on Twitter and @terakilobyte on Slack.
  4. ", - "
  5. Want to explore our efforts to empower nonprofits with code? Michael D. Johnson eats, sleeps and breathes that. He's @figitalboy on Twitter and @codenonprofit on Slack.
  6. ", - "
  7. Want to get a camper's perspective on our community? Talk with Bianca Mihai (@biancamihai on Slack and @bubuslubu on Twitter) or Suzanne Atkinson (@adventurebear on Slack and @steelcitycoach on Twitter).", + "
  8. Want to talk to about Free Code Camp's curriculum or long-term vision? Reach out to Quincy Larson. He's @ossia on Twitter and @quincylarson on Slack.
  9. ", + "
  10. Want to talk about Free Code Camp's open source codebase, infrastructure, or JavaScript in general? Talk to Nathan Leniz. He's @terakilobyte on Twitter and @terakilobyte on Slack.
  11. ", + "
  12. Want to explore our efforts to empower nonprofits with code? Michael D. Johnson eats, sleeps and breathes that. He's @figitalboy on Twitter and @codenonprofit on Slack.
  13. ", + "
  14. Want to get a camper's perspective on our community? Talk with Bianca Mihai (@biancamihai on Slack and @bubuslubu on Twitter) or Suzanne Atkinson (@adventurebear on Slack and @steelcitycoach on Twitter).", "
", "

", "

We strive to be helpful and transparent in everything we do. We'll do what we can to help you share our community with your audience.

", @@ -844,8 +853,8 @@ "

Contributing to our field guide is a great way to establish your history on GitHub, add to your portfolio, and help other campers. If you have a question about JavaScript or programming in general that you'd like us to add to the field guide, here are two ways to get it into the guide:

", "

", "

    ", - "
  1. You can message @alex-dixon in Slack with your question.
  2. ", - "
  3. You can also contribute to this field guide directly via GitHub pull request, by cloning Free Code Camp's main repository and modifying field-guides.json.
  4. ", + "
  5. You can message @quincylarson in Slack with your question.
  6. ", + "
  7. You can also contribute to this field guide directly via GitHub pull request, by cloning Free Code Camp's main repository and modifying field-guides.json.
  8. ", "
", "

", ""