diff --git a/client/less/main.less b/client/less/main.less
index f5f123f62d..e32bbe7f3a 100644
--- a/client/less/main.less
+++ b/client/less/main.less
@@ -62,7 +62,7 @@ body.top-and-bottom-margins {
}
body.no-top-and-bottom-margins {
- margin: 70px 20px 50px 20px;
+ margin: 70px 20px 0px 20px;
}
h1, h2 {
@@ -401,6 +401,19 @@ thead {
width: 50px;
}
+.brownie-points-nav {
+ @media (min-width: 991px) and (max-width: 999px) {
+ margin-right: -10px;
+ }
+}
+
+.signin-button-nav {
+ @media (min-width: 991px) and (max-width: 1010px) {
+ margin-left: -10px;
+ margin-right: -5px;
+ }
+}
+
.navbar-nav a {
color: @gray-lighter;
font-size: 20px;
@@ -420,6 +433,7 @@ thead {
margin-top: -2px !important;
padding-top: 10px !important;
padding-bottom: 10px !important;
+ margin-right: -12px;
}
.public-profile-img {
diff --git a/client/main.js b/client/main.js
index b75297031e..4905bc8e28 100644
--- a/client/main.js
+++ b/client/main.js
@@ -119,18 +119,16 @@ main.lockTop = function lockTop() {
if ($('.editorScrollDiv').html()) {
magiVal = $(window).height() -
- $('.navbar').height() +
- $('.footer').height();
+ $('.navbar').height();
if (magiVal < 0) {
magiVal = 0;
}
- $('.editorScrollDiv').css('height', magiVal - 85 + 'px');
+ $('.editorScrollDiv').css('height', magiVal - 35 + 'px');
}
magiVal = $(window).height() -
- $('.navbar').height() +
- $('.footer').height();
+ $('.navbar').height();
if (magiVal < 0) {
magiVal = 0;
diff --git a/common/app/App.jsx b/common/app/App.jsx
index 58704002ab..25ad3ad91e 100644
--- a/common/app/App.jsx
+++ b/common/app/App.jsx
@@ -3,7 +3,6 @@ import { contain } from 'thundercats-react';
import { Row } from 'react-bootstrap';
import { Nav } from './components/Nav';
-import { Footer } from './components/Footer';
export default contain(
{
@@ -52,7 +51,6 @@ export default contain(
{ this.props.children }
-
);
}
diff --git a/server/boot/randomAPIs.js b/server/boot/randomAPIs.js
index 11f68c1947..7f63989508 100644
--- a/server/boot/randomAPIs.js
+++ b/server/boot/randomAPIs.js
@@ -35,6 +35,7 @@ module.exports = function(app) {
router.get('/labs', showLabs);
router.get('/stories', showTestimonials);
router.get('/all-stories', showAllTestimonials);
+ router.get('/links', showLinks);
app.use(router);
@@ -190,6 +191,13 @@ module.exports = function(app) {
});
}
+ function showLinks(req, res) {
+ res.render('resources/links', {
+ title: 'Links to external Free Code Camp resources and ' +
+ 'social media communities'
+ });
+ }
+
function showTestimonials(req, res) {
res.render('resources/stories', {
title: 'Testimonials from Happy Free Code Camp Students ' +
diff --git a/server/views/partials/footer.jade b/server/views/partials/footer.jade
index 6a84724a13..5bed48bdca 100644
--- a/server/views/partials/footer.jade
+++ b/server/views/partials/footer.jade
@@ -1,27 +1,2 @@
-.fcc-footer
- .col-xs-12.hidden-xs.hidden-sm
- a.ion-speakerphone(href='//medium.freecodecamp.com', target='_blank') Blog
- a.ion-social-github(href="//github.com/freecodecamp", target='_blank') GitHub
- a.ion-social-linkedin(href="//www.linkedin.com/edu/school?id=166029", target='_blank') LinkedIn
- a.ion-social-twitter(href="//twitter.com/freecodecamp", target='_blank') Twitter
- a.ion-social-facebook(href="//facebook.com/freecodecamp") Facebook
- a.ion-social-twitch-outline(href="//twitch.tv/freecodecamp", target='_blank') Twitch
- a.ion-locked(href="//github.com/FreeCodeCamp/freecodecamp/wiki/Free-Code-Camp's-Privacy-Policy") Privacy
- .col-xs-12.visible-xs.visible-sm
- a.ion-speakerphone(href='//medium.freecodecamp.com', target='_blank')
- span.sr-only Free Code Camp's Blog
- a.ion-social-github(href="//github.com/freecodecamp", target='_blank')
- span.sr-only Free Code Camp on GitHub
- a.ion-social-linkedin(href="//www.linkedin.com/edu/school?id=166029", target='_blank')
- span.sr-only Free Code Camp LinkedIn Alumni Network
- a.ion-social-twitter(href="//twitter.com/freecodecamp", target='_blank')
- span.sr-only Free Code Camp on Twitter
- a.ion-social-facebook(href="//facebook.com/freecodecamp", target='_blank')
- span.sr-only Free Code Camp local groups on Facebook
- a.ion-social-twitch-outline(href="/twitch", target='_blank')
- span.sr-only Free Code Camp Live Pair Programming on Twitch.tv
- a.ion-locked(href="//github.com/FreeCodeCamp/freecodecamp/wiki/Free-Code-Camp's-Privacy-Policy")
- span.sr-only Free Code Camp's Privacy Policy
-
// scripts should be moved here
script(src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer)
diff --git a/server/views/partials/navbar.jade b/server/views/partials/navbar.jade
index a53dd35892..613405aa11 100644
--- a/server/views/partials/navbar.jade
+++ b/server/views/partials/navbar.jade
@@ -19,12 +19,16 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
a(href='/news', target='_blank') News
li
a(href='//github.com/FreeCodeCamp/freecodecamp/wiki/Home', target='_blank') Wiki
+ li
+ a(href='/jobs') Jobs
+ li
+ a(href='/links') Links
if !user
li
li
- a.btn.signup-btn.signup-btn-nav(href='/login') Sign in
+ a.btn.signup-btn.signup-btn-nav.signin-button-nav(href='/login') Sign in
else
- li
+ li.brownie-points-nav
a(href='/' + user.username) [ #{user.progressTimestamps.length} ]
.hidden-xs.hidden-sm
a(href='/' + user.username)
diff --git a/server/views/resources/links.jade b/server/views/resources/links.jade
new file mode 100644
index 0000000000..1660706bd7
--- /dev/null
+++ b/server/views/resources/links.jade
@@ -0,0 +1,60 @@
+extends ../layout
+block content
+ .col-xs-12
+ .panel.panel-info
+ .panel-heading.text-center Join our open source community wherever we may be
+ .panel-body
+ .row
+ .col-xs-12
+ ul
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-speakerphone
+ .col-xs-10.col-sm-11
+ a(href='//medium.freecodecamp.com', target='_blank') Medium Publication
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-social-github
+ .col-xs-10.col-sm-11
+ a(href="//github.com/freecodecamp", target='_blank') GitHub Repository
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-social-reddit
+ .col-xs-10.col-sm-11
+ a(href="//www.reddit.com/r/freecodecamp", target='_blank') Subreddit
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-social-linkedin
+ .col-xs-10.col-sm-11
+ a(href="//www.linkedin.com/edu/school?id=166029", target='_blank') LinkedIn University Page
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-social-twitter
+ .col-xs-10.col-sm-11
+ a(href="//twitter.com/freecodecamp", target='_blank') Twitter Feed
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-social-facebook
+ .col-xs-10.col-sm-11
+ a(href="//facebook.com/freecodecamp") Facebook Page
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-social-twitch-outline
+ .col-xs-10.col-sm-11
+ a(href="//twitch.tv/freecodecamp", target='_blank') Twitch.tv Channel
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-locked
+ .col-xs-10.col-sm-11
+ a(href="//github.com/FreeCodeCamp/freecodecamp/wiki/Free-Code-Camp's-Privacy-Policy") Privacy Policy
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-erlenmeyer-flask
+ .col-xs-10.col-sm-11
+ a(href="/labs") Cool Apps Built by Campers
+ li.large-li
+ .col-xs-2.col-sm-1
+ .ion-chatbox
+ .col-xs-10.col-sm-11
+ a(href="/stories") Stories from Campers
+ .spacer