diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 44811c8d92..ea5084d13a 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -20,10 +20,9 @@ * Mobile, Desktop, or Tablet: #### Your Code - + ```js -// If relevant, paste all of your challenge code in here - + ``` #### Screenshot diff --git a/client/main.js b/client/main.js index 4f868452d7..07f5d25427 100644 --- a/client/main.js +++ b/client/main.js @@ -101,6 +101,7 @@ main = (function(main, global) { if (!(event.ctrlKey || event.metaKey)) { toggleMainChat(); } + window.ga('send', 'event', 'NAV', 'NAV-CHAT', 'Nav Chat Button Clicked'); }); function showMainChat() { diff --git a/seed/challenges/01-front-end-development-certification/basic-bonfires.json b/seed/challenges/01-front-end-development-certification/basic-bonfires.json index 006cd80bdc..c6928f88cb 100644 --- a/seed/challenges/01-front-end-development-certification/basic-bonfires.json +++ b/seed/challenges/01-front-end-development-certification/basic-bonfires.json @@ -202,6 +202,7 @@ "Un palíndromo es una palabra u oración que se escribe de la misma forma en ambos sentidos, sin tomar en cuenta signos de puntuación, espacios y sin distinguir entre mayúsculas y minúsculas.", "Tendrás que quitar los caracteres no alfanuméricos (signos de puntuación, espacioes y símbolos) y transformar las letras a minúsculas para poder verificar si el texto es palíndromo.", "Te proveeremos textos en varios formatos, como \"racecar\", \"RaceCar\", and \"race CAR\" entre otros.", + "También vamos a pasar cadenas con símbolos especiales, tales como \"2A3*3a2\", \"2A3 3a2\", y \"2_A3*3#A2\".", "Recuerda utilizar Leer-Buscar-Preguntar si te sientes atascado. Intenta programar en pareja. Escribe tu propio código." ] }, diff --git a/seed/challenges/01-front-end-development-certification/basic-javascript.json b/seed/challenges/01-front-end-development-certification/basic-javascript.json index 95339cd20b..90454cbd69 100644 --- a/seed/challenges/01-front-end-development-certification/basic-javascript.json +++ b/seed/challenges/01-front-end-development-certification/basic-javascript.json @@ -3602,12 +3602,12 @@ "id": "56533eb9ac21ba0edf2244e0", "title": "Replacing If Else Chains with Switch", "description": [ - "If you have many options to choose from, a switch statement can be easier to write than many chained if/if else statements. The following:", + "If you have many options to choose from, a switch statement can be easier to write than many chained if/else if statements. The following:", "
if (val === 1) {
answer = \"a\";
} else if (val === 2) {
answer = \"b\";
} else {
answer = \"c\";
}
", "can be replaced with:", "
switch (val) {
case 1:
answer = \"a\";
break;
case 2:
answer = \"b\";
break;
default:
answer = \"c\";
}
", "

Instructions

", - "Change the chained if/if else statements into a switch statement." + "Change the chained if/else if statements into a switch statement." ], "releasedOn": "January 1, 2016", "challengeSeed": [ @@ -4527,7 +4527,7 @@ "Always return the entire collection object.", "Hints
Use bracket notation when accessing object properties with variables.", "Push is an array method you can read about on Mozilla Developer Network.", - "You may refer back to Introducing JavaScript Object Notation (JSON) for a refresher." + "You may refer back to Manipulating Complex ObjectsIntroducing JavaScript Object Notation (JSON) for a refresher." ], "releasedOn": "January 1, 2016", "challengeSeed": [ @@ -4582,6 +4582,7 @@ "assert(updateRecords(5439, \"tracks\", \"Take a Chance on Me\")[5439][\"tracks\"].pop() === \"Take a Chance on Me\", 'message: After updateRecords(5439, \"tracks\", \"Take a Chance on Me\"), tracks should have \"Take a Chance on Me\" as the last element.');", "updateRecords(2548, \"artist\", \"\"); assert(!collection[2548].hasOwnProperty(\"artist\"), 'message: After updateRecords(2548, \"artist\", \"\"), artist should not be set');", "assert(updateRecords(1245, \"tracks\", \"Addicted to Love\")[1245][\"tracks\"].pop() === \"Addicted to Love\", 'message: After updateRecords(1245, \"tracks\", \"Addicted to Love\"), tracks should have \"Addicted to Love\" as the last element.');", + "assert(updateRecords(2468, \"tracks\", \"Free\")[2468][\"tracks\"][0] === \"1999\", 'message: After updateRecords(2468, \"tracks\", \"Free\"), tracks should have \"1999\" as the first element.');", "updateRecords(2548, \"tracks\", \"\"); assert(!collection[2548].hasOwnProperty(\"tracks\"), 'message: After updateRecords(2548, \"tracks\", \"\"), tracks should not be set');" ], "type": "checkpoint", diff --git a/seed/challenges/01-front-end-development-certification/object-oriented-and-functional-programming.json b/seed/challenges/01-front-end-development-certification/object-oriented-and-functional-programming.json index ad7e1188c8..992908b0a7 100644 --- a/seed/challenges/01-front-end-development-certification/object-oriented-and-functional-programming.json +++ b/seed/challenges/01-front-end-development-certification/object-oriented-and-functional-programming.json @@ -350,6 +350,7 @@ "description": [ "The array method reduce is used to iterate through an array and condense it into one value.", "To use reduce you pass in a callback whose arguments are an accumulator (in this case, previousVal) and the current value (currentVal).", + "The accumulator is like a total that reduce keeps track of after each operation. The current value is just the next element in the array you're iterating through.", "reduce has an optional second argument which can be used to set the initial value of the accumulator. If no initial value is specified it will be the first array element and currentVal will start with the second array element.", "Here is an example of reduce being used to subtract all the values of an array:", "
var singleVal = array.reduce(function(previousVal, currentVal) {
  return previousVal - currentVal;
}, 0);
", diff --git a/seed/challenges/03-back-end-development-certification/api-projects.json b/seed/challenges/03-back-end-development-certification/api-projects.json index fabd77cff4..e556716751 100644 --- a/seed/challenges/03-back-end-development-certification/api-projects.json +++ b/seed/challenges/03-back-end-development-certification/api-projects.json @@ -231,7 +231,7 @@ "You can get feedback on your project by sharing it with your friends on Facebook." ], "challengeSeed": [ - "0oqjSkGoHg" + "_0oqjSkGoHg" ], "tests": [], "isRequired": true, diff --git a/server/views/partials/navbar.jade b/server/views/partials/navbar.jade index 305fb9e179..d165c024fd 100644 --- a/server/views/partials/navbar.jade +++ b/server/views/partials/navbar.jade @@ -24,7 +24,7 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height li a(href='/about') About li - a(href='/shop') Shop + a(href='/shop', target='_blank') Shop if !user li a(href='/signin') Sign in diff --git a/server/views/resources/about.jade b/server/views/resources/about.jade index 792a414ce7..9d6979d123 100644 --- a/server/views/resources/about.jade +++ b/server/views/resources/about.jade @@ -77,7 +77,7 @@ block content td.text-center i.fa.fa-facebook td - a(href="//facebook.com/freecodecamp") Our Facebook page + a(href="//facebook.com/freecodecamp", target='_blank') Our Facebook page tr td.text-center i.fa.fa-reddit @@ -167,7 +167,7 @@ block content

Can I invest in Free Code Camp?

We're self-funded and don't want outside investment.

Can I donate to Free Code Camp?

-

We don’t accept donations. Instead, you should support us through our shop.

+

We don’t accept donations. Instead, you should support us through our shop.

.spacer .row