From c113c72082667a150a973c137510fb1d591d32e2 Mon Sep 17 00:00:00 2001 From: Rex Schrader Date: Sat, 20 Jun 2015 22:09:21 -0700 Subject: [PATCH 1/6] Fix missing semicolon in Symmetric Differences test The first test of Symmetric Differences is broken because it was missing a semicolon, making it impossible to pass. --- seed_data/challenges/advanced-bonfires.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/advanced-bonfires.json b/seed_data/challenges/advanced-bonfires.json index 027a573200..8d62e77f47 100644 --- a/seed_data/challenges/advanced-bonfires.json +++ b/seed_data/challenges/advanced-bonfires.json @@ -79,7 +79,7 @@ "sym([1, 2, 3], [5, 2, 1, 4]);" ], "tests": [ - "expect(sym([1, 2, 3], [5, 2, 1, 4])).to.eqls([3, 5, 4])", + "expect(sym([1, 2, 3], [5, 2, 1, 4])).to.eqls([3, 5, 4]);", "assert.deepEqual(sym([1, 2, 5], [2, 3, 5], [3, 4, 5]), [1, 4, 5], 'should return the symmetric difference of the given arrays');", "assert.deepEqual(sym([1, 1, 2, 5], [2, 2, 3, 5], [3, 4, 5, 5]), [1, 4, 5], 'should return an array of unique values');", "assert.deepEqual(sym([1, 1]), [1], 'should return an array of unique values');" From 1a502b169654ad7c3b828a34e7bc2630b549d8d1 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Sat, 20 Jun 2015 23:00:19 -0700 Subject: [PATCH 2/6] hotfix for production gitter change --- .gitignore | 2 +- seed_data/challenges/basic-bonfires.json | 2 +- .../challenges/get-set-for-free-code-camp.json | 16 +++++++++------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 2906662140..d808277441 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ lib-cov .floo .flooignore builtAssets/ - +pm2.js *.env pids logs diff --git a/seed_data/challenges/basic-bonfires.json b/seed_data/challenges/basic-bonfires.json index 5c62a354b1..a40b1f917b 100644 --- a/seed_data/challenges/basic-bonfires.json +++ b/seed_data/challenges/basic-bonfires.json @@ -1078,7 +1078,7 @@ ], "tests": [ "assert.strictEqual(convert('Dolce & Gabbana'), 'Dolce & Gabbana', 'should escape characters');", - "assert.strictEqual('Submit', '<input type="submit">Submit</input>', 'should escape characters');", + "assert.strictEqual('<>', '<>', 'should escape characters');", "assert.strictEqual(convert('abc'), 'abc', 'should handle strings with nothing to escape');" ], "MDNlinks": [ diff --git a/seed_data/challenges/get-set-for-free-code-camp.json b/seed_data/challenges/get-set-for-free-code-camp.json index 7518ea9f10..d3f5102f29 100644 --- a/seed_data/challenges/get-set-for-free-code-camp.json +++ b/seed_data/challenges/get-set-for-free-code-camp.json @@ -43,18 +43,20 @@ "_id": "bd7125d8c441eddfaeb5bd0f", "name": "Waypoint: Join Our Chat Room", "difficulty": 0.002, - "challengeSeed": "124555254", + "challengeSeed": ["131321596"], "description": [ "Now we're going to join the Free Code Camp chat room. You can come here any time of day to hang out, ask questions, or find another camper to pair program with.", - "Make sure your Free Code Camp account includes your email address. Please note that the email address you use will be invisible to the public, but Slack will make it visible to other campers in our slack chat rooms. You can do this here: http://freecodecamp.com/account.", - "Click this link, which will email you can invite to Free Code Camp's Slack chat rooms: http://freecodecamp.com/api/slack.", - "Now check your email and click the link in the email from Slack.", - "Complete the sign up process, then update your biographical information and upload an image. A picture of your face works best. This is how people will see you in our chat rooms, so put your best foot forward.", - "Now enter the General chat room and introduce yourself to our chat room by typing: \"Hello world!\".", + "Create an account with GitHub here: https://github.com/join.", + "Click the pixel art in the upper right hand corner of GitHub, then choose settings. Upload a picture of yourself. A picture of your face works best. This is how people will see you in our chat rooms, so put your best foot forward. You can add your city and your personal website if you have one.", + "Now follow this link to enter our Welcome chat room: https://gitter.im/FreeCodeCamp/welcome.", + "Once you're in our Welcome chat room, introduce yourself by saying : \"Hello world!\".", "Tell your fellow campers how you found Free Code Camp. Also tell us why you want to learn to code.", + "This is the best room for new campers, but feel free to join other chat rooms as well. Our main chat room: https://gitter.im/FreeCodeCamp/FreeCodeCamp.", "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: http://freecodecamp.com/field-guide/what-is-the-free-code-camp-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, "tests": [], From c2d36522724b06e9c4f6d785af66a52bcc8c9ba8 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Sat, 20 Jun 2015 23:07:49 -0700 Subject: [PATCH 3/6] fix navbar for gitter --- views/partials/navbar.jade | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/views/partials/navbar.jade b/views/partials/navbar.jade index 2cacd3fc32..93b49da0ae 100644 --- a/views/partials/navbar.jade +++ b/views/partials/navbar.jade @@ -13,12 +13,8 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height a(href='/challenges') Learn li a(href='/map') Map - if (user && user.sentSlackInvite) - li - a(href='/chat', target='_blank') Chat - else - li - a(href='/challenges/waypoint-join-our-chat-room') Chat + li + a(href='//gitter.im/FreeCodeCamp/FreeCodeCamp', target='_blank') Chat li a(href='/news') News li From 9f1b6c58a5c630ba535f6dc8a411b5a89e2751ce Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Sat, 20 Jun 2015 23:16:45 -0700 Subject: [PATCH 4/6] fix /chat should go to gitter --- controllers/resources.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/controllers/resources.js b/controllers/resources.js index 0bf414954b..9101f82edf 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -231,13 +231,7 @@ module.exports = { }, chat: function chat(req, res) { - if (req.user && req.user.progressTimestamps.length > 5) { - res.redirect('http://freecodecamp.slack.com'); - } else { - res.render('resources/chat', { - title: 'Watch us code live on Twitch.tv' - }); - } + res.redirect('//gitter.im/FreeCodeCamp/FreeCodeCamp'); }, jobsForm: function jobsForm(req, res) { From 738afa817cf0e2bcf79c6c7634a9816e8169044f Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Tue, 23 Jun 2015 08:10:20 -0700 Subject: [PATCH 5/6] update challenge copy --- .../get-set-for-free-code-camp.json | 38 +++++++++++++++++-- views/challengeMap/show.jade | 36 +++++++++--------- 2 files changed, 52 insertions(+), 22 deletions(-) diff --git a/seed_data/challenges/get-set-for-free-code-camp.json b/seed_data/challenges/get-set-for-free-code-camp.json index d3f5102f29..0d16109548 100644 --- a/seed_data/challenges/get-set-for-free-code-camp.json +++ b/seed_data/challenges/get-set-for-free-code-camp.json @@ -48,10 +48,10 @@ "Now we're going to join the Free Code Camp chat room. You can come here any time of day to hang out, ask questions, or find another camper to pair program with.", "Create an account with GitHub here: https://github.com/join.", "Click the pixel art in the upper right hand corner of GitHub, then choose settings. Upload a picture of yourself. A picture of your face works best. This is how people will see you in our chat rooms, so put your best foot forward. You can add your city and your personal website if you have one.", - "Now follow this link to enter our Welcome chat room: https://gitter.im/FreeCodeCamp/welcome.", - "Once you're in our Welcome chat room, introduce yourself by saying : \"Hello world!\".", + "Join our main chat room: https://gitter.im/FreeCodeCamp/FreeCodeCamp.", + "Once you're in our chat room, introduce yourself by saying : \"Hello world!\".", "Tell your fellow campers how you found Free Code Camp. Also tell us why you want to learn to code.", - "This is the best room for new campers, but feel free to join other chat rooms as well. Our main chat room: https://gitter.im/FreeCodeCamp/FreeCodeCamp.", + "We have a busy chat room, so be sure to configure your notification settings in the top right corner.", "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.", @@ -257,10 +257,40 @@ "namePt": "", "descriptionPt": [] }, + { + "_id": "bd7126d8c431eddfaeb5bd3e", + "name": "Waypoint: Add Free Code Camp to your LinkedIn Profile", + "difficulty": 0.008, + "challengeSeed": "127358841", + "description": [ + "LinkedIn is a critical tool for your job search later on.", + "Add Free Code Camp to your LinkedIn profile by going to https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp.", + "Estimate your dates. Keep in mind that Free Code Camp is a rigorous 1,600 hour program, and will probably take at least a year to complete.", + "In the \"Degree\" section, type \"Full Stack Web Development\".", + "In the \"Field of study\" section, type \"Computer Software Engineering\".", + "Click the \"Save Changes\" button.", + "Be sure to add your key word skills to LinkedIn's skills section as you learn them, such as HTML, jQuery, Linux and Node.js.", + "You can expand your LinkedIn network by inviting friends you meet through Free Code Camp to connect with you on LinkedIn.", + "Make your LinkedIn profile as complete as possible. Unlike other social networks, with LinkedIn, it's perfectly fine if you don't want to add a photo.", + "Let's keep moving. We're almost ready to start coding!" + ], + "challengeType": 2, + "tests": [], + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] + }, { "_id": "bd7137d8c441eddfaeb5bdef", "name": "Waypoint: Get Help the Hacker Way with RSAP", - "difficulty": 0.008, + "difficulty": 0.009, "challengeSeed": "125407432", "description": [ "Let's cover one last thing before you start working through our lessons: how to get help.", diff --git a/views/challengeMap/show.jade b/views/challengeMap/show.jade index 594793fbc2..173f58d7c4 100644 --- a/views/challengeMap/show.jade +++ b/views/challengeMap/show.jade @@ -83,21 +83,21 @@ block content li.large-p.negative-10 a(href="/challenges/#{challenge.name}")= challenge.name - #announcementModal.modal(tabindex='-1') - .modal-dialog.animated.fadeInUp.fast-animation - .modal-content - .modal-header.challenge-list-header Add us to your LinkedIn profile - a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') × - .modal-body - h3.text-left LinkedIn now recognizes Free Code Camp as a university. - img.img-responsive.img-center(src='https://www.evernote.com/l/AHTzkHwtg-BHj57bqqDL7WFF8WgrI5V8cxwB/image.png') - h3.text-left It takes less than a minute to add Free Code Camp to your LinkedIn profile. - a.btn.btn-lg.btn-info.btn-block(name='_csrf', value=_csrf, aria-hidden='true', href='/linkedin', target='_blank') Show me how to do this - a.btn.btn-lg.btn-primary.btn-block(href='#', data-dismiss='modal', aria-hidden='true') Thanks for the heads-up - script. - $(document).ready(function () { - if (!localStorage || !localStorage.linkedIn) { - $('#announcementModal').modal('show'); - localStorage.linkedIn = "true"; - } - }); + //#announcementModal.modal(tabindex='-1') + // .modal-dialog.animated.fadeInUp.fast-animation + // .modal-content + // .modal-header.challenge-list-header Add us to your LinkedIn profile + // a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') × + // .modal-body + // h3.text-left LinkedIn now recognizes Free Code Camp as a university. + // img.img-responsive.img-center(src='https://www.evernote.com/l/AHTzkHwtg-BHj57bqqDL7WFF8WgrI5V8cxwB/image.png') + // h3.text-left It takes less than a minute to add Free Code Camp to your LinkedIn profile. + // a.btn.btn-lg.btn-info.btn-block(name='_csrf', value=_csrf, aria-hidden='true', href='/linkedin', target='_blank') Show me how to do this + // a.btn.btn-lg.btn-primary.btn-block(href='#', data-dismiss='modal', aria-hidden='true') Thanks for the heads-up + //script. + // $(document).ready(function () { + // if (!localStorage || !localStorage.linkedIn) { + // $('#announcementModal').modal('show'); + // localStorage.linkedIn = "true"; + // } + // }); From 135047027af493c0dc964dfa165d531089447ec3 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Tue, 23 Jun 2015 11:42:27 -0700 Subject: [PATCH 6/6] add new field guides and challenges --- public/js/main_0.0.2.js | 6 +++--- seed_data/challenges/get-set-for-free-code-camp.json | 11 +++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/public/js/main_0.0.2.js b/public/js/main_0.0.2.js index 69a8dfcff2..d21a077ed8 100644 --- a/public/js/main_0.0.2.js +++ b/public/js/main_0.0.2.js @@ -30,7 +30,7 @@ $(document).ready(function() { }, function(res) { if (res) { - window.open('https://freecodecamp.slack.com/messages/help/', '_blank') + window.open('https://gitter.im/FreeCodeCamp/Help', '_blank') } } ); @@ -48,7 +48,7 @@ $(document).ready(function() { }, function(res) { if (res) { - window.open('https://freecodecamp.slack.com/messages/help/', '_blank') + window.open('https://gitter.im/FreeCodeCamp/Help', '_blank') } } ); @@ -71,7 +71,7 @@ $(document).ready(function() { }, function(res) { if (res) { - window.open('https://freecodecamp.slack.com/messages/letspair/', '_blank') + window.open('https://gitter.im/FreeCodeCamp/LetsPair', '_blank') } } ); diff --git a/seed_data/challenges/get-set-for-free-code-camp.json b/seed_data/challenges/get-set-for-free-code-camp.json index 0d16109548..b5d9712946 100644 --- a/seed_data/challenges/get-set-for-free-code-camp.json +++ b/seed_data/challenges/get-set-for-free-code-camp.json @@ -43,11 +43,14 @@ "_id": "bd7125d8c441eddfaeb5bd0f", "name": "Waypoint: Join Our Chat Room", "difficulty": 0.002, - "challengeSeed": ["131321596"], + "challengeSeed": ["131574135"], "description": [ "Now we're going to join the Free Code Camp chat room. You can come here any time of day to hang out, ask questions, or find another camper to pair program with.", "Create an account with GitHub here: https://github.com/join.", "Click the pixel art in the upper right hand corner of GitHub, then choose settings. Upload a picture of yourself. A picture of your face works best. This is how people will see you in our chat rooms, so put your best foot forward. You can add your city and your personal website if you have one.", + "Go to Free Code Camp's open-source repository: https://github.com/freecodecamp/freecodecamp.", + "You can \"star\" this repository by clicking the star button in the upper right hand corner.", + "Later, you'll be able to fork this repository if you'd like to contribute to our open source codebase.", "Join our main chat room: https://gitter.im/FreeCodeCamp/FreeCodeCamp.", "Once you're in our chat room, introduce yourself by saying : \"Hello world!\".", "Tell your fellow campers how you found Free Code Camp. Also tell us why you want to learn to code.", @@ -227,7 +230,7 @@ "challengeSeed": "127358841", "description": [ "One of the best ways to stay motivated when learning to code is to hang out with other campers.", - "Slack and Camper News are great ways to communicate with other campers, but there's no substitute for meeting people in-person.", + "Our chat room 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.", "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.", @@ -261,7 +264,7 @@ "_id": "bd7126d8c431eddfaeb5bd3e", "name": "Waypoint: Add Free Code Camp to your LinkedIn Profile", "difficulty": 0.008, - "challengeSeed": "127358841", + "challengeSeed": "131574134", "description": [ "LinkedIn is a critical tool for your job search later on.", "Add Free Code Camp to your LinkedIn profile by going to https://www.linkedin.com/profile/edit-education?school=Free+Code+Camp.", @@ -297,7 +300,7 @@ "Any time you get stuck or don't know what to do next, follow this simple algorithm (procedure): RSAP (Read, Search, Ask, Post).", "First, R - Read the documentation or error message. A key skill that good coders have is the ability to interpret and then follow instructions.", "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://freecodecamp.slack.com/messages/help/. Keep this chat open while you work on the remaining challenges.", + "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 field guide on getting help: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.", "Now you have a clear algorithm to follow when you need help! Let's start coding! Move on to your next challenge."