diff --git a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.3.js b/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.3.js
deleted file mode 100644
index 7cd54b3210..0000000000
--- a/public/js/lib/coursewares/coursewaresHCJQFramework_0.1.3.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/**
- * 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("
")
- .appendTo($('#testSuite'));
- testSuccess();
-};
-
-var postError = function(data) {
- var testDoc = document.createElement("div");
- $(testDoc)
- .html("")
- .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("")
+ .appendTo($('#testSuite'));
+ testSuccess();
+};
+
+var postError = function(data) {
+ var testDoc = document.createElement("div");
+ $(testDoc)
+ .html("")
+ .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")