diff --git a/controllers/resources.js b/controllers/resources.js index 28d432eefa..278d47a982 100644 --- a/controllers/resources.js +++ b/controllers/resources.js @@ -104,13 +104,15 @@ module.exports = { var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24)); var githubHeaders = {headers: {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1521.3 Safari/537.36'}, port:80 }; client.get('https://trello.com/1/boards/BA3xVpz9/cards?key=' + secrets.trello.key, function(trello, res2) { - client.get('https://www.googleapis.com/blogger/v3/blogs/2421288658305323950/posts?key=' + secrets.blogger.key, function (blogger, res5) { + trello = trello ? (JSON.parse(trello)).length : "Can't connecto to Trello"; + client.get('https://www.googleapis.com/blogger/v3/blogs/2421288658305323950/posts?key=' + secrets.blogger.key, function (blog, res5) { + var blog = blog.length > 100 ? JSON.parse(blog) : ""; client.get('https://api.github.com/repos/freecodecamp/freecodecamp/pulls?client_id=' + secrets.github.clientID + '&client_secret=' + secrets.github.clientSecret, githubHeaders, function(pulls, res3) { pulls = Object.keys(JSON.parse(pulls)).length || "Can't connect to github"; client.get('https://api.github.com/repos/freecodecamp/freecodecamp/issues?client_id=' + secrets.github.clientID + '&client_secret=' + secrets.github.clientSecret, githubHeaders, function(issues, res4) { - var nonprofitProjects = (JSON.parse(trello)).length || 27; - issues = Object.keys(JSON.parse(issues)).length - pulls || "Can't connect to github"; - var blog = JSON.parse(blogger); + issues = ((pulls === parseInt(pulls)) && issues) ? Object.keys(JSON.parse(issues)).length - pulls : "Can't connect to GitHub"; + var announcements = resources.announcements; + debug('here', announcements); User.count({'points': {'$gt': 2}}, function (err, c3) { if (err) { debug('User err: ', err); @@ -121,37 +123,31 @@ module.exports = { debug('User err: ', err); next(err); } - User.count({'points': {'$gt': 29}}, function (err, c30) { + User.count({'points': {'$gt': 53}}, function (err, all) { if (err) { debug('User err: ', err); next(err); } - User.count({'points': {'$gt': 53}}, function (err, all) { - if (err) { - debug('User err: ', err); - next(err); - } - res.render('resources/learn-to-code', { - title: 'About Free Code Camp and Our Team of Volunteers', - daysRunning: daysRunning, - nonprofitProjects: nonprofitProjects, - pulls: pulls, - issues: issues, - c3: c3, - c10: c10, - c30: c30, - all: all, - blog1Title: blog["items"][0]["title"], - blog1Link: blog["items"][0]["url"], - blog2Title: blog["items"][1]["title"], - blog2Link: blog["items"][1]["url"], - blog3Title: blog["items"][2]["title"], - blog3Link: blog["items"][2]["url"], - blog4Title: blog["items"][3]["title"], - blog4Link: blog["items"][3]["url"], - blog5Title: blog["items"][4]["title"], - blog5Link: blog["items"][4]["url"] - }); + res.render('resources/learn-to-code', { + title: 'About Free Code Camp and Our Team of Volunteers', + daysRunning: daysRunning, + nonprofitProjects: trello, + pulls: pulls, + issues: issues, + c3: c3, + c10: c10, + all: all, + blog1Title: blog ? blog["items"][0]["title"] : "Can't connect to Blogger", + blog1Link: blog ? blog["items"][0]["url"] : "http://blog.freecodecamp.com", + blog2Title: blog ? blog["items"][1]["title"] : "Can't connect to Blogger", + blog2Link: blog ? blog["items"][1]["url"] : "http://blog.freecodecamp.com", + blog3Title: blog ? blog["items"][2]["title"] : "Can't connect to Blogger", + blog3Link: blog ? blog["items"][2]["url"] : "http://blog.freecodecamp.com", + blog4Title: blog ? blog["items"][3]["title"] : "Can't connect to Blogger", + blog4Link: blog ? blog["items"][3]["url"] : "http://blog.freecodecamp.com", + blog5Title: blog ? blog["items"][4]["title"] : "Can't connect to Blogger", + blog5Link: blog ? blog["items"][4]["url"] : "http://blog.freecodecamp.com", + announcements: announcements }); }); }); diff --git a/controllers/resources.json b/controllers/resources.json index 1a7e038db6..2b70e46b58 100644 --- a/controllers/resources.json +++ b/controllers/resources.json @@ -1,4 +1,9 @@ { + "announcements": [ + ["Screen Hero is now free on Windows and Mac! Follow these special instructions to install it.", "http://freecodecamp.com/challenges/34"], + ["Bonfire is now live with 30+ challenges! If you haven't started CoderByte, do these instead.", "http://freecodecamp.com/bonfires"], + ["Once you finish all the challenges, come to our Nonprofit Project Office Hours every Monday and Thursday Night at 9 pm EST", "https://gitter.im/FreeCodeCamp/NonprofitProjects"] + ], "questions": [{ "question": "Time Complexity of Accessing Array Index (int a = ARR[5];)", "answer": "O(1)" diff --git a/views/account/account.jade b/views/account/account.jade index 8bff89c285..25a0c9c063 100644 --- a/views/account/account.jade +++ b/views/account/account.jade @@ -274,7 +274,7 @@ block content .col-xs-12 if (user.profile.username) a.btn.btn-lg.btn-block.btn-info.btn-link-social(href='/#{user.profile.username}') Check out my Public Profile - a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='/') Take me to my current challenge + a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='/challenges') Take me to my current challenge a.btn.btn-lg.btn-block.btn-warning.btn-link-social(href='/logout') Sign out br - if (!user.google || !user.facebook || /*!user.github ||*/ !user.linkedin || !user.twitter) diff --git a/views/partials/navbar.jade b/views/partials/navbar.jade index a8f9f3ce20..d57af2b098 100644 --- a/views/partials/navbar.jade +++ b/views/partials/navbar.jade @@ -13,7 +13,7 @@ a(href='/challenges/0') Challenges - else li - a(href='/') Challenges + a(href='/challenges') Challenges - if (!cc || (cc && cc[1] < 1)) li a(href='/challenges/1') Chat diff --git a/views/partials/stats.jade b/views/partials/stats.jade index 266366c25b..452ca3deae 100644 --- a/views/partials/stats.jade +++ b/views/partials/stats.jade @@ -6,17 +6,17 @@ h2.stats-text .col-xs-6.text-right Nonprofit Projects: .col-xs-6.text-left= nonprofitProjects |   - a(href="https://trello.com/b/BA3xVpz9/nonprofit-projects") (view) + a(href="https://trello.com/b/BA3xVpz9/nonprofit-projects") (view them) .row .col-xs-6.text-right Open Issues: .col-xs-6.text-left= issues |   - a(href="https://github.com/freecodecamp/freecodecamp/issues") (view) + a(href="https://github.com/freecodecamp/freecodecamp/issues") (create one) .row .col-xs-6.text-right Pull Requests: .col-xs-6.text-left= pulls |   - a(href="https://github.com/freecodecamp/freecodecamp/pulls") (view) + a(href="https://github.com/freecodecamp/freecodecamp/pulls") (create one) .row .col-xs-6.text-right Campers with at least... .col-xs-4 @@ -26,9 +26,6 @@ h2.stats-text .row .col-xs-6.text-right 10 Points: .col-xs-6.text-left= c10 - .row - .col-xs-6.text-right 30 Points: - .col-xs-6.text-left= c30 .row .col-xs-6.text-right All 54 Points: .col-xs-6.text-left= all diff --git a/views/resources/learn-to-code.jade b/views/resources/learn-to-code.jade index 9b09218e92..647d64498e 100644 --- a/views/resources/learn-to-code.jade +++ b/views/resources/learn-to-code.jade @@ -8,6 +8,16 @@ block content var challengeName = 'Learn to code' .row .col-xs-12.col-sm-12.col-md-6 + .panel.panel-info + .panel-heading.landing-panel-heading.text-center Announcements + .panel-body + .landing-panel-body.text-center + for announcement in announcements + h2 + if (announcement.length > 1) + a(href=announcement[1])= announcement[0] + else + = announcement[0] include ../partials/faq .col-xs-12.col-sm-12.col-md-6 .panel.panel-info