Merge pull request #441 from QuincyLarson/bonfire-improvements
Bonfire improvements
This commit is contained in:
@ -24,6 +24,7 @@
|
|||||||
"bootstrap": "~3.3.4",
|
"bootstrap": "~3.3.4",
|
||||||
"font-awesome": "~4.3.0",
|
"font-awesome": "~4.3.0",
|
||||||
"moment": "~2.10.2",
|
"moment": "~2.10.2",
|
||||||
"angular-bootstrap": "~0.13.0"
|
"angular-bootstrap": "~0.13.0",
|
||||||
|
"ramda": "~0.13.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,15 +9,17 @@ exports.returnIndividualFieldGuide = function(req, res, next) {
|
|||||||
|
|
||||||
var fieldGuideName = dashedName.replace(/\-/g, ' ');
|
var fieldGuideName = dashedName.replace(/\-/g, ' ');
|
||||||
|
|
||||||
var completed = req.user.completedFieldGuides;
|
if (req.user) {
|
||||||
|
var completed = req.user.completedFieldGuides;
|
||||||
|
|
||||||
var uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) {
|
var uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) {
|
||||||
if (completed.indexOf(elem) === -1) {
|
if (completed.indexOf(elem) === -1) {
|
||||||
return elem;
|
return elem;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
req.user.uncompletedFieldGuides = uncompletedFieldGuides;
|
req.user.uncompletedFieldGuides = uncompletedFieldGuides;
|
||||||
req.user.save();
|
req.user.save();
|
||||||
|
}
|
||||||
|
|
||||||
FieldGuide.find({'name': new RegExp(fieldGuideName, 'i')}, function(err, fieldGuideFromMongo) {
|
FieldGuide.find({'name': new RegExp(fieldGuideName, 'i')}, function(err, fieldGuideFromMongo) {
|
||||||
if (err) {
|
if (err) {
|
||||||
@ -59,7 +61,7 @@ exports.showAllFieldGuides = function(req, res) {
|
|||||||
|
|
||||||
exports.returnNextFieldGuide = function(req, res, next) {
|
exports.returnNextFieldGuide = function(req, res, next) {
|
||||||
if (!req.user) {
|
if (!req.user) {
|
||||||
return res.redirect('../field-guide/how-do-i-use-this-guide?');
|
return res.redirect('/field-guide/how-do-i-use-this-guide?');
|
||||||
}
|
}
|
||||||
|
|
||||||
var displayedFieldGuides = FieldGuide.find({'_id': req.user.uncompletedFieldGuides[0]});
|
var displayedFieldGuides = FieldGuide.find({'_id': req.user.uncompletedFieldGuides[0]});
|
||||||
|
@ -57,7 +57,7 @@ gulp.task('sync', ['serve'], function() {
|
|||||||
logLeval: 'debug',
|
logLeval: 'debug',
|
||||||
files: ['public/js/lib/*/*.{js, jsx}'],
|
files: ['public/js/lib/*/*.{js, jsx}'],
|
||||||
port: 3001,
|
port: 3001,
|
||||||
open: true,
|
open: false,
|
||||||
reloadDelay: reloadDelay
|
reloadDelay: reloadDelay
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -729,7 +729,7 @@ div.CodeMirror-scroll {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.test-vertical-center {
|
.test-vertical-center {
|
||||||
margin-top: 15px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cm-s-monokai.CodeMirror {
|
.cm-s-monokai.CodeMirror {
|
||||||
@ -1073,6 +1073,10 @@ hr {
|
|||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.grayed-out-test-output {
|
||||||
|
color: @gray-light;
|
||||||
|
}
|
||||||
|
|
||||||
//uncomment this to see the dimensions of all elements outlined in red
|
//uncomment this to see the dimensions of all elements outlined in red
|
||||||
//* {
|
//* {
|
||||||
// border-color: red;
|
// border-color: red;
|
||||||
|
@ -197,11 +197,11 @@ var createTestDisplay = function() {
|
|||||||
var testDoc = document.createElement("div");
|
var testDoc = document.createElement("div");
|
||||||
if (test.err != null) {
|
if (test.err != null) {
|
||||||
$(testDoc)
|
$(testDoc)
|
||||||
.html("<div class='row'><div class='col-xs-1 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-11 test-output wrappable'>" + test.text + "</div><div class='col-xs-11 test-output wrappable'>" + test.err + "</div></div><div class='ten-pixel-break'/>")
|
.html("<div class='row'><div class='col-xs-1 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-11 test-output wrappable grayed-out-test-output'>" + test.text + "</div><div class='col-xs-11 test-output wrappable'>" + test.err + "</div></div><div class='ten-pixel-break'/>")
|
||||||
.prependTo($('#testSuite'))
|
.prependTo($('#testSuite'))
|
||||||
} else {
|
} else {
|
||||||
$(testDoc)
|
$(testDoc)
|
||||||
.html("<div class='row'><div class='col-xs-1 text-center'><i class='ion-checkmark-circled big-success-icon'></i></div><div class='col-xs-11 test-output test-vertical-center wrappable'>" + test.text + "</div></div><div class='ten-pixel-break'/>")
|
.html("<div class='row'><div class='col-xs-1 text-center'><i class='ion-checkmark-circled big-success-icon'></i></div><div class='col-xs-11 test-output test-vertical-center wrappable '>" + test.text + "</div></div><div class='ten-pixel-break'/>")
|
||||||
.appendTo($('#testSuite'));
|
.appendTo($('#testSuite'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -209,6 +209,7 @@ var createTestDisplay = function() {
|
|||||||
var assert = chai.assert;
|
var assert = chai.assert;
|
||||||
var expect = chai.expect;
|
var expect = chai.expect;
|
||||||
var should = chai.should();
|
var should = chai.should();
|
||||||
|
chai.config.showDiff = true;
|
||||||
|
|
||||||
var reassembleTest = function(test, data) {
|
var reassembleTest = function(test, data) {
|
||||||
var lineNum = test.line;
|
var lineNum = test.line;
|
||||||
@ -233,7 +234,7 @@ var runTests = function(err, data) {
|
|||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
allTestsPassed = false;
|
allTestsPassed = false;
|
||||||
arr[ix].err = error.name + ":" + error.message;
|
arr[ix].err = error.message;
|
||||||
} finally {
|
} finally {
|
||||||
if (!test) {
|
if (!test) {
|
||||||
createTestDisplay();
|
createTestDisplay();
|
@ -56,7 +56,7 @@ var allTests = '';
|
|||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
var otherTestsForNow = "<script src='/js/lib/coursewares/iFrameScripts.js'></script>";
|
var otherTestsForNow = "<script src='/js/lib/coursewares/iFrameScripts_0.0.1.js'></script>";
|
||||||
|
|
||||||
var delay;
|
var delay;
|
||||||
// Initialize CodeMirror editor with a nice html5 canvas demo.
|
// Initialize CodeMirror editor with a nice html5 canvas demo.
|
||||||
@ -92,7 +92,7 @@ var postSuccess = function(data) {
|
|||||||
var postError = function(data) {
|
var postError = function(data) {
|
||||||
var testDoc = document.createElement("div");
|
var testDoc = document.createElement("div");
|
||||||
$(testDoc)
|
$(testDoc)
|
||||||
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-10 test-output wrappable'>" + JSON.parse(data) + "</div></div><div class='ten-pixel-break'/>")
|
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-10 test-vertical-center test-output wrappable'>" + JSON.parse(data) + "</div></div><div class='ten-pixel-break'/>")
|
||||||
.prependTo($('#testSuite'))
|
.prependTo($('#testSuite'))
|
||||||
};
|
};
|
||||||
var goodTests = 0;
|
var goodTests = 0;
|
@ -182,11 +182,11 @@ var createTestDisplay = function() {
|
|||||||
if (test.err != null) {
|
if (test.err != null) {
|
||||||
console.log('Should be displaying bad tests');
|
console.log('Should be displaying bad tests');
|
||||||
$(testDoc)
|
$(testDoc)
|
||||||
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-10 test-output wrappable'>" + test.text + "</div><div class='col-xs-10 test-output wrappable'>" + test.err + "</div></div><div class='ten-pixel-break'/>")
|
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-10 test-output wrappable test-vertical-center grayed-out-test-output'>" + test.text + "</div><div class='col-xs-10 test-output wrappable'>" + test.err + "</div></div><div class='ten-pixel-break'/>")
|
||||||
.prependTo($('#testSuite'))
|
.prependTo($('#testSuite'))
|
||||||
} else {
|
} else {
|
||||||
$(testDoc)
|
$(testDoc)
|
||||||
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-checkmark-circled big-success-icon'></i></div><div class='col-xs-10 test-output test-vertical-center wrappable'>" + test.text + "</div></div><div class='ten-pixel-break'/>")
|
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-checkmark-circled big-success-icon'></i></div><div class='col-xs-10 test-output test-vertical-center wrappable grayed-out-test-output'>" + test.text + "</div></div><div class='ten-pixel-break'/>")
|
||||||
.appendTo($('#testSuite'));
|
.appendTo($('#testSuite'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -218,7 +218,7 @@ var runTests = function(err, data) {
|
|||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
allTestsPassed = false;
|
allTestsPassed = false;
|
||||||
arr[ix].err = error.name + ":" + error.message;
|
arr[ix].err = error.message;
|
||||||
} finally {
|
} finally {
|
||||||
if (!test) {
|
if (!test) {
|
||||||
createTestDisplay();
|
createTestDisplay();
|
@ -9,10 +9,10 @@
|
|||||||
} catch (err) {
|
} catch (err) {
|
||||||
allTestsGood = false;
|
allTestsGood = false;
|
||||||
thisTest = false;
|
thisTest = false;
|
||||||
parent.postError(JSON.stringify(tests[i]));
|
parent.postError(JSON.stringify(err.message.split(':').shift()));
|
||||||
} finally {
|
} finally {
|
||||||
if (thisTest) {
|
if (thisTest) {
|
||||||
parent.postSuccess(JSON.stringify(tests[i]));
|
parent.postSuccess(JSON.stringify(tests[i].split(',').pop().replace(/\'/g, '').replace(/\)/, '')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -29,6 +29,7 @@
|
|||||||
"Now check your email and click the link in the email from Slack",
|
"Now check your email and click the link in the email from Slack",
|
||||||
"Complete the sign up process, then update your biographical information and upload an image. A picture of your face works best. This is how people will see you in the chat room, so put your best foot forward.",
|
"Complete the sign up process, then update your biographical information and upload an image. A picture of your face works best. This is how people will see you in the chat room, so put your best foot forward.",
|
||||||
"Now enter the general chat room and introduce yourself to our chat room by typing: \"hello world!\".",
|
"Now enter the general chat room and introduce yourself to our chat room by typing: \"hello world!\".",
|
||||||
|
"Note that you're expected to follow our Code of Conduct: <a href='/field-guide/what-is-free-code-camp's-code-of-conduct' target='_blank'>http://freecodecamp.com/field-guide/what-is-free-code-camp's-code-of-conduct</a>.",
|
||||||
"Tell your fellow campers how you found Free Code Camp. Also tell us why you want to learn to code.",
|
"Tell your fellow campers how you found Free Code Camp. Also tell us why you want to learn to code.",
|
||||||
"Keep the chat room open while you work through the other challenges. That way you ask for help if you get stuck on a challenge. You can also socialize when you feel like taking a break.",
|
"Keep the chat room open while you work through the other challenges. That way you ask for help if you get stuck on a challenge. You can also socialize when you feel like taking a break.",
|
||||||
"You can also access this chat room by clicking the \"Chat\" button in the upper right hand corner."
|
"You can also access this chat room by clicking the \"Chat\" button in the upper right hand corner."
|
||||||
|
@ -283,17 +283,41 @@
|
|||||||
" <h3>",
|
" <h3>",
|
||||||
" <ol>",
|
" <ol>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.atlanta/' target='_blank'>Atlanta</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.atlanta/' target='_blank'>Atlanta</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.bandung/' target='_blank'>Bandung</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.berkeley/' target='_blank'>Berkeley</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.berlin/' target='_blank'>Berlin</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.cincinnati/' target='_blank'>Cincinnati</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.denver/' target='_blank'>Denver</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.dubai/' target='_blank'>Dubai</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.hyderabad/' target='_blank'>Hyderabad</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.kalamazoo/' target='_blank'>Kalamazoo</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.karachi/' target='_blank'>Karachi</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.karachi/' target='_blank'>Karachi</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.london/' target='_blank'>London</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.los.angeles/' target='_blank'>Los Angeles</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.los.angeles/' target='_blank'>Los Angeles</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.manila/' target='_blank'>Manila</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.miami/' target='_blank'>Miami</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.minneapolis/' target='_blank'>Minneapolis</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.minneapolis/' target='_blank'>Minneapolis</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.missoula/' target='_blank'>Missoula</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.nashville/' target='_blank'>Nashville</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.new.york.city/' target='_blank'>New York City</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.oxford.al/' target='_blank'>Oxford, Alabama</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.paris/' target='_blank'>Paris</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.paris/' target='_blank'>Paris</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.philadelphia/' target='_blank'>Philadelphia</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.philadelphia/' target='_blank'>Philadelphia</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.pittsburgh.pa/' target='_blank'>Pittsburgh</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Phoenix</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Phoenix</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.providence/' target='_blank'>Providence</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.richmond/' target='_blank'>Richmond</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.rio.de.janeiro/' target='_blank'>Rio de Janeiro</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.bernardino/' target='_blank'>San Bernardino</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.diego/' target='_blank'>San Diego</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.diego/' target='_blank'>San Diego</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.francisco' target='_blank'>San Francisco</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.francisco' target='_blank'>San Francisco</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.jose' target='_blank'>San Jose</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Scottsdale</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Scottsdale</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.seattle/' target='_blank'>Seattle</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.taipei/' target='_blank'>Taipei</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.tampa/' target='_blank'>Tampa</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.tampa/' target='_blank'>Tampa</a></li>",
|
||||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Tempe</a></li>",
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.tempe.phoenix.scottsdale/' target='_blank'>Tempe</a></li>",
|
||||||
|
" <li><a href='https://www.facebook.com/groups/free.code.camp.washington.dc/' target='_blank'>Washington, DC</a></li>",
|
||||||
" </ol>",
|
" </ol>",
|
||||||
" </h3>",
|
" </h3>",
|
||||||
" <h3>If you didn't see your city on this list, you should create your own Facebook group for your city. Please follow these steps:</h3>",
|
" <h3>If you didn't see your city on this list, you should create your own Facebook group for your city. Please follow these steps:</h3>",
|
||||||
@ -318,7 +342,8 @@
|
|||||||
" <img class='img-responsive img-center' src='https://www.evernote.com/shard/s116/sh/e13808ea-f084-46f1-95bc-63db524383d5/0586484d44360e73e9acda956dad7f6a/deep/0/Free-Code-Camp-Testland.png' alt='A screen shot showing you the group description box on the Facebook page.'>",
|
" <img class='img-responsive img-center' src='https://www.evernote.com/shard/s116/sh/e13808ea-f084-46f1-95bc-63db524383d5/0586484d44360e73e9acda956dad7f6a/deep/0/Free-Code-Camp-Testland.png' alt='A screen shot showing you the group description box on the Facebook page.'>",
|
||||||
" <li>Click the \"Upload a photo button. To start out, you'll probably just want to use Free Code Camp's banner (download it <a href='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png'>here</a>), or a scenic shot of your city. Later you can update this with a picture from one of your city's Free Code Camp events.</li>",
|
" <li>Click the \"Upload a photo button. To start out, you'll probably just want to use Free Code Camp's banner (download it <a href='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png'>here</a>), or a scenic shot of your city. Later you can update this with a picture from one of your city's Free Code Camp events.</li>",
|
||||||
" <img class='img-responsive img-center' src='https://www.evernote.com/shard/s116/sh/fabe226a-5a26-4508-b015-1dac35192a21/37f8119dc57845a31e972217714b038b/deep/0/Free-Code-Camp-Testland.png' alt='A screenshot showing the \"Upload a photo\" button.'>",
|
" <img class='img-responsive img-center' src='https://www.evernote.com/shard/s116/sh/fabe226a-5a26-4508-b015-1dac35192a21/37f8119dc57845a31e972217714b038b/deep/0/Free-Code-Camp-Testland.png' alt='A screenshot showing the \"Upload a photo\" button.'>",
|
||||||
" <li>Finally, message @quincylarson in Slack with a link to your city's group page and he'll include it here.</li>",
|
" <li>Message @quincylarson in Slack with a link to your city's group page and he'll include it here.</li>",
|
||||||
|
" <li>Join our #local-group-leaders channel on Slack, where we share ideas about involving campers in your city.</li>",
|
||||||
" </ol>",
|
" </ol>",
|
||||||
" </h3>",
|
" </h3>",
|
||||||
" <h3>If you don't have a Facebook page, we strongly recommend you create one, even if it's just for the purpose of coordinating with campers in your city through this group.</h3>",
|
" <h3>If you don't have a Facebook page, we strongly recommend you create one, even if it's just for the purpose of coordinating with campers in your city through this group.</h3>",
|
||||||
@ -343,10 +368,10 @@
|
|||||||
" <h2>We're happy to do a quick interview for your publication or show. Here's whom you should contact about what, and how to best reach them:</h2>",
|
" <h2>We're happy to do a quick interview for your publication or show. Here's whom you should contact about what, and how to best reach them:</h2>",
|
||||||
" <h3>",
|
" <h3>",
|
||||||
" <ol>",
|
" <ol>",
|
||||||
" <li>Want to talk to about Free Code Camp's curriculum or long-term vision? Reach out to Quincy Larson. He's <a href='https://twitter.com/ossia' target='_blank'>@ossia</a> on Twitter and <a href='https://freecode.slack.com/team/quincylarson' target='_blank'>@quincylarson on Slack.</li>",
|
" <li>Want to talk to about Free Code Camp's curriculum or long-term vision? Reach out to Quincy Larson. He's <a href='https://twitter.com/ossia' target='_blank'>@ossia</a> on Twitter and <a href='https://freecode.slack.com/team/quincylarson' target='_blank'>@quincylarson</a> on Slack.</li>",
|
||||||
" <li>Want to talk about Free Code Camp's open source codebase, infrastructure, or JavaScript in general? Talk to Nathan Leniz. He's <a href='https://twitter.com/terakilobyte' target='_blank'>@terakilobyte</a> on Twitter and <https://freecode.slack.com/team/terakilobyte' target='_blank'>@terakilobyte</a> on Slack.</li>",
|
" <li>Want to talk about Free Code Camp's open source codebase, infrastructure, or JavaScript in general? Talk to Nathan Leniz. He's <a href='https://twitter.com/terakilobyte' target='_blank'>@terakilobyte</a> on Twitter and <a href='https://freecode.slack.com/team/terakilobyte' target='_blank'>@terakilobyte</a> on Slack.</li>",
|
||||||
" <li>Want to explore our efforts to empower nonprofits with code? Michael D. Johnson eats, sleeps and breathes that. He's <a href='https://twitter.com/figitalboy' target='_blank'>@figitalboy</a> on Twitter and <https://freecode.slack.com/team/codenonprofit' target='_blank'>@codenonprofit</a> on Slack.</li>",
|
" <li>Want to explore our efforts to empower nonprofits with code? Michael D. Johnson eats, sleeps and breathes that. He's <a href='https://twitter.com/figitalboy' target='_blank'>@figitalboy</a> on Twitter and <a href='https://freecode.slack.com/team/codenonprofit' target='_blank'>@codenonprofit</a> on Slack.</li>",
|
||||||
" <li>Want to get a camper's perspective on our community? Talk with Bianca Mihai (<a href='https://freecode.slack.com/team/biancamihai' target='_blank'>@biancamihai</a> on Slack and <a href='https://twitter.com/bubuslubu' target='_blank'>@bubuslubu</a> on Twitter) or Suzanne Atkinson (<a href='https://freecode.slack.com/team/adventurebear' target='_blank'>@adventurebear on Slack and <a href='https://twitter.com/SteelCityCoach' target='_blank'>@steelcitycoach</a> on Twitter).",
|
" <li>Want to get a camper's perspective on our community? Talk with Bianca Mihai (<a href='https://freecode.slack.com/team/biancamihai' target='_blank'>@biancamihai</a> on Slack and <a href='https://twitter.com/bubuslubu' target='_blank'>@bubuslubu</a> on Twitter) or Suzanne Atkinson (<a href='https://freecode.slack.com/team/adventurebear' target='_blank'>@adventurebear</a> on Slack and <a href='https://twitter.com/SteelCityCoach' target='_blank'>@steelcitycoach</a> on Twitter).",
|
||||||
" </ol>",
|
" </ol>",
|
||||||
" </h3>",
|
" </h3>",
|
||||||
" <h3>We strive to be helpful and transparent in everything we do. We'll do what we can to help you share our community with your audience.</h3>",
|
" <h3>We strive to be helpful and transparent in everything we do. We'll do what we can to help you share our community with your audience.</h3>",
|
||||||
@ -547,6 +572,30 @@
|
|||||||
"</div>"
|
"</div>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"_id": "bd7158d9c451eddfaeb5bdee",
|
||||||
|
"name": "What is Free Code Camp's Code of Conduct?",
|
||||||
|
"description": [
|
||||||
|
"<div class='col-xs-12 col-sm-10 col-sm-offset-1'>",
|
||||||
|
" <h2>Free Code Camp is friendly place to learn to code. We're committed to keeping it that way.</h2>",
|
||||||
|
" <h3>All campers are required to agree with the following code of conduct. We'll enforce this code. We're expecting cooperation from all campers in ensuring a friendly environment for everybody.</h3>",
|
||||||
|
" <h2>In short: be nice to your fellow campers.</h2>",
|
||||||
|
" <h2>Remember these 3 things and your fellow campers will like you:</h2>",
|
||||||
|
" <h3>",
|
||||||
|
" <ol>",
|
||||||
|
" <li>Compliment your fellow campers when they do good work. Congratulate them when they accomplish something (like finishing a nonprofit project or getting a job).</li>",
|
||||||
|
" <li>Critique the work, not the camper doing it.</li>",
|
||||||
|
" <li>Only argue about something if it's important to the greater discussion.</li>",
|
||||||
|
" </ol>",
|
||||||
|
" </h3>",
|
||||||
|
" <h3>Free Code Camp should be a harassment-free experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, national origin, or religion (or lack thereof).</h3>",
|
||||||
|
" <h3>We do not tolerate harassment of campers in any form, anywhere on Free Code Camp's online media (Slack, Twitch, etc.) or during pair programming. Harassment includes sexual language and imagery, deliberate intimidation, stalking, unwelcome sexual attention, libel, and any malicious hacking or social engineering.</h3>",
|
||||||
|
" <h3>If a camper engages in harassing behavior, our team will take any action we deem appropriate, up to and including banning them from Free Code Camp.</h3>",
|
||||||
|
" <h3>We want everyone to feel safe and respected. If you are being harassed or notice that someone else is being harassed, say something! Message @quincylarson, @terakilobyte and @codenonprofit in Slack (preferably with a screen shot of the offending language) so we can take fast action.</h3>",
|
||||||
|
" <h3>If you have questions about this code of conduct, email us at <a href='mailto:team@freecodecamp.com'>team@freecodecamp.com</a>.</h3>",
|
||||||
|
"</div>"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"_id": "bd7158d9c451eddfaeb5bdef",
|
"_id": "bd7158d9c451eddfaeb5bdef",
|
||||||
"name": "What is Free Code Camp's Privacy Policy?",
|
"name": "What is Free Code Camp's Privacy Policy?",
|
||||||
|
@ -15,8 +15,6 @@ block content
|
|||||||
script(type='text/javascript', src='/js/lib/codemirror/mode/javascript/javascript.js')
|
script(type='text/javascript', src='/js/lib/codemirror/mode/javascript/javascript.js')
|
||||||
script(type='text/javascript', src='/js/lib/jailed/jailed.js')
|
script(type='text/javascript', src='/js/lib/jailed/jailed.js')
|
||||||
script(type='text/javascript', src='/js/lib/bonfire/bonfireInit.js')
|
script(type='text/javascript', src='/js/lib/bonfire/bonfireInit.js')
|
||||||
script(type='text/javascript', src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.13.0/ramda.min.js")
|
|
||||||
|
|
||||||
|
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-12.col-md-4.bonfire-top
|
.col-xs-12.col-sm-12.col-md-4.bonfire-top
|
||||||
@ -106,7 +104,7 @@ block content
|
|||||||
form.code
|
form.code
|
||||||
.form-group.codeMirrorView
|
.form-group.codeMirrorView
|
||||||
textarea#codeEditor(autofocus=true, style='display: none;')
|
textarea#codeEditor(autofocus=true, style='display: none;')
|
||||||
script(src='/js/lib/bonfire/bonfireFramework_v0.1.2.js')
|
script(src='/js/lib/bonfire/bonfireFramework_v0.1.3.js')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -82,4 +82,4 @@ block content
|
|||||||
.animated.zoomInDown.delay-half
|
.animated.zoomInDown.delay-half
|
||||||
span.completion-icon.ion-checkmark-circled.text-primary
|
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
|
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_v0.1.1.js")
|
script(src="/js/lib/coursewares/coursewaresHCJQFramework_0.1.1.js")
|
||||||
|
@ -56,7 +56,7 @@ block content
|
|||||||
form.code
|
form.code
|
||||||
.form-group.codeMirrorView
|
.form-group.codeMirrorView
|
||||||
textarea#codeEditor(autofocus=true, style='display: none;')
|
textarea#codeEditor(autofocus=true, style='display: none;')
|
||||||
script(src='/js/lib/coursewares/coursewaresJSFramework.js')
|
script(src='/js/lib/coursewares/coursewaresJSFramework_0.0.1.js')
|
||||||
#complete-courseware-dialog.modal(tabindex='-1')
|
#complete-courseware-dialog.modal(tabindex='-1')
|
||||||
.modal-dialog.animated.zoomIn.fast-animation
|
.modal-dialog.animated.zoomIn.fast-animation
|
||||||
.modal-content
|
.modal-content
|
||||||
|
@ -30,9 +30,10 @@ h3
|
|||||||
} else {
|
} else {
|
||||||
$(div).html("<div class='row'>" +
|
$(div).html("<div class='row'>" +
|
||||||
"<div class='hidden-xs col-sm-3 col-md-2'></div>" +
|
"<div class='hidden-xs col-sm-3 col-md-2'></div>" +
|
||||||
"<div class='col-xs-12 col-sm-9 col-md-10'>" +
|
"<div class='col-xs-12 col-sm-6 col-md-8'>" +
|
||||||
"<li><a href='/field-guide/" + linkedName + "'>" + data.fieldGuideList[i].name + "</a></li>" +
|
"<li><a href='/field-guide/" + linkedName + "'>" + data.fieldGuideList[i].name + "</a></li>" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
|
"<div class='col-sm-3 col-md-2'></div>" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>");
|
"</div>");
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ script(src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstra
|
|||||||
script.
|
script.
|
||||||
if (typeof($.fn.modal) === 'undefined') {
|
if (typeof($.fn.modal) === 'undefined') {
|
||||||
document.write('<script src="/bower_components/bootstrap/dist/js/bootstrap.min.js"><\/script>');
|
document.write('<script src="/bower_components/bootstrap/dist/js/bootstrap.min.js"><\/script>');
|
||||||
};
|
}
|
||||||
|
|
||||||
script(src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js")
|
script(src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js")
|
||||||
script.
|
script.
|
||||||
@ -36,6 +36,8 @@ script(src="/js/main.js")
|
|||||||
|
|
||||||
script(src="/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js")
|
script(src="/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js")
|
||||||
|
|
||||||
|
script(src="/bower_components/ramda/dist/ramda.min.js")
|
||||||
|
|
||||||
link(rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lato:400|Inconsolata")
|
link(rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lato:400|Inconsolata")
|
||||||
|
|
||||||
link(rel="stylesheet" type="text/css" href="/bower_components/cal-heatmap/cal-heatmap.css")
|
link(rel="stylesheet" type="text/css" href="/bower_components/cal-heatmap/cal-heatmap.css")
|
||||||
|
Reference in New Issue
Block a user