101 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| extends ../layout-wide
 | ||
| block content
 | ||
|     link(rel='stylesheet', href='/bower_components/CodeMirror/lib/codemirror.css')
 | ||
|     link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
 | ||
|     link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
 | ||
|     link(rel='stylesheet', href='/css/ubuntu.css')
 | ||
|     include ../partials/flyer
 | ||
|     .row
 | ||
|         .col-md-4.col-lg-3
 | ||
|             .scroll-locker(id = "scroll-locker")
 | ||
|                 .innerMarginFix(style = "width: 99%;")
 | ||
|                     #testCreatePanel
 | ||
|                         h4.text-center.challenge-instructions-title= name
 | ||
|                             if (isCompleted)
 | ||
|                                 |  
 | ||
|                                 i.ion-checkmark-circled.text-primary(title="Completed")
 | ||
|                         hr
 | ||
|                         .row
 | ||
|                             .col-xs-12
 | ||
|                                 .challenge-instructions
 | ||
|                                     for sentence in description
 | ||
|                                         if (/blockquote|\<ol|h4|\<table/.test(sentence))
 | ||
|                                             !=sentence
 | ||
|                                         else
 | ||
|                                             p.wrappable!= sentence
 | ||
|                                 if (MDNlinks.length)
 | ||
|                                     .negative-bottom-margin-30
 | ||
|                                         #MDN-links
 | ||
|                                             p Here are some helpful links:
 | ||
|                                             for link, index in MDNlinks
 | ||
|                                                 ul: li: a(href="" + link, target="_blank") !{MDNkeys[index]}
 | ||
|                                     .button-spacer
 | ||
|                     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
 | ||
|                     label.btn.btn-primary.btn-big.btn-block#submitButton Run tests (ctrl + enter)
 | ||
|                     .button-spacer
 | ||
|                     .btn-group.input-group.btn-group-justified
 | ||
|                         label.btn.btn-primary.btn-lg#trigger-reset-modal Reset
 | ||
|                         label.btn.btn-primary.btn-lg#challenge-help-btn Help
 | ||
|                         label.btn.btn-primary.btn-lg#trigger-issue-modal Bug
 | ||
|                     if (!user)
 | ||
|                         .button-spacer
 | ||
|                         a.btn.signup-btn.btn-block.btn-block(href='/signin') Sign in so you can save your progress
 | ||
|                             script.
 | ||
|                                 var userLoggedIn = false;
 | ||
|                     .button-spacer
 | ||
|                     form.code
 | ||
|                         .form-group.codeMirrorView
 | ||
|                             textarea#codeOutput(style='display: none;')
 | ||
|                     br
 | ||
|                     #testSuite
 | ||
|                     br
 | ||
|         .col-md-8.col-lg-9
 | ||
|             .editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;")
 | ||
|                 #mainEditorPanel
 | ||
|                     form.code
 | ||
|                         .codeMirrorView
 | ||
|                             textarea#codeEditor(autofocus=true, style='display: none;')
 | ||
|     #complete-courseware-dialog.modal(tabindex='-1')
 | ||
|         .modal-dialog.animated.fadeIn.fast-animation
 | ||
|             .modal-content
 | ||
|                 .modal-header.challenge-list-header= compliment
 | ||
|                     a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
 | ||
|                 .modal-body
 | ||
|                     .text-center
 | ||
|                         #checkmark-container.row
 | ||
|                             #challenge-checkmark.animated.zoomInDown.delay-half
 | ||
|                                 span.completion-icon.ion-checkmark-circled.text-primary
 | ||
|                         .spacer
 | ||
|                         .row
 | ||
|                         if (user)
 | ||
|                             #submit-challenge.animated.fadeIn.btn.btn-lg.btn-primary.btn-block Submit and go to my next challenge (ctrl + enter)
 | ||
|                         else
 | ||
|                             a#next-challenge.animated.fadeIn.btn.btn-lg.btn-primary.btn-block(href="/challenges/next-challenge?id="+id) Go to my next challenge (ctrl + enter)
 | ||
|     include ../partials/challenge-modals
 | ||
|     script(type="text/javascript").
 | ||
|       var common = window.common = { init: [] };
 | ||
| 
 | ||
|       common.tests = !{JSON.stringify(tests)};
 | ||
|       common.head = !{JSON.stringify(head)};
 | ||
|       common.tail = !{JSON.stringify(tail)};
 | ||
| 
 | ||
|       common.challengeId = !{JSON.stringify(id)};
 | ||
|       common.challengeName = !{JSON.stringify(name)};
 | ||
|       common.challengeSeed = !{JSON.stringify(challengeSeed)};
 | ||
|       common.challengeType = !{JSON.stringify(challengeType)};
 | ||
|       common.dashedName = !{JSON.stringify(dashedName)};
 | ||
|       common.isCompleted = !{JSON.stringify(isCompleted)};
 | ||
|       common.gaName = !{JSON.stringify(gaName)};
 | ||
| 
 | ||
|       common.username = !{JSON.stringify(user && user.username || '')};
 | ||
| 
 | ||
|     include ../partials/challenge-footer
 | ||
|     script.
 | ||
|       common.init.push(function() {
 | ||
|         common.editor.setOption('mode', 'javascript');
 | ||
|       });
 |