add multi-lingual placeholders and update announcement modal
This commit is contained in:
@ -16,7 +16,17 @@ var challengeSchema = new mongoose.Schema({
|
||||
tests: Array,
|
||||
challengeSeed: Array,
|
||||
challengeType: Number, // 0 = html, 1 = javascript only, 2 = video, 3 = zipline, 4 = basejump
|
||||
MDNlinks: Array
|
||||
MDNlinks: Array,
|
||||
nameCn: String,
|
||||
descriptionCn: Array,
|
||||
nameFr: String,
|
||||
descriptionFr: Array,
|
||||
nameRu: String,
|
||||
descriptionRu: Array,
|
||||
nameEs: String,
|
||||
descriptionEs: Array,
|
||||
namePt: String,
|
||||
descriptionPt: Array
|
||||
});
|
||||
|
||||
module.exports = mongoose.model('Challenge', challengeSchema);
|
||||
|
@ -47,8 +47,20 @@
|
||||
"",
|
||||
"telephoneCheck(\"555-555-5555\");"
|
||||
],
|
||||
"MDNlinks" : ["RegExp"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"RegExp"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a3f503de51cf954ede28891d",
|
||||
@ -72,15 +84,30 @@
|
||||
"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');"
|
||||
],
|
||||
"MDNlinks" : ["Array.reduce()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.reduce()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "aa2e6f85cab2ab736c9a9b24",
|
||||
"name": "Bonfire: Exact Change",
|
||||
"difficulty": "4.03",
|
||||
"description": [
|
||||
"Design a cash register drawer function that accepts purchase price as the first argument, payment as the second argument, and cash-in-drawer (cid) as the third argument.", "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.",
|
||||
"Design a cash register drawer function that accepts purchase price as the first argument, payment as the second argument, and cash-in-drawer (cid) as the third argument.",
|
||||
"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 <a href='/field-guide/how-do-i-get-help-when-I-get-stuck'>RSAP</a> if you get stuck. Try to pair program. Write your own code."
|
||||
],
|
||||
"challengeSeed": [
|
||||
@ -112,8 +139,20 @@
|
||||
"assert.deepEqual(drawer(19.50, 20.00, [['PENNY', 0.01], ['NICKEL', 0], ['DIME', 0], ['QUARTER', 0], ['ONE', 0], ['FIVE', 0], ['TEN', 0], ['TWENTY', 0], ['ONE HUNDRED', 0]]), 'Insufficient Funds', 'insufficient funds');",
|
||||
"assert.deepEqual(drawer(19.50, 20.00, [['PENNY', 0.50], ['NICKEL', 0], ['DIME', 0], ['QUARTER', 0], ['ONE', 0], ['FIVE', 0], ['TEN', 0], ['TWENTY', 0], ['ONE HUNDRED', 0]]), \"Closed\", 'cash-in-drawer equals change');"
|
||||
],
|
||||
"MDNlinks" : ["Global Object"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Global Object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a56138aff60341a09ed6c480",
|
||||
@ -154,8 +193,20 @@
|
||||
"assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[67, 'Bowling Ball'], [2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [7, 'Toothpaste']]);",
|
||||
"assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair Pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [0, 'Dirty Sock'], [1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [0, 'Microphone'], [1, 'Toothpaste']]);"
|
||||
],
|
||||
"MDNlinks" : ["Global Array Object"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Global Array Object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a7bf700cd123b9a54eef01d5",
|
||||
@ -182,8 +233,21 @@
|
||||
"expect(permAlone('abfdefa')).to.equal(2640);",
|
||||
"expect(permAlone('zzzzzzzz')).to.equal(0);"
|
||||
],
|
||||
"MDNlinks" : ["Permutations", "RegExp"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Permutations",
|
||||
"RegExp"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a19f0fbe1872186acd434d5a",
|
||||
@ -212,8 +276,22 @@
|
||||
"assert.deepEqual(friendly(['2017-01-01', '2017-01-01']), ['January 1st, 2017'], 'since we do not duplicate only return once');",
|
||||
"assert.deepEqual(friendly(['2022-09-05', '2023-09-04']), ['September 5th, 2022','September 4th, 2023']);"
|
||||
],
|
||||
"MDNlinks": ["String.split()", "String.substr()", "parseInt()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.split()",
|
||||
"String.substr()",
|
||||
"parseInt()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -86,7 +86,17 @@
|
||||
"If you'd like immediate feedback on your project, click this button and paste in a link to your Heroku project. Otherwise, we'll review it before you start your nonprofit projects.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 4,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c443eddfaeb5bdff",
|
||||
@ -107,7 +117,17 @@
|
||||
"If you'd like immediate feedback on your project, click this button and paste in a link to your Heroku project. Otherwise, we'll review it before you start your nonprofit projects.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 4,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c443eddfaeb5bd0e",
|
||||
@ -128,7 +148,17 @@
|
||||
"If you'd like immediate feedback on your project, click this button and paste in a link to your Heroku project. Otherwise, we'll review it before you start your nonprofit projects.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 4,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c443eddfaeb5bd0f",
|
||||
@ -149,7 +179,17 @@
|
||||
"If you'd like immediate feedback on your project, click this button and paste in a link to your Heroku project. Otherwise, we'll review it before you start your nonprofit projects.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 4,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c443eddfaeb5bdee",
|
||||
@ -173,7 +213,17 @@
|
||||
"If you'd like immediate feedback on your project, click this button and paste in a link to your Heroku project. Otherwise, we'll review it before you start your nonprofit projects.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 4,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -27,7 +27,17 @@
|
||||
"Mark this Waypoint complete and move on."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "ad7123c8c441eddfaeb5bdef",
|
||||
@ -56,7 +66,17 @@
|
||||
"",
|
||||
"meetBonfire(\"You can do this!\");"
|
||||
],
|
||||
"challengeType": 5
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a202eed8fc186c8434cb6d61",
|
||||
@ -81,8 +101,23 @@
|
||||
"",
|
||||
"reverseString('hello');"
|
||||
],
|
||||
"MDNlinks": ["Global String Object", "String.split()", "Array.reverse()", "Array.join()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Global String Object",
|
||||
"String.split()",
|
||||
"Array.reverse()",
|
||||
"Array.join()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a302f7aae1aa3152a5b413bc",
|
||||
@ -108,8 +143,20 @@
|
||||
"",
|
||||
"factorialize(5);"
|
||||
],
|
||||
"MDNlinks": ["Arithmetic Operators"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Arithmetic Operators"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "aaa48de84e1ecc7c742e1124",
|
||||
@ -141,8 +188,21 @@
|
||||
"",
|
||||
"palindrome(\"eye\");"
|
||||
],
|
||||
"MDNlinks": ["String.replace()", "String.toLowerCase()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.replace()",
|
||||
"String.toLowerCase()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a26cbbe9ad8655a977e1ceb5",
|
||||
@ -167,8 +227,21 @@
|
||||
"expect(findLongestWord('Google do a barrel roll')).to.equal(6);",
|
||||
"expect(findLongestWord('What is the average airspeed velocity of an unladen swallow')).to.equal(8);"
|
||||
],
|
||||
"MDNlinks": ["String.split()", "String.length"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.split()",
|
||||
"String.length"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "ab6137d4e35944e21037b769",
|
||||
@ -192,8 +265,20 @@
|
||||
"expect(titleCase(\"sHoRt AnD sToUt\")).to.equal(\"Short And Stout\");",
|
||||
"expect(titleCase(\"HERE IS MY HANDLE HERE IS MY SPOUT\")).to.equal(\"Here Is My Handle Here Is My Spout\");"
|
||||
],
|
||||
"MDNlinks": ["String.charAt()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.charAt()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a789b3483989747d63b0e427",
|
||||
@ -218,8 +303,20 @@
|
||||
"(largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]])).should.eql([5,27,39,1001]);",
|
||||
"assert(largestOfFour([[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]).should.eql([9,35,97,1000000]));"
|
||||
],
|
||||
"MDNlinks": ["Comparison Operators"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Comparison Operators"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "acda2fb1324d9b0fa741e6b5",
|
||||
@ -229,7 +326,6 @@
|
||||
"Check if a string (first argument) ends with the given target string (second argument).",
|
||||
"Remember to use <a href='/field-guide/how-do-i-get-help-when-I-get-stuck'>RSAP</a> if you get stuck. Try to pair program. Write your own code."
|
||||
],
|
||||
|
||||
"challengeSeed": [
|
||||
"function end(str, target) {",
|
||||
" // \"Never give up and good luck will find you.\"",
|
||||
@ -244,8 +340,20 @@
|
||||
"assert.strictEqual(end('He has to give me a new name', 'name'), true, 'should equal true if target equals end of string');",
|
||||
"assert.strictEqual(end('If you want to save our world, you must hurry. We dont know how much longer we can withstand the nothing', 'mountain'), false, 'should equal false if target does not equal end of string');"
|
||||
],
|
||||
"MDNlinks": ["String.substr()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.substr()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "afcc8d540bea9ea2669306b6",
|
||||
@ -268,8 +376,20 @@
|
||||
"assert.strictEqual(repeat('abc', 3), 'abcabcabc', 'should repeat a string n times');",
|
||||
"assert.strictEqual(repeat('abc', -2), '', 'should return an empty string for negative numbers');"
|
||||
],
|
||||
"MDNlinks": ["Global String Object"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Global String Object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "ac6993d51946422351508a41",
|
||||
@ -293,8 +413,20 @@
|
||||
"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', 'should not truncate if string is = length');",
|
||||
"assert.strictEqual(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', 'should not truncate if string is < length');"
|
||||
],
|
||||
"MDNlinks": ["String.slice()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.slice()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a9bd25c716030ec90084d8a1",
|
||||
@ -317,8 +449,20 @@
|
||||
"assert.deepEqual(chunk([0, 1, 2, 3, 4, 5], 3), [[0, 1, 2], [3, 4, 5]], 'should return chunked arrays');",
|
||||
"assert.deepEqual(chunk([0, 1, 2, 3, 4, 5], 4), [[0, 1, 2, 3], [4, 5]], 'should return the last chunk as remaining elements');"
|
||||
],
|
||||
"MDNlinks": ["Array.push()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.push()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "ab31c21b530c0dafa9e241ee",
|
||||
@ -341,8 +485,21 @@
|
||||
"assert.deepEqual(slasher([1, 2, 3], 0), [1, 2, 3], 'should return all elements when n < 1');",
|
||||
"assert.deepEqual(slasher([1, 2, 3], 9), [], 'should return an empty array when n >= array.length');"
|
||||
],
|
||||
"MDNlinks": ["Array.slice()", "Array.splice()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.slice()",
|
||||
"Array.splice()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "af2170cad53daa0770fabdea",
|
||||
@ -371,8 +528,20 @@
|
||||
"expect(mutation(['Mary', 'Aarmy'])).to.be.false;",
|
||||
"expect(mutation(['Alien', 'line'])).to.be.true;"
|
||||
],
|
||||
"MDNlinks": ["Array.sort()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.sort()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "adf08ec01beb4f99fc7a68f2",
|
||||
@ -396,8 +565,21 @@
|
||||
"assert.deepEqual(bouncer(['a', 'b', 'c']), ['a', 'b', 'c'], 'should return full array if no falsey elements');",
|
||||
"assert.deepEqual(bouncer([false, null, 0]), [], 'should return empty array if all elements are falsey');"
|
||||
],
|
||||
"MDNlinks": ["Boolean Objects", "Array.filter()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Boolean Objects",
|
||||
"Array.filter()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a8e512fbe388ac2f9198f0fa",
|
||||
@ -420,8 +602,22 @@
|
||||
"assert.deepEqual(where([{ first: 'Romeo', last: 'Montague' }, { first: 'Mercutio', last: null }, { first: 'Tybalt', last: 'Capulet' }], { last: 'Capulet' }), [{ first: 'Tybalt', last: 'Capulet' }], 'should return an array of objects');",
|
||||
"assert.deepEqual(where([{ 'a': 1 }, { 'a': 1 }, { 'a': 1, 'b': 2 }], { 'a': 1 }), [{ 'a': 1 }, { 'a': 1 }, { 'a': 1, 'b': 2 }], 'should return with multiples');"
|
||||
],
|
||||
"MDNlinks": ["Global Object", "Object.hasOwnProperty()", "Object.keys()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Global Object",
|
||||
"Object.hasOwnProperty()",
|
||||
"Object.keys()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a39963a4c10bc8b4d4f06d7e",
|
||||
@ -443,8 +639,21 @@
|
||||
"assert.deepEqual(destroyer([1, 2, 3, 1, 2, 3], 2, 3), [1, 1], 'should remove correct values from an array');",
|
||||
"assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1], 'should remove correct values from an array');"
|
||||
],
|
||||
"MDNlinks": ["Arguments object","Array.filter()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Arguments object",
|
||||
"Array.filter()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a24c1a4622e3c05097f71d67",
|
||||
@ -463,12 +672,24 @@
|
||||
"",
|
||||
"where([40, 60], 50);"
|
||||
],
|
||||
"MDNlinks" : ["Array.sort()"],
|
||||
"MDNlinks": [
|
||||
"Array.sort()"
|
||||
],
|
||||
"tests": [
|
||||
"expect(where([10, 20, 30, 40, 50], 35)).to.equal(3);",
|
||||
"expect(where([10, 20, 30, 40, 50], 30)).to.equal(2);"
|
||||
],
|
||||
"challengeType": 5
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a3566b1109230028080c9345",
|
||||
@ -493,8 +714,22 @@
|
||||
"expect(sumAll([5, 10])).to.equal(45);",
|
||||
"expect(sumAll([10, 5])).to.equal(45);"
|
||||
],
|
||||
"MDNlinks": ["Math.max()", "Math.min()", "Array.reduce()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Math.max()",
|
||||
"Math.min()",
|
||||
"Array.reduce()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a5de63ebea8dbee56860f4f2",
|
||||
@ -522,9 +757,24 @@
|
||||
"assert.includeMembers(diff([1, 'calf', 3, 'piglet'], [1, 'calf', 3, 4]), ['piglet', 4], 'arrays with numbers and strings');",
|
||||
"assert.deepEqual(diff([], ['snuffleupagus', 'cookie monster', 'elmo']), ['snuffleupagus', 'cookie monster', 'elmo'], 'empty array');"
|
||||
],
|
||||
"MDNlinks" : ["Comparison Operators", "String.slice()", "Array.filter()", "Array.indexOf()", "String.concat()"],
|
||||
"challengeType": 5
|
||||
|
||||
"MDNlinks": [
|
||||
"Comparison Operators",
|
||||
"String.slice()",
|
||||
"Array.filter()",
|
||||
"Array.indexOf()",
|
||||
"String.concat()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a7f4d8f2483413a6ce226cac",
|
||||
@ -549,8 +799,22 @@
|
||||
"",
|
||||
"convert(36);"
|
||||
],
|
||||
"MDNlinks": ["Array.splice()", "Array.indexOf()", "Array.join()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.splice()",
|
||||
"Array.indexOf()",
|
||||
"Array.join()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a0b5010f579e69b815e7c5d6",
|
||||
@ -578,8 +842,22 @@
|
||||
"",
|
||||
"replace(\"A quick brown fox jumped over the lazy dog\", \"jumped\", \"leaped\");"
|
||||
],
|
||||
"MDNlinks": ["Array.splice()", "String.replace()", "Array.join()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.splice()",
|
||||
"String.replace()",
|
||||
"Array.join()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "aa7697ea2477d1316795783b",
|
||||
@ -605,8 +883,24 @@
|
||||
"",
|
||||
"translate(\"consonant\");"
|
||||
],
|
||||
"MDNlinks": ["Array.indexOf()", "Array.push()", "Array.join()", "String.substr()", "String.split()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.indexOf()",
|
||||
"Array.push()",
|
||||
"Array.join()",
|
||||
"String.substr()",
|
||||
"String.split()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "afd15382cdfb22c9efe8b7de",
|
||||
@ -630,8 +924,21 @@
|
||||
"",
|
||||
"pair(\"GCG\");"
|
||||
],
|
||||
"MDNlinks": ["Array.push()", "String.split()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.push()",
|
||||
"String.split()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "af7588ade1100bde429baf20",
|
||||
@ -655,8 +962,20 @@
|
||||
"expect(fearNotLetter('abcdefghjklmno')).to.equal('i');",
|
||||
"expect(fearNotLetter('yz')).to.be.undefined;"
|
||||
],
|
||||
"MDNlinks": ["String.charCodeAt()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"String.charCodeAt()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a77dbc43c33f39daa4429b4f",
|
||||
@ -685,8 +1004,20 @@
|
||||
"assert.strictEqual(boo(NaN), false);",
|
||||
"assert.strictEqual(boo('a'), false);"
|
||||
],
|
||||
"MDNlinks": ["Boolean Objects"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Boolean Objects"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a105e963526e7de52b219be9",
|
||||
@ -710,8 +1041,20 @@
|
||||
"assert.deepEqual(unite([1, 3, 2], [5, 2, 1, 4], [2, 1]), [1, 3, 2, 5, 4], 'should return the union of the given arrays');",
|
||||
"assert.deepEqual(unite([1, 3, 2], [1, [5]], [2, [4]]), [1, 3, 2, [5], [4]], 'should not flatten nested arrays');"
|
||||
],
|
||||
"MDNlinks" : ["Array.reduce()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.reduce()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a6b0bb188d873cb2c8729495",
|
||||
@ -733,8 +1076,20 @@
|
||||
"assert.strictEqual(convert('Dolce & Gabbana'), 'Dolce & Gabbana', 'should escape characters');",
|
||||
"assert.strictEqual(convert('abc'), 'abc', 'should handle strings with nothing to escape');"
|
||||
],
|
||||
"MDNlinks": ["RegExp"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"RegExp"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a103376db3ba46b2d50db289",
|
||||
@ -759,8 +1114,21 @@
|
||||
"assert.strictEqual(spinalCase('The_Andy_Griffith_Show'), 'the-andy-griffith-show', 'should return spinal case from string with snake case');",
|
||||
"assert.strictEqual(spinalCase('Teletubbies say Eh-oh'), 'teletubbies-say-eh-oh', 'should return spinal case from string with spaces and hyphens');"
|
||||
],
|
||||
"MDNlinks": ["RegExp", "String.replace()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"RegExp",
|
||||
"String.replace()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a5229172f011153519423690",
|
||||
@ -787,8 +1155,20 @@
|
||||
"expect(sumFibs(75024)).to.equal(60696);",
|
||||
"expect(sumFibs(75025)).to.equal(135721);"
|
||||
],
|
||||
"MDNlinks": ["Remainder"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Remainder"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a3bfc1673c0526e06d3ac698",
|
||||
@ -812,8 +1192,21 @@
|
||||
"expect(sumPrimes(10)).to.equal(17);",
|
||||
"expect(sumPrimes(977)).to.equal(73156);"
|
||||
],
|
||||
"MDNlinks" : ["For Loops", "Array.push()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"For Loops",
|
||||
"Array.push()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "ae9defd7acaf69703ab432ea",
|
||||
@ -838,8 +1231,20 @@
|
||||
"expect(smallestCommons([5,1])).to.equal(60);",
|
||||
"expect(smallestCommons([1,13])).to.equal(360360);"
|
||||
],
|
||||
"MDNlinks" : ["Smallest Common Multiple"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Smallest Common Multiple"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a6e40f1041b06c996f7b2406",
|
||||
@ -861,8 +1266,20 @@
|
||||
"assert.strictEqual(find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; }), 8, 'should return first found value');",
|
||||
"assert.strictEqual(find([1, 3, 5, 9], function(num) { return num % 2 === 0; }), undefined, 'should return undefined if not found');"
|
||||
],
|
||||
"MDNlinks": ["Array.some()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.some()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a5deed1811a43193f9f1c841",
|
||||
@ -885,8 +1302,21 @@
|
||||
"expect(drop([1, 2, 3], function(n) {return n > 0; })).to.eqls([1, 2, 3]);",
|
||||
"expect(drop([1, 2, 3, 4], function(n) {return n > 5; })).to.eqls([]);"
|
||||
],
|
||||
"MDNlinks": ["Arguments object", "Array.shift()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Arguments object",
|
||||
"Array.shift()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "ab306dbdcc907c7ddfc30830",
|
||||
@ -909,8 +1339,20 @@
|
||||
"assert.deepEqual(steamroller([1, [2], [3, [[4]]]]), [1, 2, 3, 4], 'should flatten nested arrays');",
|
||||
"assert.deepEqual(steamroller([1, [], [3, [[4]]]]), [1, 3, 4], 'should work with empty arrays');"
|
||||
],
|
||||
"MDNlinks": ["Array.isArray()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.isArray()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a8d97bd4c764e91f9d2bda01",
|
||||
@ -932,9 +1374,21 @@
|
||||
"expect(binaryAgent('01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111')).to.equal(\"Aren't bonfires fun!?\");",
|
||||
"expect(binaryAgent('01001001 00100000 01101100 01101111 01110110 01100101 00100000 01000110 01110010 01100101 01100101 01000011 01101111 01100100 01100101 01000011 01100001 01101101 01110000 00100001')).to.equal(\"I love FreeCodeCamp!\");"
|
||||
],
|
||||
"MDNlinks": ["String.charCodeAt()", "String.fromCharCode()"
|
||||
"MDNlinks": [
|
||||
"String.charCodeAt()",
|
||||
"String.fromCharCode()"
|
||||
],
|
||||
"challengeType": 5
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a10d2431ad0c6a099a4b8b52",
|
||||
@ -958,8 +1412,21 @@
|
||||
"assert.strictEqual(every([{'user': 'Tinky-Winky', 'sex': 'male'}, {'user': 'Dipsy', 'sex': 'male'}, {'user': 'Laa-Laa', 'sex': 'female'}, {'user': 'Po', 'sex': 'female'}], 'sex'), true, 'should return true if predicate returns truthy for all elements in the collection');",
|
||||
"assert.strictEqual(every([{'user': 'Tinky-Winky', 'sex': 'male'}, {'user': 'Dipsy', 'sex': 'male'}, {'user': 'Laa-Laa', 'sex': 'female'}, {'user': 'Po', 'sex': 'female'}], {'sex': 'female'}), false, 'should return false if predicate returns falsey for any element in the collection');"
|
||||
],
|
||||
"MDNlinks": ["Object.hasOwnProperty()", "Object.getOwnPropertyNames()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Object.hasOwnProperty()",
|
||||
"Object.getOwnPropertyNames()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a97fd23d9b809dac9921074f",
|
||||
@ -985,8 +1452,21 @@
|
||||
"expect(add(2, '3')).to.be.undefined;",
|
||||
"expect(add(2)([3])).to.be.undefined;"
|
||||
],
|
||||
"MDNlinks": ["Global Function Object", "Arguments object"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Global Function Object",
|
||||
"Arguments object"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -21,7 +21,17 @@
|
||||
"challengeSeed": [
|
||||
"<h1>Hello</h1>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf0887a",
|
||||
@ -41,7 +51,17 @@
|
||||
"challengeSeed": [
|
||||
"<h1>Hello World</h1>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08801",
|
||||
@ -60,7 +80,17 @@
|
||||
"<h1>Hello World</h1>",
|
||||
"<h2>CatPhotoApp</h2>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aeaf08801",
|
||||
@ -80,7 +110,17 @@
|
||||
"<h2>CatPhotoApp</h2>",
|
||||
"<p>Hello Paragraph</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08802",
|
||||
@ -108,7 +148,17 @@
|
||||
"<p>Hello Paragraph</p>",
|
||||
"-->"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08804",
|
||||
@ -135,7 +185,17 @@
|
||||
"<p>Hello Paragraph</p>",
|
||||
"-->"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08833",
|
||||
@ -160,7 +220,17 @@
|
||||
"",
|
||||
"<p>Hello Paragraph</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fed1348bd9aedf08833",
|
||||
@ -186,7 +256,17 @@
|
||||
"",
|
||||
"<p>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08803",
|
||||
@ -196,7 +276,7 @@
|
||||
"Change the <code>h2</code> element's style so that its text color is red.",
|
||||
"We can do this by changing the <code>style</code> of the <code>h2</code> element.",
|
||||
"The style that is responsible for the color of an element's text is the \"color\" style.",
|
||||
"Here's how you would set your <code>h2</code> element's text color to blue: <code><h2 style=\"color: blue\">CatPhotoApp<\/h2></code>"
|
||||
"Here's how you would set your <code>h2</code> element's text color to blue: <code><h2 style=\"color: blue\">CatPhotoApp</h2></code>"
|
||||
],
|
||||
"tests": [
|
||||
"assert($('h2').css('color') === 'rgb(255, 0, 0)', 'Your h2 element should be red.')"
|
||||
@ -206,7 +286,17 @@
|
||||
"",
|
||||
"<p>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08805",
|
||||
@ -230,7 +320,17 @@
|
||||
"",
|
||||
"<p>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aecf08806",
|
||||
@ -261,7 +361,17 @@
|
||||
"",
|
||||
"<p>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aefe08806",
|
||||
@ -288,7 +398,17 @@
|
||||
"",
|
||||
"<p>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08806",
|
||||
@ -315,7 +435,17 @@
|
||||
"",
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aede08807",
|
||||
@ -345,7 +475,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08807",
|
||||
@ -378,7 +518,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08808",
|
||||
@ -417,7 +567,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08809",
|
||||
@ -460,9 +620,18 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08812",
|
||||
"name": "Waypoint: Add Images to your Website",
|
||||
@ -499,7 +668,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9acdf08812",
|
||||
@ -538,7 +717,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9bedf08813",
|
||||
@ -582,7 +771,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08814",
|
||||
@ -631,7 +830,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08815",
|
||||
@ -679,7 +888,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08816",
|
||||
@ -730,7 +949,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aede08817",
|
||||
@ -784,9 +1013,18 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08817",
|
||||
"name": "Waypoint: Make Dead Links using the Hash Symbol",
|
||||
@ -837,7 +1075,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08820",
|
||||
@ -890,7 +1138,17 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08818",
|
||||
@ -943,9 +1201,18 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08827",
|
||||
"name": "Waypoint: Create a Bulleted Unordered List",
|
||||
@ -997,9 +1264,18 @@
|
||||
"<p class='red-text'>Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.</p>",
|
||||
"<p class='red-text'>Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.</p>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08828",
|
||||
"name": "Waypoint: Create an Ordered List",
|
||||
@ -1057,9 +1333,18 @@
|
||||
" <li>lasagna</li>",
|
||||
"</ul>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08829",
|
||||
"name": "Waypoint: Create a Text Field",
|
||||
@ -1119,9 +1404,18 @@
|
||||
" <li>other cats</li>",
|
||||
"</ol>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08830",
|
||||
"name": "Waypoint: Add Placeholder Text to a Text Field",
|
||||
@ -1183,9 +1477,18 @@
|
||||
"</ol>",
|
||||
"<input type='text'>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aede08830",
|
||||
"name": "Waypoint: Create a Form Element",
|
||||
@ -1247,9 +1550,18 @@
|
||||
"</ol>",
|
||||
"<input type='text' placeholder='cat photo URL'>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedd08830",
|
||||
"name": "Waypoint: Add a Submit Button to a Form",
|
||||
@ -1312,9 +1624,18 @@
|
||||
" <input type='text' placeholder='cat photo URL'>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedc08830",
|
||||
"name": "Waypoint: Use HTML5 to Require a Field",
|
||||
@ -1379,9 +1700,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08834",
|
||||
"name": "Waypoint: Create a Set of Radio Buttons",
|
||||
@ -1450,9 +1780,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08835",
|
||||
"name": "Waypoint: Create a Set of Checkboxes",
|
||||
@ -1519,9 +1858,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType" : 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aede08835",
|
||||
"name": "Waypoint: Clean up your form using Linebreaks",
|
||||
@ -1589,9 +1937,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType" : 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedd08835",
|
||||
"name": "Waypoint: Check Radio Buttons and Checkboxes by Default",
|
||||
@ -1663,7 +2020,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType" : 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad88fee1348bd9aedf08825",
|
||||
@ -1714,7 +2081,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08822",
|
||||
@ -1767,7 +2144,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08823",
|
||||
@ -1819,7 +2206,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08824",
|
||||
@ -1872,7 +2269,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1248bd9aedf08824",
|
||||
@ -1925,7 +2332,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08826",
|
||||
@ -1976,7 +2393,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08726",
|
||||
@ -2027,7 +2454,17 @@
|
||||
" <h5 class=\"box green-box\">padding</h5>",
|
||||
"</div>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -15,7 +15,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7130d8c441eddfaeb5bdef",
|
||||
@ -28,7 +38,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7131d8c441eddfaeb5bdef",
|
||||
@ -41,7 +61,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7132d8c441eddfaeb5bdef",
|
||||
@ -53,7 +83,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7133d8c441eddfaeb5bdef",
|
||||
@ -67,7 +107,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7134d8c441eddfaeb5bdef",
|
||||
@ -80,7 +130,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1' target='_blank'>http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7135d8c441eddfaeb5bdef",
|
||||
@ -93,7 +153,17 @@
|
||||
"Be sure to also complete this section: <a href='http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661' target='_blank'>http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7136d8c441eddfaeb5bdef",
|
||||
@ -106,7 +176,17 @@
|
||||
"Be sure to also complete the final section: <a href='http://www.codecademy.com/courses/close-the-super-makert/0/1' target='_blank'>http://www.codecademy.com/courses/close-the-super-makert/0/1</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7118d8c441eddfaeb5bdef",
|
||||
@ -127,7 +207,17 @@
|
||||
"Complete \"Chapter 7: Memory Profiling\"."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7138d8c441eddfaeb5bdef",
|
||||
@ -149,7 +239,17 @@
|
||||
"Once you've completed these challenges, move on to our next Waypoint."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -76,7 +76,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348bd8acde08812",
|
||||
@ -149,7 +159,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348cd8acdf08812",
|
||||
@ -221,7 +241,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348cd8acef08812",
|
||||
@ -295,7 +325,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348cd8acef08811",
|
||||
@ -370,7 +410,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348cd8acef08813",
|
||||
@ -445,7 +495,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad87fee1348ce8acef08814",
|
||||
@ -521,7 +581,17 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bad88fee1348ce8acef08815",
|
||||
@ -602,9 +672,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedf08845",
|
||||
"name": "Waypoint: Ditch Custom CSS for Bootstrap",
|
||||
@ -691,9 +770,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aede08845",
|
||||
"name": "Waypoint: Create a Custom Heading",
|
||||
@ -770,9 +858,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedd08845",
|
||||
"name": "Waypoint: Add Font Awesome Icons to our Buttons",
|
||||
@ -846,9 +943,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedc08845",
|
||||
"name": "Waypoint: Add Font Awesome Icons all of our Buttons",
|
||||
@ -923,9 +1029,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aedb08845",
|
||||
"name": "Waypoint: Responsively Style a Radio Buttons",
|
||||
@ -999,9 +1114,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aeda08845",
|
||||
"name": "Waypoint: Responsively Style Checkboxes",
|
||||
@ -1082,9 +1206,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aed908845",
|
||||
"name": "Waypoint: Style Text Inputs as Form Controls",
|
||||
@ -1174,9 +1307,18 @@
|
||||
" <button type='submit'>Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
|
||||
{
|
||||
"_id": "bad87fee1348bd9aec908845",
|
||||
"name": "Waypoint: Line up Form Elements Responsively with Bootstrap",
|
||||
@ -1268,7 +1410,17 @@
|
||||
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
|
||||
"</form>"
|
||||
],
|
||||
"challengeType": 0
|
||||
"challengeType": 0,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -13,8 +13,18 @@
|
||||
"Despite being completely self-paced, Stanford's CS101 course is broken up into weeks. Each of the following challenges will address one of those weeks.",
|
||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z54/z1/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z54/z1/</a> and complete the first week's course work."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd8124d8c441eddfaeb5bdef",
|
||||
@ -26,8 +36,18 @@
|
||||
"This will introduce us to loops, a fundamental feature of every programming language.",
|
||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/</a> and complete Week 2."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd8125d8c441eddfaeb5bdef",
|
||||
@ -39,8 +59,18 @@
|
||||
"This challenge will also give you an understanding of how bits and bytes work.",
|
||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/</a> and complete Week 3."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd8126d8c441eddfaeb5bdef",
|
||||
@ -52,8 +82,18 @@
|
||||
"Particularly important, you will learn about networks and TCP/IP - the protocol that powers the internet.",
|
||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/</a> and complete Week 4."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd8127d8c441eddfaeb5bdef",
|
||||
@ -65,8 +105,18 @@
|
||||
"We'll also learn the difference between digital data and analog data.",
|
||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/</a> and complete Week 5."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd8128d8c441eddfaeb5bdef",
|
||||
@ -79,8 +129,18 @@
|
||||
"We'll also learn about Computer Security and some of the more common vulnerabilities software systems have.",
|
||||
"Go to <a href='https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/' target='_blank'>https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/</a> and complete Week 6, the final week of the course."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -12,8 +12,18 @@
|
||||
"In this course, we'll build a virtual shop entirely in Angular.js.",
|
||||
"Go to <a href='http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/1/section/1/video/1' target='_blank'>http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/1/section/1/video/1</a> and complete the section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7155d8c441eddfaeb5bdef",
|
||||
@ -25,8 +35,18 @@
|
||||
"Let's learn how these powerful directives work, and how to use them to make your web apps more dynamic",
|
||||
"Go to <a href='http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/2/section/1/video/1' target='_blank'>http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/2/section/1/video/1</a> and complete the section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7156d8c441eddfaeb5bdef",
|
||||
@ -38,8 +58,18 @@
|
||||
"Learn how to create reactive Angular.js forms, including real-time form validation.",
|
||||
"Go to <a href='http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/3/section/1/video/1' target='_blank'>http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/3/section/1/video/1</a> and complete the section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7157d8c441eddfaeb5bdef",
|
||||
@ -50,8 +80,18 @@
|
||||
"Now we'll learn how to modify existing Angular.js directives, and even build directives of your own.",
|
||||
"Go to <a href='http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/4/section/1/video/1' target='_blank'>http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/4/section/1/video/1</a> and complete the section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c441eddfaeb5bdef",
|
||||
@ -63,8 +103,18 @@
|
||||
"We'll learn how to use services in this final Code School Angular.js challenge.",
|
||||
"Go to <a href='http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/5/section/1/video/1' target='_blank'>http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/5/section/1/video/1</a> and complete the section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7153d8c441eddfaeb5bd0f",
|
||||
@ -105,8 +155,18 @@
|
||||
"Complete \"Finale\"",
|
||||
"Once you've completed these first 7 challenges, move on to our next waypoint."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7153d8c441eddfaeb5bdff",
|
||||
@ -137,8 +197,18 @@
|
||||
"Complete \"HTTP Client\"",
|
||||
"Once you've completed these first 7 challenges, move on to our next waypoint."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7153d8c441eddfaeb5bdfe",
|
||||
@ -154,8 +224,18 @@
|
||||
"Complete \"Time Server\"",
|
||||
"Once you've completed these 3 challenges, move on to our next waypoint."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7153d8c441eddfaeb5bdfd",
|
||||
@ -171,8 +251,18 @@
|
||||
"Complete \"HTTP JSON API Server\"",
|
||||
"Once you've completed these final 3 challenges, move on to our next waypoint."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7153d8c441eddfaeb5bd1f",
|
||||
@ -202,8 +292,18 @@
|
||||
"Complete \"Time Server\"",
|
||||
"Once you've completed these challenges, move on to our next waypoint."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7140d8c441eddfaeb5bdef",
|
||||
@ -215,8 +315,18 @@
|
||||
"Git is also a great way to share and contribute to open source software.",
|
||||
"Go to <a href='https://www.codeschool.com/courses/try-git' target='_blank'>https://www.codeschool.com/courses/try-git</a> and complete this short interactive course."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -15,8 +15,18 @@
|
||||
"This challenge will take several hours, but don't worry. Jafar's website will save your progress (using your browser's local storage) so you don't need to finish it in one sitting.",
|
||||
"If you've spent several minutes on one of these challenges, and still can't figure out its correct answer, you can click \"show answer\", then click \"run\" to advance to the next challenge. Be sure to read the correct answer and make sure you understand it before moving on."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -17,8 +17,18 @@
|
||||
"Once you make it through Free Code Camp, you will be able to get a coding job. There are far more job openings out there than there are qualified coders to fill them.",
|
||||
"Now it's time to join our chat room. Click the \"I've completed this challenge\" button to move on to your next challenge."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7125d8c441eddfaeb5bd0f",
|
||||
@ -37,8 +47,18 @@
|
||||
"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: <a href='/field-guide/what-is-the-free-code-camp-code-of-conduct?' target='_blank'>http://freecodecamp.com/field-guide/what-is-the-free-code-camp-code-of-conduct?</a>"
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7125d8c441eddfaeb5bdff",
|
||||
@ -53,8 +73,18 @@
|
||||
"This challenge map is just for your reference. You can always just press the \"Learn\" button, and it will take you to your next challenge.",
|
||||
"Finally, please note that our open-source curriculum is a work in progress. Our volunteer community is constantly improving it. If you think you've encountered a bug, typo, or something that seems confusing, please open a GitHub issue: <a href='https://github.com/FreeCodeCamp/freecodecamp/issues'>https://github.com/FreeCodeCamp/freecodecamp/issues</a>."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7125d8c441eddfaeb5bd1f",
|
||||
@ -68,8 +98,18 @@
|
||||
"When you click the Field Guide button, it will always take you back to whichever article you were last reading.",
|
||||
"Read a few field guide articles, then move on to your next challenge."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7125d8c441eddfaeb5bd2f",
|
||||
@ -85,8 +125,18 @@
|
||||
"Be sure to click the \"Update my Bio\" or \"Update my Social Links\" button to save this new information to your portfolio page.",
|
||||
"Once you're happy with your portfolio page, you can move on to your next challenge."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7126d8c441eddfaeb5bd3f",
|
||||
@ -104,8 +154,18 @@
|
||||
"When you submit a link, you'll get a point. You will also get a point each time someone upvotes your link.",
|
||||
"Now that you've learned how to use Camper News, let's move on to your next challenge."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7126d8c441eddfaeb5bd3e",
|
||||
@ -122,8 +182,18 @@
|
||||
"Our groups allow you to create events, coordinate those events, and share photos from the events afterward.",
|
||||
"Whether you're hosting a study group, pair programming at your local library, or going to a weekend hackathon, your city's group will help you make it happen."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7137d8c441eddfaeb5bdef",
|
||||
@ -140,8 +210,18 @@
|
||||
"Here's our detailed field guide on getting help: <a href='/field-guide/how-do-i-get-help-when-i-get-stuck' target='_blank'>http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck</a>.",
|
||||
"Now you have a clear algorithm to follow when you need help! Let's start coding! Move on to your next challenge."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -37,8 +37,21 @@
|
||||
"expect(bob.getFullName()).to.eql('George Carlin');",
|
||||
"bob.setFullName('Bob Ross');"
|
||||
],
|
||||
"MDNlinks": ["Closures", "Details of the Object Model"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Closures",
|
||||
"Details of the Object Model"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "af4afb223120f7348cdfc9fd",
|
||||
@ -65,8 +78,20 @@
|
||||
"expect(orbitalPeriod([{name : \"sputkin\", avgAlt : 35873.5553}])).to.eqls([{name: \"sputkin\", orbitalPeriod: 86400}]);",
|
||||
"expect(orbitalPeriod([{name: \"iss\", avgAlt: 413.6}, {name: \"hubble\", avgAlt: 556.7}, {name: \"moon\", avgAlt: 378632.553}])).to.eqls([{name : \"iss\", orbitalPeriod: 5557}, {name: \"hubble\", orbitalPeriod: 5734}, {name: \"moon\", orbitalPeriod: 2377399}]);"
|
||||
],
|
||||
"MDNlinks": ["Math.pow()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Math.pow()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "a3f503de51cfab748ff001aa",
|
||||
@ -92,8 +117,20 @@
|
||||
"expect(pairwise([0, 0, 0, 0, 1, 1], 1)).to.equal(10);",
|
||||
"expect(pairwise([], 100)).to.equal(0);"
|
||||
],
|
||||
"MDNlinks" : ["Array.reduce()"],
|
||||
"challengeType": 5
|
||||
"MDNlinks": [
|
||||
"Array.reduce()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -14,8 +14,18 @@
|
||||
"Codecademy has an excellent free course that will walk us through the basics of jQuery.",
|
||||
"Go to <a href='http://www.codecademy.com/courses/web-beginner-en-bay3D/0/1' target='_blank'>http://www.codecademy.com/courses/web-beginner-en-bay3D/0/1</a> and complete the first section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7113d8c441eddfaeb5bdef",
|
||||
@ -28,8 +38,18 @@
|
||||
"First, you'll learn about one of the most important jQuery functions of all: <code>$(document).ready()</code>.",
|
||||
"Go to <a href='http://www.codecademy.com/courses/web-beginner-en-GfjC6/0/1' target='_blank'>http://www.codecademy.com/courses/web-beginner-en-GfjC6/0/1</a> and complete the second section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7114d8c441eddfaeb5bdef",
|
||||
@ -41,8 +61,18 @@
|
||||
"Let's learn some more advanced ways to use jQuery to manipulate the DOM.",
|
||||
"Go to <a href='http://www.codecademy.com/courses/web-beginner-en-v6phg/0/1' target='_blank'>http://www.codecademy.com/courses/web-beginner-en-v6phg/0/1</a> and complete the third section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7115d8c441eddfaeb5bdef",
|
||||
@ -54,8 +84,18 @@
|
||||
"Here we'll learn how to use the jQuery <code>click()</code> function to respond to events in the browser.",
|
||||
"Go to <a href='http://www.codecademy.com/courses/web-beginner-en-JwhI1/0/1' target='_blank'>http://www.codecademy.com/courses/web-beginner-en-JwhI1/0/1</a> and complete the fourth section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7116d8c441eddfaeb5bdef",
|
||||
@ -67,8 +107,18 @@
|
||||
"Let's explore some of the fun ways we can manipulate DOM elements with jQuery.",
|
||||
"Go to <a href='http://www.codecademy.com/courses/web-beginner-en-jtFIC/0/1' target='_blank'>http://www.codecademy.com/courses/web-beginner-en-jtFIC/0/1</a> and complete the fifth section."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -16,7 +16,17 @@
|
||||
"Go to <a href='https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051' target='_blank'>https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051</a> and start the course.",
|
||||
"Once you've completed this first section of scopes, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2
|
||||
"challengeType": 2,
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7131d8c441eddfaeb5bdbf",
|
||||
@ -32,7 +42,17 @@
|
||||
"Once you've completed this section of using the keyword <code>this</code>, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7132d8c441eddfaeb5bdaf",
|
||||
@ -47,7 +67,17 @@
|
||||
"Once you've completed this section on prototype chain traversal, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7133d8c441eddfaeb5bd0f",
|
||||
@ -63,7 +93,17 @@
|
||||
"Once you've completed this section of decorators, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7134d8c441eddfaeb5bd1f",
|
||||
@ -79,7 +119,17 @@
|
||||
"Once you've completed this section of functional classes, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7135d8c441eddfaeb5bd2f",
|
||||
@ -95,7 +145,17 @@
|
||||
"Once you've completed this section of prototypal classes, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7136d8c441eddfaeb5bd3f",
|
||||
@ -111,7 +171,17 @@
|
||||
"Once you've completed this section pseudoclasses, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7136d8c441eddfaeb5bd4f",
|
||||
@ -126,7 +196,17 @@
|
||||
"Once you've completed this section on subclassing, mark this Waypoint complete and move on to the next one."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7136d8c441eddfaeb5bd5f",
|
||||
@ -140,7 +220,17 @@
|
||||
"Once you've completed this final section on pseudoclassical subclassing, mark this Waypoint complete and move on."
|
||||
],
|
||||
"challengeType": 2,
|
||||
"tests": []
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -22,8 +22,18 @@
|
||||
"Now add the following code to your JavaScript: <code>$(document).ready(function() { $('.text-primary').text('Hi CodePen!') });</code>. Click the \"Save\" button at the top. Your \"Hello CodePen!\" should change to \"Hi CodePen!\". This means that jQuery is working.",
|
||||
"Now you're ready for your first Zipline. 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."
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd1f",
|
||||
@ -47,8 +57,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd13",
|
||||
@ -67,8 +87,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd10",
|
||||
@ -89,8 +119,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd18",
|
||||
@ -112,8 +152,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd19",
|
||||
@ -134,8 +184,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd0f",
|
||||
@ -155,8 +215,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd17",
|
||||
@ -176,8 +246,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d8c442eddfaeb5bd1c",
|
||||
@ -198,8 +278,18 @@
|
||||
"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.<br><br><a class='btn btn-primary btn-block' href='https://twitter.com/intent/tweet?text=Check%20out%20the%20project%20I%20just%20built%20with%20%40FreeCodeCamp:%20%0A%20%23LearnToCode%20%23JavaScript' target='_blank'>Click here then add your link to your tweet's text</a>"
|
||||
],
|
||||
"challengeType": 3,
|
||||
"tests": []
|
||||
"challengeType": 0,
|
||||
"tests": [],
|
||||
"nameCn": "",
|
||||
"descriptionCn": [],
|
||||
"nameFr": "",
|
||||
"descriptionFr": [],
|
||||
"nameRu": "",
|
||||
"descriptionRu": [],
|
||||
"nameEs": "",
|
||||
"descriptionEs": [],
|
||||
"namePt": "",
|
||||
"descriptionPt": []
|
||||
}
|
||||
]
|
||||
}
|
@ -296,6 +296,7 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.berkeley/' target='_blank'>Berkeley</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.berlin/' target='_blank'>Berlin</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.bhaktapur/' target='_blank'>Bhaktapur</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.bismarck.north.dakota/' target='_blank'>Bismarck, ND</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.boston/' target='_blank'>Boston</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.boulder/' target='_blank'>Boulder</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.brussels/' target='_blank'>Brussels</a></li>",
|
||||
@ -303,6 +304,8 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.bucharest/' target='_blank'>Bucharest</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.budapest/' target='_blank'>Budapest</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.cairo/' target='_blank'>Cairo</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.calgary/' target='_blank'>Calgary</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.campinas/' target='_blank'>Campinas</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.cape.town/' target='_blank'>Cape Town</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.charlotte.nc/' target='_blank'>Charlotte</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.chennai/' target='_blank'>Chennai</a></li>",
|
||||
@ -311,6 +314,7 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.cluj' target='_blank'>Cluj</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.coimbatore' target='_blank'>Coimbatore</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.coventry/' target='_blank'>Coventry</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.curitiba/' target='_blank'>Curitiba</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.dallas/' target='_blank'>Dallas</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.delhi/' target='_blank'>Delhi</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.denver/' target='_blank'>Denver</a></li>",
|
||||
@ -318,6 +322,7 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.dubai/' target='_blank'>Dubai</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.edmonton/' target='_blank'>Edmonton</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.northern.arizona/' target='_blank'>Flagstaff</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.florianopolis/' target='_blank'>Florianopolis</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.dallas/' target='_blank'>Fort Worth</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.frankfurt.main/' target='_blank'>Frankfurt</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.geneva/' target='_blank'>Geneva</a></li>",
|
||||
@ -335,6 +340,7 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.hyderabad/' target='_blank'>Hyderabad</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kalamazoo/' target='_blank'>Kalamazoo</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.karachi/' target='_blank'>Karachi</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kathmandu/' target='_blank'>Kathmandu</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kemerovo/' target='_blank'>Kemerovo</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kiev/' target='_blank'>Kiev</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kolkata/' target='_blank'>Kolkata</a></li>",
|
||||
@ -356,6 +362,7 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.neworleans/' target='_blank'>New Orleans</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.new.york.city/' target='_blank'>New York City</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.berkeley/' target='_blank'>Oakland</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.oklahoma.city/' target='_blank'>Oklahoma City</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.omaha/' target='_blank'>Omaha</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.orange.county/' target='_blank'>Orange County</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.orlando.fl/' target='_blank'>Orlando</a></li>",
|
||||
@ -733,6 +740,47 @@
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5dd3b",
|
||||
"name": "What other resources does Free Code Camp recommend to nonprofits?",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h2>Here are some excellent resources for nonprofits.</h2>",
|
||||
" <h3>Please note that Free Code Camp is not partnered with, nor do we receive a referral fee from, any of the following providers. We simply want to help guide you towards a solution for your organization.</h3>",
|
||||
" <h3>Skills-based Volunteer Organizations:</h3>",
|
||||
" <p class='large-p'><a href='http://www.volunteermatch.com'>http://www.volunteermatch.com</a></p>",
|
||||
" <p class='large-p'><a href='http://www.catchafire.org'>http://www.catchafire.org</a></p>",
|
||||
" <h3>Building a website:</h3>",
|
||||
" <p class='large-p'><a href='http://www.wix.com/'>http://www.wix.com/</p>",
|
||||
" <p class='large-p'><a href='https://wordpress.com/'>https://wordpress.com/</p>",
|
||||
" <p class='large-p'><a href='http://www.freecodecamp.com/field-guide/how-can-i-deploy-a-website-without-writing-any-code-at-all'>Build it yourself for free with no code</a></p>",
|
||||
" <h3>Donor and Volunteer Management Systems</h3>",
|
||||
" <p class='large-p'><a href='https://www.thedatabank.com/'>https://www.thedatabank.com/</a></p>",
|
||||
" <p class='large-p'><a href='http://www.donorsnap.com/'>http://www.donorsnap.com/</a></p>",
|
||||
" <p class='large-p'><a href='http://www.donorperfect.com/'>http://www.donorperfect.com/</a></p>",
|
||||
" <p class='large-p'><a href='https://www.blackbaud.com/fundraising-crm/etapestry-donor-management'>https://www.blackbaud.com/fundraising-crm/etapestry-donor-management</a></p>",
|
||||
" <p class='large-p'><a href='http://www.z2systems.com/'>http://www.z2systems.com</a></p>",
|
||||
" <p class='large-p'><a href='http://www.regpacks.com/volunteer-management/'</a>http://www.regpacks.com/volunteer-management</a></p>",
|
||||
" <p class='large-p'><a href='http://sumac.com/'>http://sumac.com</a></p>",
|
||||
" <p class='large-p'><a href='http://www.volgistics.com'>http://www.volgistics.com</a></p>",
|
||||
" <h3>Inventory Management Systems</h3>",
|
||||
" <p class='large-p'><a href='https://www.ezofficeinventory.com/industries/non-profits'>https://www.ezofficeinventory.com/industries/non-profits</a></p>",
|
||||
" <p class='large-p'><a href='https://www.ordoro.com'>https://www.ordoro.com</a></p>",
|
||||
" <p class='large-p'><a href='http://www.unleashedsoftware.com'>http://www.unleashedsoftware.com</a></p>",
|
||||
" <h3>E-Learning platforms</h3>",
|
||||
" <p class='large-p'><a href='http://www.dokeos.com/'>http://www.dokeos.com</a></p>",
|
||||
" <p class='large-p'><a href='http://www.efrontlearning.net/'>http://www.efrontlearning.net/</a></p>",
|
||||
" <p class='large-p'><a href='https://moodle.org/'>https://moodle.org/</a></p>",
|
||||
" <p class='large-p'><a href='https://sakaiproject.org/'>https://sakaiproject.org/</a></p>",
|
||||
" <h3>Community Management</h3>",
|
||||
" <p class='large-p'><a href='https://civicrm.org/'>https://civicrm.org/</a></p>",
|
||||
" <p class='large-p'><a href='http://tcmgr.com/'>http://tcmgr.com/</a></p>",
|
||||
" <h3>Electronic Forms</h3>",
|
||||
" <p class='large-p'><a href='http://www.google.com/forms'>http://www.google.com/forms</a></p>",
|
||||
" <p class='large-p'><a href='http://www.typeform.com'>http://www.typeform.com</a></p>",
|
||||
"</div>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d9c436eddfadb5bd3e",
|
||||
"name": "How can I contribute to this guide?",
|
||||
|
@ -56,18 +56,30 @@ block content
|
||||
#announcementModal.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeInUp.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header Share deep comics about coding
|
||||
.modal-header.challenge-list-header We're adding new languages!
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
h3.text-left Submit your favorite profound comic about coding to Camper News. Start the headline with: "Deep Code Comic:" then add a clever description that doesn't ruin the punchline.
|
||||
img.img-responsive.img-center(src='http://imgs.xkcd.com/comics/wisdom_of_the_ancients.png')
|
||||
h3.text-left We'll publish the top 25 comics (and the campers who submitted them) in Wednesday's blog post. You'll also get 1 point for every upvote.
|
||||
a.btn.btn-lg.btn-info.btn-block(name='_csrf', value=_csrf, aria-hidden='true', href='/news', target='_blank') Take me to Camper News
|
||||
.spacer
|
||||
h4.text-left 我們正在研究將Free Code Camp翻成中文!  
|
||||
a(href='https://freecode.slack.com/messages/chinese') 請按這裡來參觀我們的中文聊天室
|
||||
| .
|
||||
h4.text-left Estamos trabajando a traducir Free Code Camp en español!  
|
||||
a(href='https://freecode.slack.com/messages/espanol') Haz clic aquí para ir a nuestra sala de chat españal
|
||||
| .
|
||||
h4.text-left Nós estamos trabalhando para traduzir o Free Code Camp para o Português!  
|
||||
a(href='https://freecode.slack.com/messages/portugues') Clique aqui para visitar nossa sala de bate-papo em Português
|
||||
| .
|
||||
h4.text-left Nous travaillons pour traduire Free Code Camp en Français!  
|
||||
a(href='https://freecode.slack.com/messages/francais') Cliquez ici pour visiter notre salle de chat Français
|
||||
| .
|
||||
h4.text-left Мы работаем над переводом Free Code Camp на русский язык!  
|
||||
a(href='https://freecode.slack.com/messages/russian') Нажмите здесь, чтобы посетить русский чат
|
||||
| .
|
||||
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.deepComic) {
|
||||
if (!localStorage || !localStorage.multiLingual) {
|
||||
$('#announcementModal').modal('show');
|
||||
localStorage.deepComic = "true";
|
||||
localStorage.multiLingual = "true";
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user