diff --git a/public/css/main.less b/public/css/main.less index d9c9cd4ab0..b215b8a0f8 100644 --- a/public/css/main.less +++ b/public/css/main.less @@ -29,9 +29,14 @@ html { min-height: 100%; } -body { +body.top-and-bottom-margins { + padding-top: 80px; + margin-bottom: 60px; +} + +body.no-top-and-bottom-margins { padding-top: 50px; -// margin-bottom: 60px; + margin-bottom: 40px; } h1, h2 { diff --git a/views/bonfire/bonfire.jade b/views/bonfire/bonfire.jade index ff07aee175..498f7d3a23 100644 --- a/views/bonfire/bonfire.jade +++ b/views/bonfire/bonfire.jade @@ -1,4 +1,4 @@ -extends ../layout +extends ../layout-wide block content script(src='/js/lib/codemirror/lib/codemirror.js') script(src='/js/lib/codemirror/addon/edit/closebrackets.js') diff --git a/views/bonfire/show.jade b/views/bonfire/show.jade index bc1017d59b..6432e175f2 100644 --- a/views/bonfire/show.jade +++ b/views/bonfire/show.jade @@ -1,4 +1,4 @@ -extends ../layout +extends ../layout-wide block content script(src='/js/lib/codemirror/lib/codemirror.js') diff --git a/views/layout-wide.jade b/views/layout-wide.jade new file mode 100644 index 0000000000..63fb20c1d7 --- /dev/null +++ b/views/layout-wide.jade @@ -0,0 +1,33 @@ +doctype html +html(ng-app='profileValidation', lang='en') + head + script(src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js") + script(src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js") + script(src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.12.0/ui-bootstrap-tpls.min.js") + link(rel='shortcut icon', href='//s3.amazonaws.com/freecodecamp/favicon.ico') + link(rel='stylesheet', href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css') + link(rel='stylesheet', href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css') + link(rel='stylesheet', href='//code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css') + include partials/meta + title #{title} | Free Code Camp + meta(charset='utf-8') + meta(http-equiv='X-UA-Compatible', content='IE=edge') + meta(name='viewport', content='width=device-width, initial-scale=1.0') + meta(name='csrf-token', content=_csrf) + != css('main') + + body.no-top-and-bottom-margins + include partials/navbar-wide + include partials/flash + block content + include partials/footer + != js('application') +script. + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + ga('create', 'UA-55446531-1', 'auto'); + ga('require', 'displayfeatures'); + ga('send', 'pageview'); +script(src="//cdn.optimizely.com/js/999692993.js") \ No newline at end of file diff --git a/views/layout.jade b/views/layout.jade index d44dfea030..dfddef33b4 100644 --- a/views/layout.jade +++ b/views/layout.jade @@ -16,12 +16,13 @@ html(ng-app='profileValidation', lang='en') meta(name='csrf-token', content=_csrf) != css('main') - body - include partials/navbar - include partials/flash - block content + body.top-and-bottom-margins + include partials/navbar-narrow + .container + include partials/flash + block content include partials/footer - != js('application') + != js('application') script. (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), diff --git a/views/partials/navbar-narrow.jade b/views/partials/navbar-narrow.jade new file mode 100644 index 0000000000..b8ff7267f9 --- /dev/null +++ b/views/partials/navbar-narrow.jade @@ -0,0 +1,3 @@ +nav.navbar.navbar-default.navbar-fixed-top.nav-height + .container + include ./navbar \ No newline at end of file diff --git a/views/partials/navbar-wide.jade b/views/partials/navbar-wide.jade new file mode 100644 index 0000000000..96165a030d --- /dev/null +++ b/views/partials/navbar-wide.jade @@ -0,0 +1,2 @@ +nav.navbar.navbar-default.navbar-fixed-top.nav-height + include ./navbar \ No newline at end of file diff --git a/views/partials/navbar.jade b/views/partials/navbar.jade index 0cbfe2dc68..8388ea2ba6 100644 --- a/views/partials/navbar.jade +++ b/views/partials/navbar.jade @@ -1,45 +1,44 @@ -nav.navbar.navbar-default.navbar-fixed-top.nav-height - .navbar-header - button.navbar-toggle(type='button', data-toggle='collapse', data-target='.navbar-collapse') +.navbar-header + button.navbar-toggle(type='button', data-toggle='collapse', data-target='.navbar-collapse') span.sr-only Toggle navigation span.icon-bar span.icon-bar span.icon-bar - a.navbar-brand(href='/') + a.navbar-brand(href='/') img.img-responsive.nav-logo(src='https://s3.amazonaws.com/freecodecamp/freecodecamp_logo.svg', alt='learn to code javascript at Free Code Camp logo') - .collapse.navbar-collapse - ul.nav.navbar-nav.navbar-right.hamburger-dropdown +.collapse.navbar-collapse + ul.nav.navbar-nav.navbar-right.hamburger-dropdown - if (!cc) - li - a(href='/challenges/0') Challenges + li + a(href='/challenges/0') Challenges - else - li - a(href='/') Challenges + li + a(href='/') Challenges - if (!cc || (cc && cc[1] < 1)) - li - a(href='/challenges/1') Chat + li + a(href='/challenges/1') Chat - else - li - a(href='http://chat.freecodecamp.com' target='_blank') Chat + li + a(href='http://chat.freecodecamp.com' target='_blank') Chat - if (!cc || (cc && cc[2] < 1)) - li - a(href='/challenges/2') Forum + li + a(href='/challenges/2') Forum - else - li - a(href='http://forum.freecodecamp.com' target='_blank') Forum + li + a(href='http://forum.freecodecamp.com' target='_blank') Forum li - a(href='/bonfires') Bonfires + a(href='/bonfires') Bonfires if !user - li       - li - a.btn.signup-btn.signup-btn-nav(href='/login') Sign in + li       + li + a.btn.signup-btn.signup-btn-nav(href='/login') Sign in else - li - a(href='/account') [ #{user.points} ] + li + a(href='/account') [ #{user.points} ] .hidden-xs - if user.profile.picture - a(href='/account') - img.profile-picture.float-right(src='#{user.profile.picture}') - else - a(href='/account') - img.profile-picture.float-right(src='#{user.gravatar(60)}') \ No newline at end of file + if user.profile.picture + a(href='/account') + img.profile-picture.float-right(src='#{user.profile.picture}') + else + a(href='/account') + img.profile-picture.float-right(src='#{user.gravatar(60)}') \ No newline at end of file diff --git a/views/resources/live-pair-programming.jade b/views/resources/live-pair-programming.jade index b6c3a18727..2236b439a2 100644 --- a/views/resources/live-pair-programming.jade +++ b/views/resources/live-pair-programming.jade @@ -1,91 +1,56 @@ -doctype html -html(ng-app='profileValidation', lang='en') - head - script(src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js") - script(src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js") - script(src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.12.0/ui-bootstrap-tpls.min.js") - link(rel='shortcut icon', href='//s3.amazonaws.com/freecodecamp/favicon.ico') - link(rel='stylesheet', href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css') - link(rel='stylesheet', href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css') - link(rel='stylesheet', href='//code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css') - include ../partials/meta - title #{title} | Free Code Camp - meta(charset='utf-8') - meta(http-equiv='X-UA-Compatible', content='IE=edge') - meta(name='viewport', content='width=device-width, initial-scale=1.0') - meta(name='csrf-token', content=_csrf) - != css('main') - body - block content - include ../partials/navbar - .panel.panel-primary - .panel-heading.landing-panel-heading.text-center Live Pair Programming - .panel-body - .landing-panel-body.text-center - h2 We live pair program every Tuesday from 9 pm to 10 pm EST (Eastern Standard Time). - h2 Our next session will be January 27th, 2015 at 9 p.m. EST! - h2 Join the discussion in our   - a(href="chat.freecodecamp.com", target="_blank") FreeCodeCamp chat room. - h2 Watch the live stream below or on our   - a(href="http://twitch.tv/freecodecamp", target='_blank') Twitch.tv channel - | . - .row - .col-md-8.col-xs-12 - .embed-responsive.embed-responsive-16by9 - iframe(src='http://www.twitch.tv/freecodecamp/embed', frameborder='0', scrolling='no') - .col-md-4.col-xs-12 - .visible-sm.visible-xs - .embed-responsive.embed-responsive-16by9 - iframe(src='http://www.twitch.tv/freecodecamp/chat?popout=', frameborder='0', scrolling='no') - .visible-md.visible-lg - .embed-responsive.embed-responsive-twitch-chat - iframe(src='http://www.twitch.tv/freecodecamp/chat?popout=', frameborder='0', scrolling='no') +extends ../layout-wide +block content + include ../partials/navbar-wide + .panel.panel-primary + .panel-heading.landing-panel-heading.text-center Live Pair Programming + .panel-body + .landing-panel-body.text-center + h2 We live pair program every Tuesday from 9 pm to 10 pm EST (Eastern Standard Time). + h2 Our next session will be January 27th, 2015 at 9 p.m. EST! + h2 Join the discussion in our   + a(href="chat.freecodecamp.com", target="_blank") FreeCodeCamp chat room. + h2 Watch the live stream below or on our   + a(href="http://twitch.tv/freecodecamp", target='_blank') Twitch.tv channel + | . + .row + .col-md-8.col-xs-12 + .embed-responsive.embed-responsive-16by9 + iframe(src='http://www.twitch.tv/freecodecamp/embed', frameborder='0', scrolling='no') + .col-md-4.col-xs-12 + .visible-sm.visible-xs + .embed-responsive.embed-responsive-16by9 + iframe(src='http://www.twitch.tv/freecodecamp/chat?popout=', frameborder='0', scrolling='no') + .visible-md.visible-lg + .embed-responsive.embed-responsive-twitch-chat + iframe(src='http://www.twitch.tv/freecodecamp/chat?popout=', frameborder='0', scrolling='no') - br - .panel.panel-primary - .panel-heading.landing-panel-heading.text-center Previous Live Pair Programming Sessions - .panel-body - .landing-panel-body.text-center - .col-xs-12 - .embed-responsive.embed-responsive-16by9.big-break - iframe.embed-responsive-item(src='//www.youtube.com/embed/_BErpDdmBOw') - h3.wrappable link:   - a(href="http://www.youtube.com/watch/_BErpDdmBOw") http://www.youtube.com/watch/_BErpDdmBOw - .embed-responsive.embed-responsive-16by9.big-break - iframe.embed-responsive-item(src='//www.youtube.com/embed/Fn9HMn79KH0') - h3.wrappable link:   - a(href="http://www.youtube.com/watch/Fn9HMn79KH0") http://www.youtube.com/watch/Fn9HMn79KH0 - .embed-responsive.embed-responsive-16by9.big-break - iframe.embed-responsive-item(src='//www.youtube.com/embed/S7iRBZJwOAs') - h3.wrappable link:   - a(href="http://www.youtube.com/watch/S7iRBZJwOAs") http://www.youtube.com/watch/S7iRBZJwOAs - .embed-responsive.embed-responsive-16by9.big-break - iframe.embed-responsive-item(src='//www.youtube.com/embed/BHNRg39ZblE') - h3.wrappable link:   - a(href="http://www.youtube.com/watch/BHNRg39ZblE") http://www.youtube.com/watch/BHNRg39ZblE - .embed-responsive.embed-responsive-16by9.big-break - iframe.embed-responsive-item(src='//www.youtube.com/embed/YDfkHlDmehA') - h3.wrappable link:   - a(href="http://www.youtube.com/watch/YDfkHlDmehA") http://www.youtube.com/watch/YDfkHlDmehA - h3 Got 3 minutes? Learn to code with us! - a.btn.btn-cta.signup-btn.btn-primary(href="/login") Start learning to code (it's free) - br - br - include ../partials/footer - != js('application') - script. - (function (i, s, o, g, r, a, m) { - i['GoogleAnalyticsObject'] = r; - i[r] = i[r] || function () { - (i[r].q = i[r].q || []).push(arguments) - }, i[r].l = 1 * new Date(); - a = s.createElement(o), - m = s.getElementsByTagName(o)[0]; - a.async = 1; - a.src = g; - m.parentNode.insertBefore(a, m) - })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); - ga('create', 'UA-55446531-1', 'auto'); - ga('require', 'displayfeatures'); - ga('send', 'pageview'); - script(src="//cdn.optimizely.com/js/999692993.js") + br + .panel.panel-primary + .panel-heading.landing-panel-heading.text-center Previous Live Pair Programming Sessions + .panel-body + .landing-panel-body.text-center + .col-xs-12 + .embed-responsive.embed-responsive-16by9.big-break + iframe.embed-responsive-item(src='//www.youtube.com/embed/_BErpDdmBOw') + h3.wrappable link:   + a(href="http://www.youtube.com/watch/_BErpDdmBOw") http://www.youtube.com/watch/_BErpDdmBOw + .embed-responsive.embed-responsive-16by9.big-break + iframe.embed-responsive-item(src='//www.youtube.com/embed/Fn9HMn79KH0') + h3.wrappable link:   + a(href="http://www.youtube.com/watch/Fn9HMn79KH0") http://www.youtube.com/watch/Fn9HMn79KH0 + .embed-responsive.embed-responsive-16by9.big-break + iframe.embed-responsive-item(src='//www.youtube.com/embed/S7iRBZJwOAs') + h3.wrappable link:   + a(href="http://www.youtube.com/watch/S7iRBZJwOAs") http://www.youtube.com/watch/S7iRBZJwOAs + .embed-responsive.embed-responsive-16by9.big-break + iframe.embed-responsive-item(src='//www.youtube.com/embed/BHNRg39ZblE') + h3.wrappable link:   + a(href="http://www.youtube.com/watch/BHNRg39ZblE") http://www.youtube.com/watch/BHNRg39ZblE + .embed-responsive.embed-responsive-16by9.big-break + iframe.embed-responsive-item(src='//www.youtube.com/embed/YDfkHlDmehA') + h3.wrappable link:   + a(href="http://www.youtube.com/watch/YDfkHlDmehA") http://www.youtube.com/watch/YDfkHlDmehA + h3 Got 3 minutes? Learn to code with us! + a.btn.btn-cta.signup-btn.btn-primary(href="/login") Start learning to code (it's free) + br + br \ No newline at end of file