From 0365a6590a394d16348bb8646f6c033065f2644c Mon Sep 17 00:00:00 2001 From: Jay Hennessy Date: Tue, 26 May 2015 12:47:13 -0700 Subject: [PATCH 01/62] improved tests for chunky monkey bonfire --- seed_data/challenges/basic-bonfires.json | 1 + 1 file changed, 1 insertion(+) diff --git a/seed_data/challenges/basic-bonfires.json b/seed_data/challenges/basic-bonfires.json index b35ce5c45b..2f7d0d5deb 100644 --- a/seed_data/challenges/basic-bonfires.json +++ b/seed_data/challenges/basic-bonfires.json @@ -315,6 +315,7 @@ "tests": [ "assert.deepEqual(chunk(['a', 'b', 'c', 'd'], 2), [['a', 'b'], ['c', 'd']], 'should return chunked arrays');", "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], 2), [[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()"], From b92f392908372a534d861e53c31bbedcb90b6198 Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Tue, 26 May 2015 13:28:59 -0700 Subject: [PATCH 02/62] Fix typo add backslash to info on `change color of text` info closes #563 --- seed_data/challenges/basic-html5-and-css.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index 1eef6c6c28..00f73057b5 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -196,7 +196,7 @@ "Change the h2 element's style so that its text color is red.", "We can do this by changing the style of the h2 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 h2 element's text color to blue: <h2 style=\"color: blue\">CatPhotoApp<h2>" + "Here's how you would set your h2 element's text color to blue: <h2 style=\"color: blue\">CatPhotoApp<\/h2>" ], "tests": [ "assert($('h2').css('color') === 'rgb(255, 0, 0)', 'Your h2 element should be red.')" From f81f22b10884c22d5867d57dcee6f34cc8286875 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Tue, 26 May 2015 17:37:21 -0700 Subject: [PATCH 03/62] fix 591 --- seed_data/challenges/basic-html5-and-css.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index ff676782f6..e3614e613c 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -1132,7 +1132,8 @@ "For example: <input type='text' placeholder='this is placeholder text'>" ], "tests": [ - "assert($('[placeholder]').length > 0, 'Your text field should have the placeholder text of \"cat photo URL\".')" + "assert($('[placeholder]').length > 0, 'Your text field should have a placeholder attribute.')", + "assert(/url/gi.test($('input').attr('placeholder')), 'Your placeholder field should have the value of \"cat photo URL\".')" ], "challengeSeed": [ "", From 011625d926a3b428d7ea7870c0005d289ae0da16 Mon Sep 17 00:00:00 2001 From: LumenTeun Date: Wed, 27 May 2015 02:51:08 +0200 Subject: [PATCH 04/62] Minor grammatical error --- seed_data/challenges/basic-html5-and-css.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index 00f73057b5..cb2ab71f61 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -265,7 +265,7 @@ }, { "_id": "bad87fee1348bd9aefe08806", - "name": "Waypoint: Style Multiple Elements with a CSS Classes", + "name": "Waypoint: Style Multiple Elements with a CSS Class", "difficulty": 0.020, "description": [ "Apply the \"red-text\" class to the h2 and p elements.", From e34d920ee79383ce8681d52bec1c6c6b22ffa735 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Tue, 26 May 2015 18:42:51 -0700 Subject: [PATCH 05/62] closes #588 --- seed_data/challenges/basic-html5-and-css.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index e3614e613c..f270077aa2 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -1395,8 +1395,8 @@ "Here's an example of a radio button: <label><input type='radio' name='indoor-outdoor'> Indoor</label>" ], "tests": [ - "assert($('input[type=\"radio\"').length > 1, 'Your webpage should have two radio button elements.')", - "assert($('input[type=\"radio\"').attr('name'), 'Both of your radio button should have name attributes with the same value.')", + "assert($('input[type=\"radio\"]').length > 1, 'Your webpage should have two radio button elements.')", + "assert($('input[type=\"radio\"]:nth-child(1)').attr('name') === 'indoor-outdoor', 'Give your radio buttons the name attribute of \"indoor-outdoor\".')", "assert($('label').length > 1, 'Each of your two radio button elements should be wrapped in a label element.')" ], "challengeSeed": [ From 843681d3bb7976d77d3b83ed6d01a2ad1f7ea087 Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Tue, 26 May 2015 18:57:47 -0700 Subject: [PATCH 06/62] fixes #568 --- seed_data/challenges/advanced-bonfires.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/advanced-bonfires.json b/seed_data/challenges/advanced-bonfires.json index 50829b7473..570194a408 100644 --- a/seed_data/challenges/advanced-bonfires.json +++ b/seed_data/challenges/advanced-bonfires.json @@ -77,7 +77,7 @@ }, { "_id": "aa2e6f85cab2ab736c9a9b24", - "name": "Bonfire: Cash Register", + "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.", From 87e2697b9352d7d9a851d6b6c9ace474ca7718bd Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Tue, 26 May 2015 19:22:40 -0700 Subject: [PATCH 07/62] fix #577 --- seed_data/challenges/basic-html5-and-css.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index 74172daf02..f876fc7444 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -1463,8 +1463,8 @@ "For example: <label><input type='checkbox' name='personality'> Loving</label>" ], "tests": [ - "assert($('input[type=\"checkbox\"').length > 2, 'Your webpage should have three checkbox elements.')", - "assert($('label').length > 2, 'Each of your three checkbox elements should be wrapped in a label element.')" + "assert($('input[type=\"checkbox\"]').length > 2, 'Your webpage should have three checkbox elements.')", + "assert($('label').length > 4, 'Each of your three checkbox elements should be wrapped in a label element.')" ], "challengeSeed": [ "", From 02e5ada30481b2b57ea11844ba645831124b520b Mon Sep 17 00:00:00 2001 From: Doug Shamoo Date: Wed, 27 May 2015 14:03:06 +0800 Subject: [PATCH 08/62] very minor grammatical error fixed --- seed_data/challenges/bootstrap.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/bootstrap.json b/seed_data/challenges/bootstrap.json index 1db7d227aa..34ff79e3ae 100644 --- a/seed_data/challenges/bootstrap.json +++ b/seed_data/challenges/bootstrap.json @@ -1090,7 +1090,7 @@ "name": "Waypoint: Style Text Inputs as Form Controls", "difficulty" : 0.061, "description": [ - "Give your form's text input field in a class of \"form-control\". Give your form's submit button the classes \"btn btn-primary\" and give it the Font Awesome icon of \"fa-paper-plane\"." + "Give your form's text input field a class of \"form-control\". Give your form's submit button the classes \"btn btn-primary\" and give it the Font Awesome icon of \"fa-paper-plane\"." ], "tests": [ "assert($('.btn-primary').length > 1, 'Give the submit button in your form the classes \"btn btn-primary\".')", From e5e2dec017c209bbd660d80e67bec841a4d3c25a Mon Sep 17 00:00:00 2001 From: Doug Shamoo Date: Wed, 27 May 2015 15:26:04 +0800 Subject: [PATCH 09/62] Issue 569 fix, tests added. --- seed_data/challenges/basic-html5-and-css.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index cb2ab71f61..271a5f9cc5 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -1936,8 +1936,10 @@ "You can also use this notation for margins!" ], "tests": [ - "assert($('.green-box').css('padding-left') === '40px', 'Your green-box class should give the left of elements 40px of padding.')", - "assert($('.green-box').css('padding-bottom') === '20px', 'Your green-box class should give the bottom of elements 20px of padding.')" + "assert($('.green-box').css('padding-top') === '40px', 'Your green-box class should give the top of elements 40px of padding.')", + "assert($('.green-box').css('padding-right') === '20px', 'Your green-box class should give the right of elements 20px of padding.')", + "assert($('.green-box').css('padding-bottom') === '20px', 'Your green-box class should give the bottom of elements 20px of padding.')", + "assert($('.green-box').css('padding-left') === '40px', 'Your green-box class should give the left of elements 40px of padding.')" ], "challengeSeed": [ "" + - ""; - -var allTests = ''; -(function() { - tests.forEach(function(elem) { - allTests += elem + ' '; - }); -})(); - -var otherTestsForNow = ""; - -var delay; -// Initialize CodeMirror editor with a nice html5 canvas demo. -editor.on("keypress", function () { - clearTimeout(delay); - delay = setTimeout(updatePreview, 300); -}); -var nodeEnv = prodOrDev === 'production' ? 'http://www.freecodecamp.com' : 'http://localhost:3001'; -function updatePreview() { - goodTests = 0; - var previewFrame = document.getElementById('preview'); - var preview = previewFrame.contentDocument || previewFrame.contentWindow.document; - preview.open(); - $('#testSuite').empty(); - preview.write(libraryIncludes + editor.getValue() + otherTestsForNow); - preview.close(); - -} -setTimeout(updatePreview, 300); - -/** - * "post" methods - */ - -var postSuccess = function(data) { - var testDoc = document.createElement("div"); - $(testDoc) - .html("
" + JSON.parse(data) + "
") - .appendTo($('#testSuite')); - testSuccess(); -}; - -var postError = function(data) { - var testDoc = document.createElement("div"); - $(testDoc) - .html("
" + JSON.parse(data) + "
") - .prependTo($('#testSuite')) -}; -var goodTests = 0; -var testSuccess = function() { - goodTests++; - if (goodTests === tests.length) { - showCompletion(); - } -}; -var challengeSeed = challengeSeed || null; -var tests = tests || []; -var allSeeds = ''; -(function() { - challengeSeed.forEach(function(elem) { - allSeeds += elem.replace(/fccss/g, '') + '\n'; - }); - editor.setValue(allSeeds); -})(); - - -function doLinting () { - editor.operation(function () { - for (var i = 0; i < widgets.length; ++i) - editor.removeLineWidget(widgets[i]); - widgets.length = 0; - JSHINT(editor.getValue()); - for (var i = 0; i < JSHINT.errors.length; ++i) { - var err = JSHINT.errors[i]; - if (!err) continue; - var msg = document.createElement("div"); - var icon = msg.appendChild(document.createElement("span")); - icon.innerHTML = "!!"; - icon.className = "lint-error-icon"; - msg.appendChild(document.createTextNode(err.reason)); - msg.className = "lint-error"; - widgets.push(editor.addLineWidget(err.line - 1, msg, { - coverGutter: false, - noHScroll: true - })); - } - }); -}; - -//$('#testSuite').empty(); -function showCompletion() { - var time = Math.floor(Date.now()) - started; - ga('send', 'event', 'Challenge', 'solved', challenge_Name + ', Time: ' + time); - $('#next-courseware-button').removeAttr('disabled'); - $('#next-courseware-button').addClass('animated tada'); - if (!userLoggedIn) { - $('#complete-courseware-dialog').modal('show'); - } - $('body').keydown(function(e) { - if (e.ctrlKey && e.keyCode == 13) { - $('#next-courseware-button').click(); - $('#next-courseware-button').unbind('click'); - } - }); -} diff --git a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.4.js b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.4.js new file mode 100644 index 0000000000..ee9916b4ec --- /dev/null +++ b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.4.js @@ -0,0 +1,155 @@ +/** + * Created by nathanleniz on 2/2/15. + */ + +var widgets = []; +var editor = CodeMirror.fromTextArea(document.getElementById("codeEditor"), { + lineNumbers: true, + mode: "text/html", + theme: 'monokai', + runnable: true, + matchBrackets: true, + autoCloseBrackets: true, + scrollbarStyle: 'null', + lineWrapping: true, + gutters: ["CodeMirror-lint-markers"], + onKeyEvent: doLinting +}); + + +// Hijack tab key to insert two spaces instead +editor.setOption("extraKeys", { + Tab: function(cm) { + if (cm.somethingSelected()){ + cm.indentSelection("add"); + } else { + var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); + cm.replaceSelection(spaces); + } + }, + "Shift-Tab": function(cm) { + if (cm.somethingSelected()){ + cm.indentSelection("subtract"); + } else { + var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); + cm.replaceSelection(spaces); + } + } +}); + +editor.setSize("100%", "auto"); + +var libraryIncludes = "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + +var allTests = ''; +(function() { + tests.forEach(function(elem) { + allTests += elem + ' '; + }); +})(); + +var otherTestsForNow = ""; + +var delay; +// Initialize CodeMirror editor with a nice html5 canvas demo. +editor.on("keypress", function () { + clearTimeout(delay); + delay = setTimeout(updatePreview, 300); +}); +var nodeEnv = prodOrDev === 'production' ? 'http://www.freecodecamp.com' : 'http://localhost:3001'; +function updatePreview() { + goodTests = 0; + var previewFrame = document.getElementById('preview'); + var preview = previewFrame.contentDocument || previewFrame.contentWindow.document; + preview.open(); + $('#testSuite').empty(); + preview.write(libraryIncludes + editor.getValue() + otherTestsForNow); + preview.close(); + +} +setTimeout(updatePreview, 300); + +/** + * "post" methods + */ + +var postSuccess = function(data) { + var testDoc = document.createElement("div"); + $(testDoc) + .html("
" + JSON.parse(data) + "
") + .appendTo($('#testSuite')); + testSuccess(); +}; + +var postError = function(data) { + var testDoc = document.createElement("div"); + $(testDoc) + .html("
" + JSON.parse(data) + "
") + .prependTo($('#testSuite')) +}; +var goodTests = 0; +var testSuccess = function() { + goodTests++; + if (goodTests === tests.length) { + showCompletion(); + } +}; +var challengeSeed = challengeSeed || null; +var tests = tests || []; +var allSeeds = ''; +(function() { + challengeSeed.forEach(function(elem) { + allSeeds += elem.replace(/fccss/g, '') + '\n'; + }); + editor.setValue(allSeeds); + editor.setCursor(15); +})(); + + +function doLinting () { + editor.operation(function () { + for (var i = 0; i < widgets.length; ++i) + editor.removeLineWidget(widgets[i]); + widgets.length = 0; + JSHINT(editor.getValue()); + for (var i = 0; i < JSHINT.errors.length; ++i) { + var err = JSHINT.errors[i]; + if (!err) continue; + var msg = document.createElement("div"); + var icon = msg.appendChild(document.createElement("span")); + icon.innerHTML = "!!"; + icon.className = "lint-error-icon"; + msg.appendChild(document.createTextNode(err.reason)); + msg.className = "lint-error"; + widgets.push(editor.addLineWidget(err.line - 1, msg, { + coverGutter: false, + noHScroll: true + })); + } + }); +}; + +//$('#testSuite').empty(); +function showCompletion() { + var time = Math.floor(Date.now()) - started; + ga('send', 'event', 'Challenge', 'solved', challenge_Name + ', Time: ' + time); + $('#next-courseware-button').removeAttr('disabled'); + $('#next-courseware-button').addClass('animated tada'); + if (!userLoggedIn) { + $('#complete-courseware-dialog').modal('show'); + } + $('body').keydown(function(e) { + if (e.ctrlKey && e.keyCode == 13) { + $('#next-courseware-button').click(); + $('#next-courseware-button').unbind('click'); + } + }); +} diff --git a/views/coursewares/showHTML.jade b/views/coursewares/showHTML.jade index 34d0d268ed..de6f076aa9 100644 --- a/views/coursewares/showHTML.jade +++ b/views/coursewares/showHTML.jade @@ -91,4 +91,4 @@ block content .animated.zoomInDown.delay-half span.completion-icon.ion-checkmark-circled.text-primary a.animated.fadeIn.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress - script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.3.js") + script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.4.js") From 5a1588f8b38f1b6b9bb53021b115428d1dc91faa Mon Sep 17 00:00:00 2001 From: benmcmahon100 Date: Wed, 27 May 2015 19:51:06 +0100 Subject: [PATCH 26/62] Provisional fix to issue #655 Needs testing --- seed_data/challenges/basic-html5-and-css.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index 85d5d49fcb..9a5a070d20 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -93,9 +93,9 @@ "You can start a comment with <!-- and end a comment with -->." ], "tests": [ - "assert(($('h1').length > 0), 'The h1 element should not be commented. It should be visible in the browser.')", - "assert(($('h2').length > 0), 'The h2 element should not be commented. It should be visible in the browser.')", - "assert(($('p').length > 0), 'The paragraph element should not be commented. It should be visible in the browser.')" + "assert($('h1').length > 0, 'The h1 element should not be commented. It should be visible in the browser.')", + "assert($('h2').length > 0, 'The h2 element should not be commented. It should be visible in the browser.')", + "assert($('p').length > 0, 'The paragraph element should not be commented. It should be visible in the browser.')" ], "challengeSeed": [ "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08804", @@ -135,7 +185,17 @@ "

