Merge branch 'interview' into staging

Conflicts:
	app.js
	controllers/challenge.js
	seed/future-jquery-ajax-json.json
This commit is contained in:
Quincy Larson
2015-06-14 01:02:39 -07:00
8 changed files with 446 additions and 195 deletions

View File

@ -176,8 +176,8 @@ ul {
font-size: 26px;
}
.ten-pixel-break {
height: 10px;
.five-pixel-break {
height: 5px;
}
.fifteen-pixel-break {
@ -201,12 +201,12 @@ ul {
.responsive-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.responsive-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.positive-5 {
margin-top: 5px;
.positive-10 {
margin-top: 10px;
}
.positive-10 {
padding-top: 10px;
.positive-15-bottom {
margin-bottom: 15px;
}
.positive-15 {
@ -251,6 +251,10 @@ ul {
margin-top: -20px;
}
.negative-bottom-margin-30 {
margin-bottom: -30px;
}
.large-p {
font-size: 18px;
}

View File

@ -90,7 +90,7 @@ var testResults = [];
var postSuccess = function(data) {
var testDoc = document.createElement("div");
$(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'>" + JSON.parse(data) + "</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'>" + JSON.parse(data) + "</div>");
$('#testSuite').append(testDoc);
testSuccess();
};
@ -98,7 +98,7 @@ var postSuccess = function(data) {
var postError = function(data) {
var testDoc = document.createElement("div");
$(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-vertical-center 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>");
$('#testSuite').append(testDoc);
};
var goodTests = 0;

View File

@ -3,18 +3,21 @@
var tests = parent.tests;
var editor = parent.editorValueForIFrame;
for (var i = 0; i < tests.length; i++) {
var thisTest = true;
try {
eval(parent.tests[i]);
} catch (err) {
allTestsGood = false;
thisTest = false;
parent.postError(JSON.stringify(err.message.split(':').shift()));
} finally {
if (thisTest) {
parent.postSuccess(JSON.stringify(tests[i].split(',').pop().replace(/\'/g, '').replace(/\)/, '')));
setTimeout(function() {
for (var i = 0; i < tests.length; i++) {
var thisTest = true;
try {
eval(parent.tests[i]);
} catch (err) {
allTestsGood = false;
thisTest = false;
parent.postError(JSON.stringify(err.message.split(':').shift()));
} finally {
if (thisTest) {
parent.postSuccess(JSON.stringify(tests[i].split(',').pop().replace(
/\'/g, '').replace(/\)/, '')));
}
}
}
}
}, 10);
})();

View File

@ -46,9 +46,8 @@
"dashedName": "bonfire-meet-bonfire",
"difficulty": "0",
"description": [
"Click the button below for further instructions.",
"Your goal is to fix the failing test.",
"First, run all the tests by clicking \"Run code\" or by pressing Control + Enter",
"First, run all the tests by clicking \"Run code\" or by pressing Control + Enter.",
"The failing test is in red. Fix the code so that all tests pass. Then you can move on to the next Bonfire.",
"Make this function return true no matter what."
],

View File

@ -1,73 +1,231 @@
{
"name": "jQuery, Ajax and JSON",
"order" : 0.004,
"challenges": [
{
"order": 0.004,
"challenges": [{
"id": "bad87fee1348bd9acdd08826",
"name": "Waypoint: Learn how Script Tags and Document Ready Work",
"difficulty": 0.072,
"description": [
"Test"
"We've simplified our Cat Photo App and removed our <code>style</code> element. Add a <code>script</code> element to your page and create a <code>$(document).ready</code> function within it.",
"Add <code>$(document).ready(function() {</code> to your <code>script</code> element, and then close it on the following line with <code>});</code>."
],
"tests": [
"assert(typeof $('#target').attr('disabled') === 'undefined', 'Change the disabled attribute of the \"target\" button to false');",
"expect($('#target')).to.exist()"
"assert(editor.match(/<script>/g), 'Create a <code>script</code> element.')",
"assert(editor.match(/<\\/script>/g) && editor.match(/<script/g) && editor.match(/<\\/script>/g).length === editor.match(/<script/g).length, 'Make sure your <code>script</code> element has a closing tag.')",
"assert(editor.match(/\\$\\(document\\)\\.ready\\(function\\(\\)\\s?\\{/g), 'Add <code>$(document).ready(function() {</code> to the beginning of your <code>script</code> element.')",
"assert(editor.match(/\\n\\s+?\\}\\);/g), 'Close your <code>$(document).ready(function() {</code> function with <code>\\}\\);</code>.')"
],
"challengeSeed": [
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
{
"id": "bad87fee1348bd9bedc08826",
"name": "Waypoint: Target Elements by Selectors Using jQuery",
"difficulty": 0.073,
"description": [
"Make all <code>img</code> elements bounce $('img').addClass('animated bounce')"
],
"tests": [
"assert($('img').hasClass('animated') && $('img').hasClass('bounce'), 'Use the jQuery <code>addClass()</code> function to give the classes \"animated\" and \"bounce\" to your <code>img</code> element.')",
"assert(!editor.match(/class.*animated/g), 'Only use jQuery to add these classes to the element.')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('#target').attr('disabled', true)",
"",
" });",
"fcces",
"<button id='target' class='btn btn-primary btn-block'>Enable this button with jQuery</button>"
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
{
"id": "bad87fee1348bd9aedc08826",
"name": "Waypoint: Target Elements by Selectors Using jQuery",
"difficulty": 0.073,
"description": [
],
"tests": [
],
"challengeSeed": [
],
"challengeType": 0
},
{
"id": "bad87fee1348bd9aedb08826",
"name": "Waypoint: Target Elements by Class Using jQuery",
"difficulty": 0.074,
"description": [
],
"tests": [
"assert($('.btn').hasClass('animated') && $('.btn').hasClass('shake'), 'Use the jQuery <code>addClass()</code> function to give the classes \"animated\" and \"shake\" to all your elements with the class \"btn\".')",
"assert(!editor.match(/class.*animated/g), 'Only use jQuery to add these classes to the element.')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('img').addClass('animated bounce');",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
{
"id": "bad87fee1348bd9aedb08826",
"name": "Waypoint: Add an ID to an Element",
"difficulty": 0.075,
"description": [
],
"tests": [
"assert($('form').attr('id') === 'cat-photo-form', 'Add the ID of \"cat-photo-form\" to your <code>form</code> element.')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('img').addClass('animated bounce');",
" $('.btn').addClass('animated shake');",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
{
"id": "bad87fee1348bd9aeda08826",
"name": "Waypoint: Target an element by ID Using jQuery",
"name": "Waypoint: Target Elements by ID Using jQuery",
"difficulty": 0.075,
"description": [
],
"tests": [
"assert($('#cat-photo-form') && $('#cat-photo-form').hasClass('animated') && $('#cat-photo-form').hasClass('pulse'), 'Select the element with the <code>id</code> of \"cat-photo-form\" and use the jQuery <code>addClass()</code> function to give it the classes of \"animated\" and \"pulse\".')",
"assert(!editor.match(/class.*animated/g), 'Only use jQuery to add these classes to the element.')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('img').addClass('animated bounce');",
" $('.btn').addClass('animated shake');",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo' id='cat-photo-form'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
@ -80,10 +238,42 @@
],
"tests": [
"assert(!editor.match(/nce\\'\\)\\;/g) && !editor.match(/ke\\'\\)\\;/g), 'Delete your <code>img</code> element selector statement and your \".btn\" selector statement.')",
"assert(editor.match(/css.*,.*background-color.*gray.\\);/g), 'Select the element with the <code>id</code> of \"cat-photo-form\" give it the background color of gray.')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('img').addClass('animated bounce');",
" $('.btn').addClass('animated shake');",
" $('#cat-photo-form').addClass('animated pulse');",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo' id='cat-photo-form'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
@ -96,10 +286,40 @@
],
"tests": [
"assert($('form button').attr('id') === 'submit-button', 'Add the ID of \"submit-button\" to your the <code>button</code> on your <code>form</code> element.')",
"assert($('#submit-button') && $('#submit-button').prop('disabled'), 'Disable your element with the id of \"submit-button\".')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('#cat-photo-form').css('background-color', 'gray');",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo' id='cat-photo-form'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
@ -112,10 +332,41 @@
],
"tests": [
"assert($('img').length === 0, 'Use jQuery to remove your <code>img</code> element from your page.')",
"assert(editor.match(/<img/g), 'You should still have an <code>img</code> element in your HTML but jQuery should remove it.')"
],
"challengeSeed": [
"fccss",
" $(document).ready(function() {",
" $('#cat-photo-form').css('background-color', 'gray');",
" $('#submit-button').prop('disabled', 'true');",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo' id='cat-photo-form'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' id='submit-button' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"challengeType": 0
},
@ -125,7 +376,38 @@
"name": "Waypoint: Move an Element Using jQuery",
"difficulty": 0.079,
"description": [
"fccss",
" $(document).ready(function() {",
" $('#cat-photo-form').css('background-color', 'gray');",
" $('#submit-button').prop('disabled', 'true');",
" $('img').remove();",
" });",
"fcces",
"<br>",
"<img src='http://bit.ly/fcc-kittens2' class='img-responsive'>",
"<br>",
"<div class='row'>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-primary'><i class='fa fa-thumbs-up'></i> Like</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-info'><i class='fa fa-info-circle'></i> Info</button>",
" </div>",
" <div class='col-xs-4'>",
" <button class='btn btn-block btn-danger'><i class='fa fa-trash'></i> Delete</button>",
" </div>",
"</div>",
"<br>",
"<form action='submit-cat-photo' id='cat-photo-form'>",
" <div class='row'>",
" <div class='col-xs-7'>",
" <input type='text' class='form-control' placeholder='cat photo URL' required>",
" </div>",
" <div class='col-xs-5'>",
" <button type='submit' id='submit-button' class='btn btn-primary'><i class='fa fa-paper-plane'></i> Submit</button>",
" </div>",
" </div>",
"</form>"
],
"tests": [
@ -152,22 +434,6 @@
"challengeType": 0
},
{
"id": "bad87fee1348bd9aed408826",
"name": "Waypoint: Animate an Element Using jQuery",
"difficulty": 0.081,
"description": [
],
"tests": [
],
"challengeSeed": [
],
"challengeType": 0
},
{
"id": "bad87fee1348bd9aed308826",
"name": "Waypoint: Target the Parent of an Element Using jQuery",
@ -295,8 +561,7 @@
],
"challengeType": 0
},
{
}, {
"id": "bad87fee1348bd9aede08826",
"name": "Waypoint: Use Hex Codes for Precise Colors",
"difficulty": 0.071,
@ -310,8 +575,7 @@
],
"challengeType": 0
},
{
}, {
"id": "bad87fee1348bd9aedd08826",
"name": "Waypoint: Use Shortened Hex Codes for Colors",
"difficulty": 0.071,

View File

@ -17,11 +17,11 @@ block content
script(type='text/javascript', src='/js/lib/coursewares/sandbox.js')
.row(ng-controller="pairedWithController")
.col-xs-12.col-sm-12.col-md-4.bonfire-top
#testCreatePanel
h1#bonfire-name.text-center= name
h2.text-center
.bonfire-flames Difficulty:&thinsp;
.col-xs-12.col-sm-12.col-md-4.col-lg-3
#testCreatePanel.well
h3.text-center.negative-10= name
.positive-15.positive-15-bottom
h4.text-center.bonfire-flames Difficulty:&thinsp;
if (difficulty == "0")
i.ion-ios-flame-outline
i.ion-ios-flame-outline
@ -58,67 +58,61 @@ block content
i.ion-ios-flame
i.ion-ios-flame
i.ion-ios-flame
.well
.row
.col-xs-12
.bonfire-instructions
p.wrappable= brief
#brief-instructions
#more-info.btn.btn-primary.btn-block.btn-primary-ghost
span.ion-arrow-down-b
| More information
#long-instructions.row.hide
.col-xs-12
for sentence in details
p.wrappable!= sentence
#MDN-links
p Here are some helpful links:
for link, index in MDNlinks
ul: li: a(href=""+link, target="_blank") !{MDNkeys[index]}
#less-info.btn.btn-primary.btn-block.btn-primary-ghost
span.ion-arrow-up-b
| Less information
.row
.col-xs-12
.bonfire-instructions
for sentence in details
p.wrappable.negative-10!= sentence
.negative-bottom-margin-30
#MDN-links
p.negative-10 Here are some helpful links:
for link, index in MDNlinks
.negative-10
ul: li: a(href=""+link, target="_blank") !{MDNkeys[index]}
if (user)
form.form-horizontal(novalidate='novalidate', name='completedWithForm')
.form-group.text-center
.col-xs-12
// extra field to distract password tools like lastpass from injecting css into our username field
input.form-control(ng-show="false")
input.form-control#completed-with(name="existingUser", placeholder="Your pair's username if pairing", existing-username='', ng-model="existingUser")
.col-xs-12(ng-cloak, ng-show="completedWithForm.$error.exists && !completedWithForm.existingUser.$pristine && existingUser.length > 0")
alert(type='danger')
span.ion-close-circled
| Username not found
#submitButton.btn.btn-primary.btn-big.btn-block Run code (ctrl + enter)
if (user && user.sentSlackInvite)
.button-spacer
.btn-group.input-group.btn-group-justified
label.btn.btn-success#trigger-help-modal
i.fa.fa-medkit
| &nbsp; Help
label.btn.btn-success#trigger-pair-modal
i.fa.fa-user-plus
| &nbsp; Pair
label.btn.btn-success#trigger-issue-modal
i.fa.fa-bug
| &nbsp; Bug
if (user)
form.form-horizontal(novalidate='novalidate', name='completedWithForm')
.form-group.text-center.negative-10
.col-xs-12
// extra field to distract password tools like lastpass from injecting css into our username field
input.form-control(ng-show="false")
input.form-control#completed-with(name="existingUser", placeholder="Your pair's username if pairing", existing-username='', ng-model="existingUser")
.col-xs-12(ng-cloak, ng-show="completedWithForm.$error.exists && !completedWithForm.existingUser.$pristine && existingUser.length > 0")
alert(type='danger')
span.ion-close-circled
| Username not found
label.negative-10.btn.btn-primary.btn-block#submitButton
i.fa.fa-play
| &nbsp; Run code (ctrl + enter)
if (user && user.sentSlackInvite)
.button-spacer
form.code
.form-group.codeMirrorView
textarea#codeOutput(style='display: none;')
br
#testSuite
br
script(type="text/javascript").
var tests = !{JSON.stringify(tests)};
var challengeSeed = !{JSON.stringify(challengeSeed)};
var challenge_Id = !{JSON.stringify(challengeId)};
var challenge_Name = !{JSON.stringify(name)};
var started = Math.floor(Date.now());
var challengeType = !{JSON.stringify(challengeType)};
var _ = R;
var dashed = !{JSON.stringify(dashedName)};
.btn-group.input-group.btn-group-justified
label.btn.btn-success#trigger-help-modal
i.fa.fa-medkit
| &nbsp; Help
label.btn.btn-success#trigger-pair-modal
i.fa.fa-user-plus
| &nbsp; Pair
label.btn.btn-success#trigger-issue-modal
i.fa.fa-bug
| &nbsp; Bug
.button-spacer
form.code
.form-group.codeMirrorView
textarea#codeOutput(style='display: none;')
br
#testSuite.negative-10
br
script(type="text/javascript").
var tests = !{JSON.stringify(tests)};
var challengeSeed = !{JSON.stringify(challengeSeed)};
var challenge_Id = !{JSON.stringify(challengeId)};
var challenge_Name = !{JSON.stringify(name)};
var started = Math.floor(Date.now());
var challengeType = !{JSON.stringify(challengeType)};
var _ = R;
var dashed = !{JSON.stringify(dashedName)};
.col-xs-12.col-sm-12.col-md-8
#mainEditorPanel
@ -140,7 +134,6 @@ block content
a.animated.fadeIn.btn.btn-lg.btn-primary.btn-block#next-courseware-button(name='_csrf', value=_csrf) Go to my next challenge (ctrl + enter)
if (user.progressTimestamps.length > 2)
a.animated.fadeIn.btn.btn-lg.btn-block.btn-twitter(target="_blank", href="https://twitter.com/intent/tweet?text=I%20just%20#{verb}%20%40FreeCodeCamp%20#{name}&url=http%3A%2F%2Ffreecodecamp.com/challenges/#{dashedName}&hashtags=LearnToCode, JavaScript")
i.fa.fa-twitter &thinsp;

View File

@ -20,59 +20,48 @@ block content
script(src='/js/lib/codemirror/mode/htmlmixed/htmlmixed.js')
script(src='/js/lib/codemirror/addon/emmet/emmet.js')
.row.courseware-height
.vertical-scroll
.col-xs-12.col-sm-12.col-md-3.col-lg-3
.well
.row
.col-xs-12
h2.text-center= name
.bonfire-instructions
p.wrappable!= brief
#brief-instructions
#more-info.btn.btn-primary.btn-block.btn-primary-ghost
span.ion-arrow-down-b
| More information
#long-instructions.row.hide
.col-xs-12
for sentence in details
p.wrappable!= sentence
#less-info.btn.btn-primary.btn-block.btn-primary-ghost
span.ion-arrow-up-b
| Less information
br
if (user)
a.btn.btn-primary.btn-big.btn-block#next-courseware-button
| Go to my next challenge
br
| (ctrl + enter)
if (user.sentSlackInvite)
.button-spacer
.btn-group.input-group.btn-group-justified
label.btn.btn-success#trigger-help-modal
i.fa.fa-medkit
| &nbsp; Help
label.btn.btn-success#trigger-issue-modal
i.fa.fa-bug
| &nbsp; Bug
.button-spacer
.col-xs-12.col-sm-12.col-md-3.col-lg-3
.well
.row
.col-xs-12
h3.text-center.negative-10= name
.bonfire-instructions
for sentence in details
p.wrappable.negative-10!= sentence
.negative-bottom-margin-30
if (user)
label.btn.btn-primary.btn-block.negative-10#next-courseware-button
.ion-checkmark-circled
| &nbsp; Go to my next challenge (ctrl + enter)
if (user.sentSlackInvite)
.button-spacer
.btn-group.input-group.btn-group-justified
label.btn.btn-success#trigger-help-modal
i.fa.fa-medkit
| &nbsp; Help
label.btn.btn-success#trigger-issue-modal
i.fa.fa-bug
| &nbsp; Bug
.button-spacer
script.
var userLoggedIn = true;
else
a.btn.signup-btn.btn-block.btn-block.negative-15(href='/login') Sign in so you can save your progress
script.
var userLoggedIn = true;
else
a.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress
script.
var userLoggedIn = false;
.button-spacer
ul#testSuite.list-group
br
script(type="text/javascript").
$('#next-courseware-button').attr('disabled', 'disabled');
var tests = !{JSON.stringify(tests)};
var challengeSeed = !{JSON.stringify(challengeSeed)};
var challenge_Id = !{JSON.stringify(challengeId)};
var challenge_Name = !{JSON.stringify(name)};
var prodOrDev = !{JSON.stringify(environment)};
var challengeType = !{JSON.stringify(challengeType)};
var started = Math.floor(Date.now());
var userLoggedIn = false;
.button-spacer
ul#testSuite.list-group
br
script(type="text/javascript").
$('#next-courseware-button').attr('disabled', 'disabled');
var tests = !{JSON.stringify(tests)};
var challengeSeed = !{JSON.stringify(challengeSeed)};
var challenge_Id = !{JSON.stringify(challengeId)};
var challenge_Name = !{JSON.stringify(name)};
var prodOrDev = !{JSON.stringify(environment)};
var challengeType = !{JSON.stringify(challengeType)};
var started = Math.floor(Date.now());
.col-xs-12.col-sm-12.col-md-5.col-lg-6
#mainEditorPanel
form.code

View File

@ -3,7 +3,6 @@ html(ng-app='profileValidation', lang='en')
head
include partials/universal-head
body.top-and-bottom-margins
include partials/css-cdns
include partials/navbar
.container
include partials/flash