From 1f38accd143dc2bffaa004345cc5ed1857d19c2f Mon Sep 17 00:00:00 2001 From: ahstro Date: Sat, 3 Oct 2015 11:23:41 +0200 Subject: [PATCH 1/6] Truncate a string: Minor typo The assert message said `1`, instead of the number `11` that was actually being used in the assertion. --- challenges/basic-bonfires.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenges/basic-bonfires.json b/challenges/basic-bonfires.json index 931c157ce1..12da55a771 100644 --- a/challenges/basic-bonfires.json +++ b/challenges/basic-bonfires.json @@ -378,7 +378,7 @@ "truncate(\"A-tisket a-tasket A green and yellow basket\", 11, \"\");" ], "tests": [ - "assert(truncate(\"A-tisket a-tasket A green and yellow basket\", 11) === \"A-tisket...\", 'message: truncate(\"A-tisket a-tasket A green and yellow basket\", 1) should return \"A-tisket...\".');", + "assert(truncate(\"A-tisket a-tasket A green and yellow basket\", 11) === \"A-tisket...\", 'message: truncate(\"A-tisket a-tasket A green and yellow basket\", 11) should return \"A-tisket...\".');", "assert(truncate(\"Peter Piper picked a peck of pickled peppers\", 14) === \"Peter Piper...\", 'message: truncate(\"Peter Piper picked a peck of pickled peppers\", 14) should return \"Peter Piper...\".');", "assert(truncate(\"A-tisket a-tasket A green and yellow basket\", \"A-tisket a-tasket A green and yellow basket\".length) === \"A-tisket a-tasket A green and yellow basket\", 'message: truncate(\"A-tisket a-tasket A green and yellow basket\", \"A-tisket a-tasket A green and yellow basket\".length) should return \"A-tisket a-tasket A green and yellow basket\".');", "assert(truncate('A-tisket a-tasket A green and yellow basket', 'A-tisket a-tasket A green and yellow basket'.length + 2) === 'A-tisket a-tasket A green and yellow basket', 'message: truncate(\"A-tisket a-tasket A green and yellow basket\", \"A-tisket a-tasket A green and yellow basket\".length + 2) should return \"A-tisket a-tasket A green and yellow basket\".');" From bda4d33ee6f5c8a2ae6ff08e17a4cc9f989968f7 Mon Sep 17 00:00:00 2001 From: Florencia Tarditti Date: Mon, 5 Oct 2015 21:26:18 +0200 Subject: [PATCH 2/6] fix bootstrap fluid containers wording issue Closes #2467. --- challenges/bootstrap.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenges/bootstrap.json b/challenges/bootstrap.json index d405871390..3982fe18d5 100644 --- a/challenges/bootstrap.json +++ b/challenges/bootstrap.json @@ -9,7 +9,7 @@ "Now let's go back to our Cat Photo App. This time, we'll style it using the popular Bootstrap responsive CSS framework.", "Bootstrap will figure out how wide your screen is and respond by resizing your HTML elements - hence the name Responsive Design.", "With responsive design, there is no need to design a mobile version of your website. It will look good on devices with screens of any width.", - "You can add Bootstrap to any app just by including it with <link rel=\"stylesheet\" href=\"//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css\"/> at the top of your HTML. But we've gone ahead and automatically added it to your Cat Photo App for you.", + "You can add Bootstrap to any app just by including it with <link rel=\"stylesheet\" href=\"//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css\"/> at the top of your HTML. But we've added it for you to this page behind the scenes.", "To get started, we should nest all of our HTML in a div element with the class container-fluid." ], "tests": [ From 98c671df8aae7ba67985c7bc467d9efba74b2fcf Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Fri, 2 Oct 2015 11:47:36 -0700 Subject: [PATCH 3/6] Add certification page --- .../front-end-development-certificate.json | 17 ++++++++++++++--- .../full-stack-development-certificate.json | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/challenges/front-end-development-certificate.json b/challenges/front-end-development-certificate.json index fa0bb1ce40..ac8b53ee21 100644 --- a/challenges/front-end-development-certificate.json +++ b/challenges/front-end-development-certificate.json @@ -5,14 +5,25 @@ { "id": "561add10cb82ac38a17513be", "title": "Claim Your Front End Development Certificate", - "difficulty": 0.00, - "challengeSeed": [], + "challengeSeed": [ + { + "properties": ["isHonest", "isFrontEndCert"], + "apis": ["/certificate/honest", "/certificate/verify/front-end"], + "stepIndex": [0, 1] + } + ], "description": [ [ "http://i.imgur.com/RlEk2IF.jpg", "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", - "" + "#" + ], + [ + "http://i.imgur.com/RlEk2IF.jpg", + "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", + "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", + "#" ] ], "type": "Waypoint", diff --git a/challenges/full-stack-development-certificate.json b/challenges/full-stack-development-certificate.json index 901883aebc..bfb2f7df4a 100644 --- a/challenges/full-stack-development-certificate.json +++ b/challenges/full-stack-development-certificate.json @@ -6,13 +6,25 @@ "id": "660add10cb82ac38a17513be", "title": "Claim Your Full Stack Development Certificate", "difficulty": 0.00, - "challengeSeed": [], + "challengeSeed": [ + { + "properties": ["isHonest", "isFullStackCert"], + "apis": ["/certificate/honest", "/certificate/verify/full-stack"], + "stepIndex": [0, 1] + } + ], "description": [ [ "http://i.imgur.com/RlEk2IF.jpg", "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", - "" + "#" + ], + [ + "http://i.imgur.com/RlEk2IF.jpg", + "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", + "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", + "#" ] ], "type": "Waypoint", From 838171acdfa375a246ae767fbb69ba88f673870e Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Mon, 5 Oct 2015 17:18:35 -0700 Subject: [PATCH 4/6] update copy of certificate flows --- .../front-end-development-certificate.json | 26 ++++++++++++++----- .../full-stack-development-certificate.json | 26 ++++++++++++++----- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/challenges/front-end-development-certificate.json b/challenges/front-end-development-certificate.json index ac8b53ee21..351809e702 100644 --- a/challenges/front-end-development-certificate.json +++ b/challenges/front-end-development-certificate.json @@ -9,21 +9,33 @@ { "properties": ["isHonest", "isFrontEndCert"], "apis": ["/certificate/honest", "/certificate/verify/front-end"], - "stepIndex": [0, 1] + "stepIndex": [1, 2] } ], "description": [ [ - "http://i.imgur.com/RlEk2IF.jpg", - "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", - "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", + "http://i.imgur.com/luMkKst.jpg", + "An image of our Front End Development Certificate", + "This challenge will give you your verified Front End Development Certificate. Before we issue your certificate, we must verify that you have completed all of our basic and intermediate Bonfires, and all our basic and intermediate Ziplines. You must also accept our Academic Honesty Pledge. Click the button below to start this process.", + "" + ], + [ + "http://i.imgur.com/HArFfMN.jpg", + "The definition of plagiarism: Plagiarism (noun) - copying someone else’s work and presenting it as your own without crediting them", + "By clicking below, you pledge that all of your submitted code A) is code you or your pair personally wrote, or B) comes from open source libraries like jQuery, or C) has been clearly attributed to its original authors. You also give us permission to audit your challenge solutions and revoke your certificate if we discover evidence of plagiarism.", "#" ], [ - "http://i.imgur.com/RlEk2IF.jpg", - "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", - "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", + "http://i.imgur.com/14F2Van.jpg", + "An image of the text \"Front End Development Certificate requirements\"", + "Let's confirm that you have completed all of our basic and intermediate Bonfires, and all our basic and intermediate Ziplines. Click the button below to verify this.", "#" + ], + [ + "http://i.imgur.com/16SIhHO.jpg", + "An image of the word \"Congratulations\"", + "Congratulations! We've added your Front End Development Certificate to your certificate to your portfolio page. Unless you choose to hide your solutions, this certificate will remain publicly visible and verifiable.", + "" ] ], "type": "Waypoint", diff --git a/challenges/full-stack-development-certificate.json b/challenges/full-stack-development-certificate.json index bfb2f7df4a..7ae95c94e7 100644 --- a/challenges/full-stack-development-certificate.json +++ b/challenges/full-stack-development-certificate.json @@ -10,21 +10,33 @@ { "properties": ["isHonest", "isFullStackCert"], "apis": ["/certificate/honest", "/certificate/verify/full-stack"], - "stepIndex": [0, 1] + "stepIndex": [1, 2] } ], "description": [ [ - "http://i.imgur.com/RlEk2IF.jpg", - "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", - "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", + "http://i.imgur.com/qXublEe.jpg", + "An image of our Full Stack Development Certificate", + "This challenge will give you your verified Full Stack Development Certificate. Before we issue your certificate, we must verify that you have completed all of Bonfires, Ziplines and Basejumps. You must also accept our Academic Honesty Pledge. Click the button below to start this process.", + "" + ], + [ + "http://i.imgur.com/HArFfMN.jpg", + "The definition of plagiarism: Plagiarism (noun) - copying someone else’s work and presenting it as your own without crediting them", + "By clicking below, you pledge that all of your submitted code A) is code you or your pair personally wrote, or B) comes from open source libraries like jQuery, or C) has been clearly attributed to its original authors. You also give us permission to audit your challenge solutions and revoke your certificate if we discover evidence of plagiarism.", "#" ], [ - "http://i.imgur.com/RlEk2IF.jpg", - "a picture of Free Code Camp's 4 benefits: Get connected, Learn JavaScript, Build your Portfolio, Help nonprofits", - "Welcome to Free Code Camp. We're an open source community of busy people who learn to code and help nonprofits.", + "http://i.imgur.com/2qn7tHp.jpg", + "An image of the text \"Full Stack Development Certificate requirements\"", + "Let's confirm that you have completed all of our Bonfires, Ziplines and Basejumps. Click the button below to verify this.", "#" + ], + [ + "http://i.imgur.com/16SIhHO.jpg", + "An image of the word \"Congratulations\"", + "Congratulations! We've added your Full Stack Development Certificate to your certificate to your portfolio page. Unless you choose to hide your solutions, this certificate will remain publicly visible and verifiable.", + "" ] ], "type": "Waypoint", From 030c85827428ddd9ea8b11cc63b2f4fb73ed0a3e Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Fri, 2 Oct 2015 23:58:22 -0700 Subject: [PATCH 5/6] minor improvements to onboarding and create skeleton commit page --- challenges/getting-started.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenges/getting-started.json b/challenges/getting-started.json index c35c3541f8..23b43e6b59 100644 --- a/challenges/getting-started.json +++ b/challenges/getting-started.json @@ -242,7 +242,7 @@ [ "", "", - "Free Code Camp will always be free. If you want to feel more motivated to earn our certificates faster, we encourage you to instead donate each month to a nonprofit.", + "Free Code Camp will always be free. If you want to feel more motivated to earn our certificates faster, we encourage you to instead pledge to donate to a nonprofit each day.", "" ] ], From 39b4a73efb991f30dbf5c9cc0e46741c55dc3e7c Mon Sep 17 00:00:00 2001 From: ahstro Date: Tue, 6 Oct 2015 10:27:29 +0200 Subject: [PATCH 6/6] 'Regular Expressions'-waypoint improvements * Remove unnecessary `i`-flag from tests and test messages, e.g. `/\s+/gi` => `/\s+/g` * Remove dupliate backslashes from regex test messages, e.g. `/\\s+/g` => `/\s+/g` The two backslashes were probably just an accident caused by how multiple escapes are necessary with the current way tests are handled. The `i`-flag was just unnecessary since its purpose is to ignore the case of alphabetic characters. --- challenges/basic-javascript.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/challenges/basic-javascript.json b/challenges/basic-javascript.json index c10af0def1..82a0430852 100644 --- a/challenges/basic-javascript.json +++ b/challenges/basic-javascript.json @@ -1039,7 +1039,7 @@ ], "tests":[ "assert(test === 2, 'message: Your RegEx should have found two numbers in the testString.');", - "assert(editor.getValue().match(/\\/\\\\d\\+\\//gi), 'message: You should be using the following expression /\\\\d+/gi to find the numbers in the testString.');" + "assert(editor.getValue().match(/\\/\\\\d\\+\\//g), 'message: You should be using the following expression /\\d+/g to find the numbers in the testString.');" ], "challengeSeed":[ "var test = (function() {", @@ -1047,7 +1047,7 @@ "", " // Only change code below this line.", "", - " var expression = /.+/gi;", + " var expression = /.+/g;", "", " // Only change code above this line.", " // We use this function to show you the value of your variable in your output box.", @@ -1069,7 +1069,7 @@ ], "tests":[ "assert(test === 7, 'message: Your RegEx should have found seven spaces in the testString.');", - "assert(editor.getValue().match(/\\/\\\\s\\+\\//gi), 'message: You should be using the following expression /\\\\s+/gi to find the spaces in the testString.');" + "assert(editor.getValue().match(/\\/\\\\s\\+\\//g), 'message: You should be using the following expression /\\s+/g to find the spaces in the testString.');" ], "challengeSeed":[ "var test = (function(){", @@ -1077,7 +1077,7 @@ "", " // Only change code below this line.", "", - " var expression = /.+/gi;", + " var expression = /.+/g;", "", " // Only change code above this line.", " // We use this function to show you the value of your variable in your output box.", @@ -1092,12 +1092,12 @@ "title": "Invert Regular Expression Matches with JavaScript", "difficulty":"9.987", "description":[ - "Use /\\S/gi to match everything that isn't a space in the string.", + "Use /\\S/g to match everything that isn't a space in the string.", "You can invert any match by using the uppercase version of the selector \\s versus \\S for example." ], "tests":[ "assert(test === 49, 'message: Your RegEx should have found forty nine non-space characters in the testString.');", - "assert(editor.getValue().match(/\\/\\\\S\\/gi/gi), 'message: You should be using the following expression /\\\\S/gi to find non-space characters in the testString.');" + "assert(editor.getValue().match(/\\/\\\\S\\/g/g), 'message: You should be using the following expression /\\S/g to find non-space characters in the testString.');" ], "challengeSeed":[ "var test = (function(){", @@ -1105,7 +1105,7 @@ "", " // Only change code below this line.", "", - " var expression = /./gi;", + " var expression = /./g;", "", " // Only change code above this line.", " // We use this function to show you the value of your variable in your output box.",