Hello Paragraph

", "-->" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08833", @@ -160,7 +220,17 @@ "", "

Hello Paragraph

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fed1348bd9aedf08833", @@ -186,7 +256,17 @@ "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08803", @@ -196,7 +276,7 @@ "Change the h2 element's style so that its text color is red.", "We can do this by changing the style of the h2 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 h2 element's text color to blue: <h2 style=\"color: blue\">CatPhotoApp<\/h2>" + "Here's how you would set your h2 element's text color to blue: <h2 style=\"color: blue\">CatPhotoApp</h2>" ], "tests": [ "assert($('h2').css('color') === 'rgb(255, 0, 0)', 'Your h2 element should be red.')" @@ -206,7 +286,17 @@ "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08805", @@ -230,7 +320,17 @@ "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aecf08806", @@ -261,7 +361,17 @@ "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aefe08806", @@ -288,7 +398,17 @@ "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08806", @@ -315,7 +435,17 @@ "", "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aede08807", @@ -345,7 +475,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08807", @@ -378,7 +518,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08808", @@ -417,7 +567,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08809", @@ -460,9 +620,18 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "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 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9acdf08812", @@ -538,7 +717,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9bedf08813", @@ -582,7 +771,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08814", @@ -631,7 +830,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08815", @@ -679,7 +888,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08816", @@ -730,7 +949,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aede08817", @@ -784,9 +1013,18 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "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 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08820", @@ -890,7 +1138,17 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08818", @@ -943,13 +1201,22 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08827", + "_id": "bad87fee1348bd9aedf08827", "name": "Waypoint: Create a Bulleted Unordered List", - "difficulty" : 0.036, + "difficulty": 0.036, "description": [ "Replace the paragraph elements with an unordered list of three things that cats love.", "HTML has a special element for creating unordered lists, or bullet point-style lists.", @@ -997,13 +1264,22 @@ "

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

", "

Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08828", + "_id": "bad87fee1348bd9aedf08828", "name": "Waypoint: Create an Ordered List", - "difficulty" : 0.037, + "difficulty": 0.037, "description": [ "Create an ordered list of the the top 3 things cats hate the most.", "HTML has a special element for creating ordered lists, or numbered-style lists.", @@ -1057,13 +1333,22 @@ "
  • lasagna
  • ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08829", + "_id": "bad87fee1348bd9aedf08829", "name": "Waypoint: Create a Text Field", - "difficulty" : 0.038, + "difficulty": 0.038, "description": [ "Now we'll create a web form. Create a text field under your lists.", "Text inputs are a convenient way to get input from your user.", @@ -1119,13 +1404,22 @@ "
  • other cats
  • ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08830", + "_id": "bad87fee1348bd9aedf08830", "name": "Waypoint: Add Placeholder Text to a Text Field", - "difficulty" : 0.039, + "difficulty": 0.039, "description": [ "Add the placeholder text \"type a cat photo URL here\" to your text field.", "Placeholder text will appear in your text field before your user has inputed anything.", @@ -1183,13 +1477,22 @@ "", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aede08830", + "_id": "bad87fee1348bd9aede08830", "name": "Waypoint: Create a Form Element", - "difficulty" : 0.040, + "difficulty": 0.040, "description": [ "Wrap your text field in a <form> element. Add the action=\"/submit-cat-photo\" attribute to this form element.", "You can build web forms that actually submit data to a server using nothing more than pure HTML. You can do this by specifying an action on your form element.", @@ -1247,13 +1550,22 @@ "", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedd08830", + "_id": "bad87fee1348bd9aedd08830", "name": "Waypoint: Add a Submit Button to a Form", - "difficulty" : 0.041, + "difficulty": 0.041, "description": [ "Add a submit button to your form field.", "Let's add a submit button to your form. Clicking this button will send the date from your form to the URL you specified with your form's action attribute.", @@ -1312,13 +1624,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedc08830", + "_id": "bad87fee1348bd9aedc08830", "name": "Waypoint: Use HTML5 to Require a Field", - "difficulty" : 0.042, + "difficulty": 0.042, "description": [ "Make it required for your user to input text into your form before being able to submit it.", "You can require your user to complete specific form fields before they will be able to submit your form.", @@ -1379,13 +1700,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08834", + "_id": "bad87fee1348bd9aedf08834", "name": "Waypoint: Create a Set of Radio Buttons", - "difficulty" : 0.043, + "difficulty": 0.043, "description": [ "Add to your form a pair of radio buttons that are wrapped in label elements and share a name attribute, with the options of \"indoor\" and \"outdoor\".", "You can use radio buttons for questions where you want the user to only give you one answer.", @@ -1450,13 +1780,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08835", + "_id": "bad87fee1348bd9aedf08835", "name": "Waypoint: Create a Set of Checkboxes", - "difficulty" : 0.044, + "difficulty": 0.044, "description": [ "Add to your form a set of three checkbox elements that are wrapped in label elements and share the same name attribute.", "Forms commonly use checkbox elements for questions that may have more than one answer.", @@ -1519,13 +1858,22 @@ " ", "" ], - "challengeType" : 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aede08835", + "_id": "bad87fee1348bd9aede08835", "name": "Waypoint: Clean up your form using Linebreaks", - "difficulty" : 0.045, + "difficulty": 0.045, "description": [ "Clean up your form by adding linebreaks between form elements.", "Remember that you can create a linebreak element by using the code: <br>" @@ -1589,13 +1937,22 @@ " ", "" ], - "challengeType" : 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedd08835", + "_id": "bad87fee1348bd9aedd08835", "name": "Waypoint: Check Radio Buttons and Checkboxes by Default", - "difficulty" : 0.046, + "difficulty": 0.046, "description": [ "Set the first of your radio buttons and the first of your checkboxes to both be checked by default.", "You set a checkbox or radio button to be checked by default using the checked attribute.", @@ -1663,7 +2020,17 @@ " ", "" ], - "challengeType" : 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad88fee1348bd9aedf08825", @@ -1714,7 +2081,17 @@ "
    padding
    ", "
    " ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08822", @@ -1767,7 +2144,17 @@ "
    padding
    ", "
    " ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08823", @@ -1819,7 +2206,17 @@ "
    padding
    ", "
    " ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08824", @@ -1872,7 +2269,17 @@ "
    padding
    ", "
    " ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1248bd9aedf08824", @@ -1925,7 +2332,17 @@ "
    padding
    ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08826", @@ -1976,7 +2393,17 @@ "
    padding
    ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd9aedf08726", @@ -2027,7 +2454,17 @@ "
    padding
    ", "" ], - "challengeType": 0 + "challengeType": 5, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/basic-javascript.json b/seed_data/challenges/basic-javascript.json index 6cd9fc39c2..a5c09a780b 100644 --- a/seed_data/challenges/basic-javascript.json +++ b/seed_data/challenges/basic-javascript.json @@ -1,6 +1,6 @@ { "name": "Basic JavaScript", - "order" : 0.006, + "order": 0.006, "challenges": [ { "_id": "bd7129d8c441eddfaeb5bdef", @@ -15,7 +15,17 @@ "Be sure to also complete this section: http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1." ], "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: http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1." ], "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: http://www.codecademy.com/courses/javascript-beginner-en-XEDZA/0/1." ], "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: http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1." ], "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: http://www.codecademy.com/courses/javascript-beginner-en-ZA2rb/0/1." ], "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: http://www.codecademy.com/courses/javascript-beginner-en-3bmfN/0/1." ], "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: http://www.codecademy.com/courses/building-an-address-book/0/1?curriculum_id=506324b3a7dffd00020bf661." ], "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: http://www.codecademy.com/courses/close-the-super-makert/0/1." ], "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": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/bootstrap.json b/seed_data/challenges/bootstrap.json index 1db7d227aa..a295670657 100644 --- a/seed_data/challenges/bootstrap.json +++ b/seed_data/challenges/bootstrap.json @@ -1,6 +1,6 @@ { "name": "Responsive Design with Bootstrap", - "order" : 0.003, + "order": 0.003, "challenges": [ { "_id": "bad87fee1348bd9acde08812", @@ -76,7 +76,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348bd8acde08812", @@ -149,7 +159,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348cd8acdf08812", @@ -221,7 +241,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348cd8acef08812", @@ -295,7 +325,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348cd8acef08811", @@ -370,7 +410,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348cd8acef08813", @@ -445,7 +495,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad87fee1348ce8acef08814", @@ -521,7 +581,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, { "_id": "bad88fee1348ce8acef08815", @@ -602,13 +672,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedf08845", + "_id": "bad87fee1348bd9aedf08845", "name": "Waypoint: Ditch Custom CSS for Bootstrap", - "difficulty" : 0.055, + "difficulty": 0.055, "description": [ "Delete the following from your style tag: .red-text, p, .smaller-image. Delete the p element with the dead link. Remove your red-text class from your h2 element and instead apply the text-primary Bootstrap class. Replace the smaller-image class on your top image with the img-responsive class.", "We can clean up our code and make our Cat Photo App look more conventional by using Bootstrap's built-in styles instead of the custom styles we created earlier.", @@ -691,13 +770,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aede08845", + "_id": "bad87fee1348bd9aede08845", "name": "Waypoint: Create a Custom Heading", - "difficulty" : 0.056, + "difficulty": 0.056, "description": [ "Wrap your first image and your h2 element within a single <div class='row'> element. Wrap your h2 text within a <div class='col-xs-8'> and your image in a <div class='col-xs-4'> so that they are on the same line.", "We will make a simple heading for our Cat Photo App by putting them in the same row.", @@ -770,13 +858,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedd08845", + "_id": "bad87fee1348bd9aedd08845", "name": "Waypoint: Add Font Awesome Icons to our Buttons", - "difficulty" : 0.057, + "difficulty": 0.057, "description": [ "Use Font Awesome to add a \"like\" icon to your like button.", "Font Awesome is a convenient library of icons. These icons are vector graphics, stored in the .svg file format. These icons are treated just like fonts. You can specify their size using pixels, and they will assume the font size of their parent HTML elements.", @@ -846,13 +943,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedc08845", + "_id": "bad87fee1348bd9aedc08845", "name": "Waypoint: Add Font Awesome Icons all of our Buttons", - "difficulty" : 0.058, + "difficulty": 0.058, "description": [ "Use Font Awesome to add a \"info-circle\" icon to your info button and a \"trash\" icon to your delete button.", "Font Awesome is a convenient library of icons. These icons are vector graphics, stored in the .svg file format. These icons are treated just like fonts. You can specify their size using pixels, and they will assume the font size of their parent HTML elements.", @@ -923,13 +1029,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aedb08845", + "_id": "bad87fee1348bd9aedb08845", "name": "Waypoint: Responsively Style a Radio Buttons", - "difficulty" : 0.059, + "difficulty": 0.059, "description": [ "Wrap all of your radio buttons within a <div class='row'> element. Then wrap each of them within a <div class='col-xs-6'> element.", "You can use Bootstrap's col-xs-* classes on form elements, too! This way, our radio buttons will be evenly spread out across the page, regardless of how wide the screen resolution is." @@ -999,13 +1114,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aeda08845", + "_id": "bad87fee1348bd9aeda08845", "name": "Waypoint: Responsively Style Checkboxes", - "difficulty" : 0.060, + "difficulty": 0.060, "description": [ "Wrap all your checkboxes in a <div class='row'> element. Then wrap each of them in a <div class='col-xs-4'> element.", "You can use Bootstrap's col-xs-* classes on form elements, too! This way, our checkboxes will be evenly spread out across the page, regardless of how wide the screen resolution is." @@ -1082,13 +1206,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aed908845", + "_id": "bad87fee1348bd9aed908845", "name": "Waypoint: Style Text Inputs as Form Controls", - "difficulty" : 0.061, + "difficulty": 0.061, "description": [ "Give your form's text input field in a class of \"form-control\". Give your form's submit button the classes \"btn btn-primary\" and give it the Font Awesome icon of \"fa-paper-plane\"." ], @@ -1174,13 +1307,22 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] }, - { - "_id" : "bad87fee1348bd9aec908845", + "_id": "bad87fee1348bd9aec908845", "name": "Waypoint: Line up Form Elements Responsively with Bootstrap", - "difficulty" : 0.062, + "difficulty": 0.062, "description": [ "Wrap both your form's text input field and submit button within a div with the class \"row\". Wrap your form's text input field within a div with the class of \"col-xs-7\". Wrap your form's submit button the in a div with the class \"col-xs-5\".", "Now let's get your form input and your submission button on the same line. We'll do this the same way we have previously: by using a \"row\" element with \"col-xs-*\" elements withing it.", @@ -1268,7 +1410,17 @@ " ", "" ], - "challengeType": 0 + "challengeType": 0, + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/computer-science.json b/seed_data/challenges/computer-science.json index 13f3d624b4..41932788dc 100644 --- a/seed_data/challenges/computer-science.json +++ b/seed_data/challenges/computer-science.json @@ -1,6 +1,6 @@ { "name": "Computer Science", - "order" : 0.005, + "order": 0.005, "challenges": [ { "_id": "bd7123d8c441eddfaeb5bdef", @@ -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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z54/z1/ 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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/ 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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/ 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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/ 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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/ 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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/ 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": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/full-stack-javascript.json b/seed_data/challenges/full-stack-javascript.json index d342617d0b..e92c67a57c 100644 --- a/seed_data/challenges/full-stack-javascript.json +++ b/seed_data/challenges/full-stack-javascript.json @@ -1,6 +1,6 @@ { "name": "Full Stack JavaScript", - "order" : 0.013, + "order": 0.013, "challenges": [ { "_id": "bd7154d8c441eddfaeb5bdef", @@ -12,8 +12,18 @@ "In this course, we'll build a virtual shop entirely in Angular.js.", "Go to http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/1/section/1/video/1 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 http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/2/section/1/video/1 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 http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/3/section/1/video/1 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 http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/4/section/1/video/1 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 http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/5/section/1/video/1 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 https://www.codeschool.com/courses/try-git and complete this short interactive course." ], - "challengeType": 2, - "tests": [] + "challengeType": 0, + "tests": [], + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/functional-programming.json b/seed_data/challenges/functional-programming.json index 67f6a3b3f0..99b12dfb5f 100644 --- a/seed_data/challenges/functional-programming.json +++ b/seed_data/challenges/functional-programming.json @@ -1,6 +1,6 @@ { "name": "Functional Programming", - "order" : 0.010, + "order": 0.010, "challenges": [ { "_id": "bd7129d8c441eddfbeb5bddf", @@ -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": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/get-set-for-free-code-camp.json b/seed_data/challenges/get-set-for-free-code-camp.json index b1cfc7e22f..ab28246008 100644 --- a/seed_data/challenges/get-set-for-free-code-camp.json +++ b/seed_data/challenges/get-set-for-free-code-camp.json @@ -1,6 +1,6 @@ { "name": "Get Set for Free Code Camp", - "order" : 0.001, + "order": 0.001, "challenges": [ { "_id": "bd7124d8c441eddfaeb5bdef", @@ -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: http://freecodecamp.com/field-guide/what-is-the-free-code-camp-code-of-conduct?" ], - "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: https://github.com/FreeCodeCamp/freecodecamp/issues." ], - "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: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.", "Now you have a clear algorithm to follow when you need help! Let's start coding! Move on to your next challenge." ], - "challengeType": 2, - "tests": [] + "challengeType": 0, + "tests": [], + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/intermediate-bonfires.json b/seed_data/challenges/intermediate-bonfires.json index 1645449670..8f9ac09445 100644 --- a/seed_data/challenges/intermediate-bonfires.json +++ b/seed_data/challenges/intermediate-bonfires.json @@ -1,6 +1,6 @@ { "name": "Intermediate Algorithm Scripting", - "order" : 0.009, + "order": 0.009, "challenges": [ { "_id": "a2f1d72d9b908d0bd72bb9f6", @@ -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,11 +78,23 @@ "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", + "_id": "a3f503de51cfab748ff001aa", "name": "Bonfire: Pairwise", "difficulty": "3.03", "description": [ @@ -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": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/jquery-ajax-and-json.json b/seed_data/challenges/jquery-ajax-and-json.json index d54806400e..1c3244cb8d 100644 --- a/seed_data/challenges/jquery-ajax-and-json.json +++ b/seed_data/challenges/jquery-ajax-and-json.json @@ -1,6 +1,6 @@ { "name": "jQuery", - "order" : 0.004, + "order": 0.004, "challenges": [ { "_id": "bd7112d8c441eddfaeb5bded", @@ -14,8 +14,18 @@ "Codecademy has an excellent free course that will walk us through the basics of jQuery.", "Go to http://www.codecademy.com/courses/web-beginner-en-bay3D/0/1 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: $(document).ready().", "Go to http://www.codecademy.com/courses/web-beginner-en-GfjC6/0/1 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 http://www.codecademy.com/courses/web-beginner-en-v6phg/0/1 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 click() function to respond to events in the browser.", "Go to http://www.codecademy.com/courses/web-beginner-en-JwhI1/0/1 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 http://www.codecademy.com/courses/web-beginner-en-jtFIC/0/1 and complete the fifth section." ], - "challengeType": 2, - "tests": [] + "challengeType": 0, + "tests": [], + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/challenges/object-oriented-javascript.json b/seed_data/challenges/object-oriented-javascript.json index feee80d16c..129d037cc2 100644 --- a/seed_data/challenges/object-oriented-javascript.json +++ b/seed_data/challenges/object-oriented-javascript.json @@ -16,7 +16,17 @@ "Go to https://www.udacity.com/course/viewer#!/c-ud015/l-2593668697/m-2541189051 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 this, 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": [] } ] } diff --git a/seed_data/challenges/ziplines.json b/seed_data/challenges/ziplines.json index 98d7605096..2ddb0cc748 100644 --- a/seed_data/challenges/ziplines.json +++ b/seed_data/challenges/ziplines.json @@ -1,6 +1,6 @@ { "name": "Front End Development Projects", - "order" : 0.012, + "order": 0.012, "challenges": [ { "_id": "bd7158d8c442eddfbeb5bd1f", @@ -22,8 +22,18 @@ "Now add the following code to your JavaScript: $(document).ready(function() { $('.text-primary').text('Hi CodePen!') });. 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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "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.

    Click here then add your link to your tweet's text" ], - "challengeType": 3, - "tests": [] + "challengeType": 0, + "tests": [], + "nameCn": "", + "descriptionCn": [], + "nameFr": "", + "descriptionFr": [], + "nameRu": "", + "descriptionRu": [], + "nameEs": "", + "descriptionEs": [], + "namePt": "", + "descriptionPt": [] } ] -} +} \ No newline at end of file diff --git a/seed_data/field-guides.json b/seed_data/field-guides.json index 2d520e480e..ef19bb24a1 100644 --- a/seed_data/field-guides.json +++ b/seed_data/field-guides.json @@ -296,6 +296,7 @@ "
  • Berkeley
  • ", "
  • Berlin
  • ", "
  • Bhaktapur
  • ", + "
  • Bismarck, ND
  • ", "
  • Boston
  • ", "
  • Boulder
  • ", "
  • Brussels
  • ", @@ -303,6 +304,8 @@ "
  • Bucharest
  • ", "
  • Budapest
  • ", "
  • Cairo
  • ", + "
  • Calgary
  • ", + "
  • Campinas
  • ", "
  • Cape Town
  • ", "
  • Charlotte
  • ", "
  • Chennai
  • ", @@ -311,6 +314,7 @@ "
  • Cluj
  • ", "
  • Coimbatore
  • ", "
  • Coventry
  • ", + "
  • Curitiba
  • ", "
  • Dallas
  • ", "
  • Delhi
  • ", "
  • Denver
  • ", @@ -318,6 +322,7 @@ "
  • Dubai
  • ", "
  • Edmonton
  • ", "
  • Flagstaff
  • ", + "
  • Florianopolis
  • ", "
  • Fort Worth
  • ", "
  • Frankfurt
  • ", "
  • Geneva
  • ", @@ -335,6 +340,7 @@ "
  • Hyderabad
  • ", "
  • Kalamazoo
  • ", "
  • Karachi
  • ", + "
  • Kathmandu
  • ", "
  • Kemerovo
  • ", "
  • Kiev
  • ", "
  • Kolkata
  • ", @@ -356,6 +362,7 @@ "
  • New Orleans
  • ", "
  • New York City
  • ", "
  • Oakland
  • ", + "
  • Oklahoma City
  • ", "
  • Omaha
  • ", "
  • Orange County
  • ", "
  • Orlando
  • ", @@ -733,6 +740,47 @@ "" ] }, + { + "_id": "bd7158d9c436eddfaeb5dd3b", + "name": "What other resources does Free Code Camp recommend to nonprofits?", + "description": [ + "
    ", + "

    Here are some excellent resources for nonprofits.

    ", + "

    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.

    ", + "

    Skills-based Volunteer Organizations:

    ", + "

    http://www.volunteermatch.com

    ", + "

    http://www.catchafire.org

    ", + "

    Building a website:

    ", + "

    http://www.wix.com/

    ", + "

    https://wordpress.com/

    ", + "

    Build it yourself for free with no code

    ", + "

    Donor and Volunteer Management Systems

    ", + "

    https://www.thedatabank.com/

    ", + "

    http://www.donorsnap.com/

    ", + "

    http://www.donorperfect.com/

    ", + "

    https://www.blackbaud.com/fundraising-crm/etapestry-donor-management

    ", + "

    http://www.z2systems.com

    ", + "

    http://www.regpacks.com/volunteer-management

    ", + "

    http://sumac.com

    ", + "

    http://www.volgistics.com

    ", + "

    Inventory Management Systems

    ", + "

    https://www.ezofficeinventory.com/industries/non-profits

    ", + "

    https://www.ordoro.com

    ", + "

    http://www.unleashedsoftware.com

    ", + "

    E-Learning platforms

    ", + "

    http://www.dokeos.com

    ", + "

    http://www.efrontlearning.net/

    ", + "

    https://moodle.org/

    ", + "

    https://sakaiproject.org/

    ", + "

    Community Management

    ", + "

    https://civicrm.org/

    ", + "

    http://tcmgr.com/

    ", + "

    Electronic Forms

    ", + "

    http://www.google.com/forms

    ", + "

    http://www.typeform.com

    ", + "
    " + ] + }, { "_id": "bd7158d9c436eddfadb5bd3e", "name": "How can I contribute to this guide?", diff --git a/views/challengeMap/show.jade b/views/challengeMap/show.jade index 990ea9ebba..7b2d97385e 100644 --- a/views/challengeMap/show.jade +++ b/views/challengeMap/show.jade @@ -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"; } }); From b2d3416a5716e0ed5d59e67dd5c459d805599dcd Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Thu, 28 May 2015 02:00:51 -0700 Subject: [PATCH 38/62] fix typo --- .../challenges/get-set-for-free-code-camp.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/seed_data/challenges/get-set-for-free-code-camp.json b/seed_data/challenges/get-set-for-free-code-camp.json index ab28246008..2118dd6073 100644 --- a/seed_data/challenges/get-set-for-free-code-camp.json +++ b/seed_data/challenges/get-set-for-free-code-camp.json @@ -17,7 +17,7 @@ "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": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -47,7 +47,7 @@ "You can also access this chat room by clicking the \"Chat\" button in the upper right hand corner.", "In order to keep our community a friendly and positive place to learn to code, please read and follow our Code of Conduct: http://freecodecamp.com/field-guide/what-is-the-free-code-camp-code-of-conduct?" ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -73,7 +73,7 @@ "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: https://github.com/FreeCodeCamp/freecodecamp/issues." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -98,7 +98,7 @@ "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": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -125,7 +125,7 @@ "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": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -154,7 +154,7 @@ "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": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -182,7 +182,7 @@ "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": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -210,7 +210,7 @@ "Here's our detailed field guide on getting help: http://freecodecamp.com/field-guide/how-do-i-get-help-when-i-get-stuck.", "Now you have a clear algorithm to follow when you need help! Let's start coding! Move on to your next challenge." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -224,4 +224,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} From cc0fba35e594f6b063eccc19a0f075d11cb127cb Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Thu, 28 May 2015 02:10:44 -0700 Subject: [PATCH 39/62] more minor fixes to json --- seed_data/challenges/basic-html5-and-css.json | 92 +++++++++---------- seed_data/challenges/computer-science.json | 14 +-- .../challenges/full-stack-javascript.json | 24 ++--- .../challenges/functional-programming.json | 4 +- .../challenges/jquery-ajax-and-json.json | 12 +-- seed_data/challenges/ziplines.json | 20 ++-- 6 files changed, 83 insertions(+), 83 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index 38cbb15e25..e1e4a582dc 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -21,7 +21,7 @@ "challengeSeed": [ "

    Hello

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -51,7 +51,7 @@ "challengeSeed": [ "

    Hello World

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -80,7 +80,7 @@ "

    Hello World

    ", "

    CatPhotoApp

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -110,7 +110,7 @@ "

    CatPhotoApp

    ", "

    Hello Paragraph

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -148,7 +148,7 @@ "

    Hello Paragraph

    ", "-->" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -185,7 +185,7 @@ "

    Hello Paragraph

    ", "-->" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -220,7 +220,7 @@ "", "

    Hello Paragraph

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -256,7 +256,7 @@ "", "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -286,7 +286,7 @@ "", "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -320,7 +320,7 @@ "", "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -361,7 +361,7 @@ "", "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -398,7 +398,7 @@ "", "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -435,7 +435,7 @@ "", "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -475,7 +475,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -518,7 +518,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -567,7 +567,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -620,7 +620,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -668,7 +668,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -717,7 +717,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -771,7 +771,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -830,7 +830,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -888,7 +888,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -949,7 +949,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1013,7 +1013,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1075,7 +1075,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1138,7 +1138,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1201,7 +1201,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1264,7 +1264,7 @@ "

    Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

    ", "

    Purr jump eat the grass rip the couch scratched sunbathe, shed everywhere rip the couch sleep in the sink fluffy fur catnip scratched.

    " ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1333,7 +1333,7 @@ "
  • lasagna
  • ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1404,7 +1404,7 @@ "
  • other cats
  • ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1477,7 +1477,7 @@ "", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1550,7 +1550,7 @@ "", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1624,7 +1624,7 @@ " ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1700,7 +1700,7 @@ " ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1780,7 +1780,7 @@ " ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1858,7 +1858,7 @@ " ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -1937,7 +1937,7 @@ " ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2020,7 +2020,7 @@ " ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2081,7 +2081,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2144,7 +2144,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2206,7 +2206,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2271,7 +2271,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2334,7 +2334,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2397,7 +2397,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2461,7 +2461,7 @@ "
    padding
    ", "" ], - "challengeType": 5, + "challengeType": 0, "nameCn": "", "descriptionCn": [], "nameFr": "", @@ -2474,4 +2474,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/computer-science.json b/seed_data/challenges/computer-science.json index 41932788dc..39a77334fb 100644 --- a/seed_data/challenges/computer-science.json +++ b/seed_data/challenges/computer-science.json @@ -13,7 +13,7 @@ "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 https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z54/z1/ and complete the first week's course work." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -36,7 +36,7 @@ "This will introduce us to loops, a fundamental feature of every programming language.", "Go to https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z100/a7a70ce6e4724c58862ee6007284face/ and complete Week 2." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -59,7 +59,7 @@ "This challenge will also give you an understanding of how bits and bytes work.", "Go to https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z143/z101/ and complete Week 3." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -82,7 +82,7 @@ "Particularly important, you will learn about networks and TCP/IP - the protocol that powers the internet.", "Go to https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z187/z144/ and complete Week 4." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -105,7 +105,7 @@ "We'll also learn the difference between digital data and analog data.", "Go to https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z208/z188/ and complete Week 5." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -129,7 +129,7 @@ "We'll also learn about Computer Security and some of the more common vulnerabilities software systems have.", "Go to https://class.stanford.edu/courses/Engineering/CS101/Summer2014/courseware/z229/z213/ and complete Week 6, the final week of the course." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -143,4 +143,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/full-stack-javascript.json b/seed_data/challenges/full-stack-javascript.json index e92c67a57c..fb9c17ec68 100644 --- a/seed_data/challenges/full-stack-javascript.json +++ b/seed_data/challenges/full-stack-javascript.json @@ -12,7 +12,7 @@ "In this course, we'll build a virtual shop entirely in Angular.js.", "Go to http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/1/section/1/video/1 and complete the section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -35,7 +35,7 @@ "Let's learn how these powerful directives work, and how to use them to make your web apps more dynamic", "Go to http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/2/section/1/video/1 and complete the section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -58,7 +58,7 @@ "Learn how to create reactive Angular.js forms, including real-time form validation.", "Go to http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/3/section/1/video/1 and complete the section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -80,7 +80,7 @@ "Now we'll learn how to modify existing Angular.js directives, and even build directives of your own.", "Go to http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/4/section/1/video/1 and complete the section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -103,7 +103,7 @@ "We'll learn how to use services in this final Code School Angular.js challenge.", "Go to http://campus.codeschool.com/courses/shaping-up-with-angular-js/level/5/section/1/video/1 and complete the section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -155,7 +155,7 @@ "Complete \"Finale\"", "Once you've completed these first 7 challenges, move on to our next waypoint." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -197,7 +197,7 @@ "Complete \"HTTP Client\"", "Once you've completed these first 7 challenges, move on to our next waypoint." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -224,7 +224,7 @@ "Complete \"Time Server\"", "Once you've completed these 3 challenges, move on to our next waypoint." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -251,7 +251,7 @@ "Complete \"HTTP JSON API Server\"", "Once you've completed these final 3 challenges, move on to our next waypoint." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -292,7 +292,7 @@ "Complete \"Time Server\"", "Once you've completed these challenges, move on to our next waypoint." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -315,7 +315,7 @@ "Git is also a great way to share and contribute to open source software.", "Go to https://www.codeschool.com/courses/try-git and complete this short interactive course." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -329,4 +329,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/functional-programming.json b/seed_data/challenges/functional-programming.json index 99b12dfb5f..e13124b304 100644 --- a/seed_data/challenges/functional-programming.json +++ b/seed_data/challenges/functional-programming.json @@ -15,7 +15,7 @@ "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": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -29,4 +29,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/jquery-ajax-and-json.json b/seed_data/challenges/jquery-ajax-and-json.json index 1c3244cb8d..76d9627552 100644 --- a/seed_data/challenges/jquery-ajax-and-json.json +++ b/seed_data/challenges/jquery-ajax-and-json.json @@ -14,7 +14,7 @@ "Codecademy has an excellent free course that will walk us through the basics of jQuery.", "Go to http://www.codecademy.com/courses/web-beginner-en-bay3D/0/1 and complete the first section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -38,7 +38,7 @@ "First, you'll learn about one of the most important jQuery functions of all: $(document).ready().", "Go to http://www.codecademy.com/courses/web-beginner-en-GfjC6/0/1 and complete the second section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -61,7 +61,7 @@ "Let's learn some more advanced ways to use jQuery to manipulate the DOM.", "Go to http://www.codecademy.com/courses/web-beginner-en-v6phg/0/1 and complete the third section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -84,7 +84,7 @@ "Here we'll learn how to use the jQuery click() function to respond to events in the browser.", "Go to http://www.codecademy.com/courses/web-beginner-en-JwhI1/0/1 and complete the fourth section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -107,7 +107,7 @@ "Let's explore some of the fun ways we can manipulate DOM elements with jQuery.", "Go to http://www.codecademy.com/courses/web-beginner-en-jtFIC/0/1 and complete the fifth section." ], - "challengeType": 0, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], @@ -121,4 +121,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/ziplines.json b/seed_data/challenges/ziplines.json index 2ddb0cc748..ad41bd1bb8 100644 --- a/seed_data/challenges/ziplines.json +++ b/seed_data/challenges/ziplines.json @@ -22,7 +22,7 @@ "Now add the following code to your JavaScript: $(document).ready(function() { $('.text-primary').text('Hi CodePen!') });. 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": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -57,7 +57,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -87,7 +87,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -119,7 +119,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -152,7 +152,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -184,7 +184,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -215,7 +215,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -246,7 +246,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -278,7 +278,7 @@ "When you are finished, click the \"I've completed this challenge\" button and include a link to your CodePen. If you pair programmed, you should also include the Free Code Camp username of your pair.", "If you'd like immediate feedback on your project, click this button and paste in a link to your CodePen project. Otherwise, we'll review it before you start your nonprofit projects.

    Click here then add your link to your tweet's text" ], - "challengeType": 0, + "challengeType": 3, "tests": [], "nameCn": "", "descriptionCn": [], @@ -292,4 +292,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} From 077cfabd26d17097fa27c3f04ae9775899aeb2ae Mon Sep 17 00:00:00 2001 From: Quincy Larson Date: Thu, 28 May 2015 02:14:27 -0700 Subject: [PATCH 40/62] one last json fix --- seed_data/challenges/basejumps.json | 4 ++-- seed_data/challenges/ziplines.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/seed_data/challenges/basejumps.json b/seed_data/challenges/basejumps.json index 90543a509c..aa8cac1acc 100644 --- a/seed_data/challenges/basejumps.json +++ b/seed_data/challenges/basejumps.json @@ -60,7 +60,7 @@ "You can push these new commits to GitHub by running git push origin master, and to Heroku by running grunt --force && grunt buildcontrol:heroku.", "Now you're ready to move on to your first Basejump. Click the \"I've completed this challenge\" button and enter the URLs for both your GitHub repository and your live app running on Heroku. If you pair programmed with a friend, enter his or her Free Code Camp username as well so that you both get credit for completing it." ], - "challengeType": 4, + "challengeType": 2, "tests": [] }, { @@ -226,4 +226,4 @@ "descriptionPt": [] } ] -} \ No newline at end of file +} diff --git a/seed_data/challenges/ziplines.json b/seed_data/challenges/ziplines.json index ad41bd1bb8..d48596413c 100644 --- a/seed_data/challenges/ziplines.json +++ b/seed_data/challenges/ziplines.json @@ -22,7 +22,7 @@ "Now add the following code to your JavaScript: $(document).ready(function() { $('.text-primary').text('Hi CodePen!') });. 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, + "challengeType": 2, "tests": [], "nameCn": "", "descriptionCn": [], From 4dcaac8bc58bab9057f6e08ab28c2a39b8086655 Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 06:51:17 -0400 Subject: [PATCH 41/62] Specifies to add a solid border, closes #694 --- seed_data/challenges/basic-html5-and-css.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index e1e4a582dc..bb8c5bd7aa 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -734,7 +734,7 @@ "name": "Waypoint: Add Borders Around your Elements", "difficulty": 0.028, "description": [ - "Create a class called \"thick-green-border\" that puts a 10-pixel-wide green border around an HTML element, and apply it to your cat photo.", + "Create a class called \"thick-green-border\" that puts a 10-pixel-wide green border with a style of \"solid\" around an HTML element, and apply it to your cat photo.", "CSS borders have attributes like style, color and width.", "For example, if we wanted to create a red, 5 pixel border around an HTML element, we could use this class: <style> .thin-red-border { border-color: red; border-width: 5px; border-style: solid; } </style>." ], From e3fff3808e2cbcfe59345a9c78579f6b92cf9227 Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 06:55:03 -0400 Subject: [PATCH 42/62] Linkifies image in custom heading challenge, closes #693 --- seed_data/challenges/bootstrap.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seed_data/challenges/bootstrap.json b/seed_data/challenges/bootstrap.json index a0f662ffb2..67076c6aa8 100644 --- a/seed_data/challenges/bootstrap.json +++ b/seed_data/challenges/bootstrap.json @@ -792,7 +792,7 @@ "We will make a simple heading for our Cat Photo App by putting them in the same row.", "Remember, Bootstrap uses a responsive grid system, which makes it easy to put elements into rows and specify each element's relative width. Most of Bootstrap's classes can be applied to a div element.", "Here's a diagram of how Bootstrap's 12-column grid layout works:", - "", + "", "Note that in this illustration, we use the col-md-* class. Here, \"md\" means \"medium\", and \"*\" is a number specifying how many columns wide the element should be. In this case, we're specifying how many columns wide an element should be on a medium-sized screen, such as a laptop.", "In the Cat Photo App that we're building, we'll use col-xs-*, where \"*\" is the number of columns wide the element should be, and \"xs\" means \"extra small\", like an extra-small mobile phone screen.", "Notice how the image is now just the right size to fit along the text?" From 268f58505075225d4d2953ccd1ebaf132ddd99c8 Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 06:59:11 -0400 Subject: [PATCH 43/62] References correct expressworks challenges, closes #692 --- seed_data/challenges/full-stack-javascript.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/seed_data/challenges/full-stack-javascript.json b/seed_data/challenges/full-stack-javascript.json index fb9c17ec68..c0c564827e 100644 --- a/seed_data/challenges/full-stack-javascript.json +++ b/seed_data/challenges/full-stack-javascript.json @@ -285,11 +285,11 @@ "Note that you can resize the c9.io's windows by dragging their borders.", "Make sure that you are always in your project's \"workspace\" directory. You can always navigate back to this directory by running this command: cd ~/workspace.", "Complete \"Hello World\"", - "Complete \"Juggling Async\"", - "Complete \"Time Server\"", - "Complete \"HTTP Collect\"", - "Complete \"Juggling Async\"", - "Complete \"Time Server\"", + "Complete \"Jade\"", + "Complete \"Good Old Form\"", + "Complete \"Stylish CSS\"", + "Complete \"Session and Cookie\"", + "Complete \"JSON Me\"", "Once you've completed these challenges, move on to our next waypoint." ], "challengeType": 2, From 119060dc3f8df694bd2ee5214a3fb590fc6210d6 Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 07:07:18 -0400 Subject: [PATCH 44/62] Reorder tests to display in clockwise notation, fixes typos in tests to match condition, closes #665 --- seed_data/challenges/basic-html5-and-css.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index bb8c5bd7aa..dcdb7af127 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -2420,10 +2420,10 @@ "You can also use this notation for margins!" ], "tests": [ - "assert($('.green-box').css('margin-left') === '40px', 'Your green-box class should give the left of elements 40px of margin.')", + "assert($('.green-box').css('margin-top') === '40px', 'Your green-box class should give the top of elements 40px of margin.')", + "assert($('.green-box').css('margin-right') === '20px', 'Your green-box class should give the right of elements 20px of margin.')", "assert($('.green-box').css('margin-bottom') === '20px', 'Your green-box class should give the bottom of elements 20px of margin.')", - "assert($('.green-box').css('margin-top') === '40px', 'Your green-box class should give the top of elements 20px of margin.')", - "assert($('.green-box').css('margin-right') === '20px', 'Your green-box class should give the right of elements 20px of margin.')" + "assert($('.green-box').css('margin-left') === '40px', 'Your green-box class should give the left of elements 40px of margin.')" ], "challengeSeed": [ From f6cebdea2755768d20731f281517980c9fc08bae Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 07:20:50 -0400 Subject: [PATCH 45/62] Tests correct tag for presence of href attribute set to '#', closes # 686 --- seed_data/challenges/basic-html5-and-css.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/seed_data/challenges/basic-html5-and-css.json b/seed_data/challenges/basic-html5-and-css.json index dcdb7af127..79d5d1e8ba 100644 --- a/seed_data/challenges/basic-html5-and-css.json +++ b/seed_data/challenges/basic-html5-and-css.json @@ -1099,7 +1099,8 @@ "Once you've done this, hover over your image with your cursor. Your cursor's normal pointer should become the link clicking pointer. The photo is now a link." ], "tests": [ - "expect($('a').children('img').length, 'Wrap your image element inside an anchor element that has its href attribute set to \"#\"').to.equal(1);" + "expect($('a').children('img').length, 'Wrap your image element inside an anchor element that has its href attribute set to \"#\"').to.equal(1);", + "expect(new RegExp('#').test($('a').children('img').parent().attr('href')), 'Make sure to specify the \"src\" attritube as \"#\"').to.be.true;" ], "challengeSeed": [ "", From 718ae04f2fe6865a1aa3d7ad7bd626f0f5663f95 Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 08:26:25 -0400 Subject: [PATCH 46/62] Add ability to test editor contents. Ensures classes are implemented, closes # 684 --- .../coursewaresHCJQFramework_0.1.5.js | 13 ++++-------- .../js/lib/coursewares/iFrameScripts_0.0.2.js | 19 ------------------ .../js/lib/coursewares/iFrameScripts_0.0.3.js | 20 +++++++++++++++++++ seed_data/challenges/basic-html5-and-css.json | 3 +++ 4 files changed, 27 insertions(+), 28 deletions(-) delete mode 100644 public/js/lib/coursewares/iFrameScripts_0.0.2.js create mode 100644 public/js/lib/coursewares/iFrameScripts_0.0.3.js diff --git a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.5.js b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.5.js index f38739c15a..050a9fbc54 100644 --- a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.5.js +++ b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.5.js @@ -49,14 +49,9 @@ var libraryIncludes = ""; +var iFrameScript = ""; var delay; // Initialize CodeMirror editor with a nice html5 canvas demo. diff --git a/public/js/lib/coursewares/iFrameScripts_0.0.3.js b/public/js/lib/coursewares/iFrameScripts_0.0.4.js similarity index 100% rename from public/js/lib/coursewares/iFrameScripts_0.0.3.js rename to public/js/lib/coursewares/iFrameScripts_0.0.4.js diff --git a/views/coursewares/showHTML.jade b/views/coursewares/showHTML.jade index 2e61cdb927..d01f48929c 100644 --- a/views/coursewares/showHTML.jade +++ b/views/coursewares/showHTML.jade @@ -91,4 +91,4 @@ block content .animated.zoomInDown.delay-half span.completion-icon.ion-checkmark-circled.text-primary a.animated.fadeIn.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress - script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.5.js") + script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.6.js") From 193f9d16db52441f70f429ff97448d97ab3d963e Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Thu, 28 May 2015 19:51:42 -0400 Subject: [PATCH 62/62] Set a refresh on codemirror instance rather than setting the cursor position. Closes #640 --- ...Framework_0.1.6.js => coursewaresHCJQFramework_0.1.7.js} | 6 +++++- views/coursewares/showHTML.jade | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) rename public/js/lib/coursewares/{coursewaresHCJQFramework_0.1.6.js => coursewaresHCJQFramework_0.1.7.js} (98%) diff --git a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.6.js b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.7.js similarity index 98% rename from public/js/lib/coursewares/coursewaresHCJQFramework_0.1.6.js rename to public/js/lib/coursewares/coursewaresHCJQFramework_0.1.7.js index c4a84715fd..df3bced07a 100644 --- a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.6.js +++ b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.7.js @@ -106,7 +106,11 @@ var allSeeds = ''; allSeeds += elem.replace(/fccss/g, '') + '\n'; }); editor.setValue(allSeeds); - editor.setCursor(15); + (function() { + setTimeout(function() { + editor.refresh(); + }, 200); + })(); })(); diff --git a/views/coursewares/showHTML.jade b/views/coursewares/showHTML.jade index d01f48929c..6451bfb2c4 100644 --- a/views/coursewares/showHTML.jade +++ b/views/coursewares/showHTML.jade @@ -91,4 +91,4 @@ block content .animated.zoomInDown.delay-half span.completion-icon.ion-checkmark-circled.text-primary a.animated.fadeIn.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress - script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.6.js") + script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.7.js")