update the about page and make it the root

This commit is contained in:
Michael Q Larson
2015-02-15 23:59:03 -08:00
parent 92136dcd1f
commit 9dd1558f1c
13 changed files with 240 additions and 145 deletions

10
app.js
View File

@ -168,6 +168,7 @@ app.use(helmet.contentSecurityPolicy({
'*.vimeo.com', '*.vimeo.com',
'*.twitter.com', '*.twitter.com',
'*.rafflecopter.com', '*.rafflecopter.com',
'*.ghbtns.com'
].concat(trusted), ].concat(trusted),
reportOnly: false, // set to true if you only want to report errors reportOnly: false, // set to true if you only want to report errors
setAllHeaders: false, // set to true if you want to set all headers setAllHeaders: false, // set to true if you want to set all headers
@ -255,10 +256,19 @@ app.post(
passportConf.isAuthenticated, passportConf.isAuthenticated,
userController.updateProgress userController.updateProgress
); );
/**
* Challenge related routes
*/
app.get(
'/challenges/',
challengesController.returnNextChallenge
);
app.get( app.get(
'/challenges/:challengeNumber', '/challenges/:challengeNumber',
challengesController.returnChallenge challengesController.returnChallenge
); );
app.all('/account', passportConf.isAuthenticated); app.all('/account', passportConf.isAuthenticated);
app.get('/account/api', userController.getAccountAngular); app.get('/account/api', userController.getAccountAngular);

View File

@ -9,7 +9,27 @@ var _ = require('lodash'),
var highestChallengeNumber = 53; var highestChallengeNumber = 53;
exports.returnChallenge = function(req, res, next) {
exports.returnNextChallenge = function(req, res) {
if (req.user) {
ch = req.user.challengesHash;
if (req.user.challengesHash[0] > 0) {
var max = Object.keys(ch).reduce(function(max, key) {
return (max === undefined || ch[key] > ch[max]) ? +key : max;
});
nextChallenge = max + 1;
res.redirect('challenges/' + nextChallenge);
} else {
res.redirect('challenges/0');
}
} else {
res.render('home', {
title: 'Learn to Code and Become a Software Engineer',
});
}
};
exports.returnChallenge = function(req, res) {
var challengeNumber = parseInt(req.params.challengeNumber) || 0; var challengeNumber = parseInt(req.params.challengeNumber) || 0;
if (challengeNumber > highestChallengeNumber) { if (challengeNumber > highestChallengeNumber) {
req.flash('errors', { req.flash('errors', {

View File

@ -5,20 +5,10 @@
exports.index = function(req, res) { exports.index = function(req, res) {
if (req.user) { if (req.user) {
ch = req.user.challengesHash; res.redirect('/learn-to-code')
if (req.user.challengesHash[0] > 0) {
var max = Object.keys(ch).reduce(function(max, key) {
return (max === undefined || ch[key] > ch[max]) ? +key : max;
});
nextChallenge = max + 1;
res.redirect('challenges/' + nextChallenge);
} else {
res.redirect('challenges/0');
}
} else { } else {
res.render('home', { res.render('home', {
title: 'Learn to Code and Become a Software Engineer', title: 'Learn to Code and Become a Software Engineer'
landingPage: true
}); });
} }
}; };

View File

@ -102,9 +102,14 @@ module.exports = {
var date2 = new Date(); var date2 = new Date();
var timeDiff = Math.abs(date2.getTime() - date1.getTime()); var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24)); 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://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, res3) { client.get('https://api.github.com/repos/freecodecamp/freecodecamp/pulls', githubHeaders, function(pulls, res3) {
client.get('https://api.github.com/repos/freecodecamp/freecodecamp/issues', githubHeaders, function(issues, res4) {
client.get('https://www.googleapis.com/blogger/v3/blogs/2421288658305323950/posts?key=' + secrets.blogger.key, function (blogger, res5) {
var nonprofitProjects = (JSON.parse(trello)).length || 27; var nonprofitProjects = (JSON.parse(trello)).length || 27;
var pulls = pulls ? (JSON.parse(pulls)).length : 0;
var issues = issues ? (JSON.parse(issues)).length : 0;
var blog = JSON.parse(blogger); var blog = JSON.parse(blogger);
User.count({'points': {'$gt': 2}}, function (err, c3) { User.count({'points': {'$gt': 2}}, function (err, c3) {
if (err) { if (err) {
@ -130,6 +135,8 @@ module.exports = {
title: 'About Free Code Camp and Our Team of Volunteers', title: 'About Free Code Camp and Our Team of Volunteers',
daysRunning: daysRunning, daysRunning: daysRunning,
nonprofitProjects: nonprofitProjects, nonprofitProjects: nonprofitProjects,
pulls: pulls,
issues: issues,
c3: c3, c3: c3,
c10: c10, c10: c10,
c30: c30, c30: c30,
@ -151,6 +158,8 @@ module.exports = {
}); });
}); });
}); });
});
});
}, },
randomPhrase: function() { randomPhrase: function() {

View File

@ -717,9 +717,9 @@
@panel-success-border: @state-success-border; @panel-success-border: @state-success-border;
@panel-success-heading-bg: @state-success-bg; @panel-success-heading-bg: @state-success-bg;
@panel-info-text: @state-info-text; @panel-info-text: #eee;
@panel-info-border: @state-info-border; @panel-info-border: darken(#4a2b0f, 5%);
@panel-info-heading-bg: @state-info-bg; @panel-info-heading-bg: #4a2b0f;
@panel-warning-text: @state-warning-text; @panel-warning-text: @state-warning-text;
@panel-warning-border: @state-warning-border; @panel-warning-border: @state-warning-border;

View File

@ -374,6 +374,11 @@ ul {
display: block; display: block;
} }
.next-challenge-button {
max-width: 1500px;
margin:0 auto;
}
.btn-big { .btn-big {
font-size: 30px; font-size: 30px;
} }
@ -690,6 +695,14 @@ iframe.iphone {
font-size: 0px; font-size: 0px;
} }
.stats-text {
font-size: 26px;
line-height: 150%;
}
.github-button-container {
padding-top: 5px;
}
//uncomment this to see the dimensions of all elements outlined in red //uncomment this to see the dimensions of all elements outlined in red
//* { //* {

View File

@ -400,7 +400,7 @@
"Try an intelligent Google query that involves JavaScript and filters for this year (since JavaScript changes).", "Try an intelligent Google query that involves JavaScript and filters for this year (since JavaScript changes).",
"Go to <a href='http://stackoverflow.com/' target='_blank'>http://stackoverflow.com/</a> and view the recent questions.", "Go to <a href='http://stackoverflow.com/' target='_blank'>http://stackoverflow.com/</a> and view the recent questions.",
"Go to <a href='http://webchat.freenode.net/' target='_blank'>http://webchat.freenode.net/</a> and create an IRC account.", "Go to <a href='http://webchat.freenode.net/' target='_blank'>http://webchat.freenode.net/</a> and create an IRC account.",
"Join the #JavaScript chat room and introduce yourself as a Free Code Camp student.", "Join the #LearnJavaScript chat room and introduce yourself as a Free Code Camp student.",
"Finally, we have a special chat room specifically for getting help with tools you learn through Free Code Camp Challenges. Go to <a href='https://gitter.im/FreeCodeCamp/Help' target='_blank'>https://gitter.im/FreeCodeCamp/Help</a>. Keep this chat open while you work on the remaining challenges.", "Finally, we have a special chat room specifically for getting help with tools you learn through Free Code Camp Challenges. Go to <a href='https://gitter.im/FreeCodeCamp/Help' target='_blank'>https://gitter.im/FreeCodeCamp/Help</a>. Keep this chat open while you work on the remaining challenges.",
"Now you have several ways of getting help when you're stuck." "Now you have several ways of getting help when you're stuck."
] ]

View File

@ -419,6 +419,36 @@
"challengeType": 0 "challengeType": 0
}, },
{
"_id" : "bad87fee1348bd9aedf08811",
"name": "Use rgb Codes for Precise Colors",
"difficulty" : "0.17",
"description": [
"Change the <code>red-text</code> class's color <code>rgb</code> value to be red.",
"Another way to represent color in CSS is with <code>rgb</code>, or red-green-blue notation.",
"For each of the three colors, you specify a value between 0 and 256.",
"For example, black is <code>rgb(0, 0, 0)</code>, white is <code>rgb(255, 255, 255)</code>, bright green is <code>rgb(0, 255, 0)</code>. You can also get less intense colors by using values lower than 255. For example, light green is <code>rgb(0, 123, 0).",
"If you think about it, this is just as precise as using <code>hex code</code>, because 16 times 16 is 256. In practice, most developers use <code>hex code</code> since it's faster to say out loud and to type.",
"We'll use 6-digit <code>hex code</code> in all our challenges going forward, but it's good to be aware of this <code>rgb</code> notation."
],
"tests": [
"expect($('h2')).to.have.css('color', 'rgb(255, 0, 0)');",
"expect($('h2')).to.have.class('red-text');"
],
"challengeSeed": [
"<style>",
" .red-text {",
" color: rgb(0, 255, 0);",
" }",
"</style>",
"",
"<h1>hello world</h1>",
"<h2 class=\"red-text\">cat photo app</h2>",
"<p>lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>"
],
"challengeType": 0
},
{ {
"_id" : "bad87fee1348bd9aedf08810", "_id" : "bad87fee1348bd9aedf08810",
"name": "Use Hex Codes for Precise Colors", "name": "Use Hex Codes for Precise Colors",
@ -478,7 +508,7 @@
{ {
"_id" : "bad87fee1348bd9aedf08811", "_id" : "bad87fee1348bd9aedf08811",
"name": "Use rgb Codes for Precise Colors", "name": "Set the Alpha of a Color with rgba",
"difficulty" : "0.17", "difficulty" : "0.17",
"description": [ "description": [
"Change the <code>red-text</code> class's color <code>rgb</code> value to be red.", "Change the <code>red-text</code> class's color <code>rgb</code> value to be red.",

View File

@ -1,4 +1,4 @@
.panel.panel-primary .panel.panel-info
.panel-heading.landing-panel-heading.text-center Our Team of Volunteer Camp Counselors .panel-heading.landing-panel-heading.text-center Our Team of Volunteer Camp Counselors
.panel-body .panel-body
.landing-panel-body.text-center .landing-panel-body.text-center
@ -12,121 +12,121 @@
} }
}); });
#shuffle #shuffle
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Ammar Shah h3.negative-10.text-nowrap Ammar Shah
h4.negative-10.text-nowrap Community Builder h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ammar-shah.jpg' alt="Ammar Shah's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ammar-shah.jpg' alt="Ammar Shah's picture")
h4.text-nowrap Karachi, Pakistan h4.text-nowrap Karachi, Pakistan
p.negative-10 "I code whenever I'm not sleeping or in school. Making computers obey me is a dream come true." p.negative-10 "I code whenever I'm not sleeping or in school. Making computers obey me is a dream come true."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Branden Byers h3.negative-10.text-nowrap Branden Byers
h4.negative-10.text-nowrap Instructional Designer h4.negative-10.text-nowrap Instructional Designer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/branden-byers.jpg' alt="Branden Byers picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/branden-byers.jpg' alt="Branden Byers picture")
h4.text-nowrap Madison, Wisconsin h4.text-nowrap Madison, Wisconsin
p.negative-10 "Cookbook author and stay-at-home-dad. Started coding as a kid, got distracted, but now I'm back in full JavaScript force!" p.negative-10 "Cookbook author and stay-at-home-dad. Started coding as a kid, got distracted, but now I'm back in full JavaScript force!"
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Michael Johnson h3.negative-10.text-nowrap Michael Johnson
h4.negative-10.text-nowrap Nonprofit Coordinator h4.negative-10.text-nowrap Nonprofit Coordinator
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/michael-johnson.jpeg' alt="Michael Johnson's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/michael-johnson.jpeg' alt="Michael Johnson's picture")
h4.text-nowrap Washington, D.C. h4.text-nowrap Washington, D.C.
p.negative-10 "Im a recent Harvard University graduate who took a pass on Wall Street to code for a cause, and help others do the same." p.negative-10 "Im a recent Harvard University graduate who took a pass on Wall Street to code for a cause, and help others do the same."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Berkeley Martinez h3.negative-10.text-nowrap Berkeley Martinez
h4.negative-10.text-nowrap JavaScript Engineer h4.negative-10.text-nowrap JavaScript Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/berkeley-martinez.jpg' alt="Berkeley Martinez's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/berkeley-martinez.jpg' alt="Berkeley Martinez's picture")
h4.text-nowrap San Francisco, California h4.text-nowrap San Francisco, California
p.negative-10 "Former mechanical engineer. Coding is pure creation. I can fly, but only once." p.negative-10 "Former mechanical engineer. Coding is pure creation. I can fly, but only once."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Mychael Zuniga h3.negative-10.text-nowrap Mychael Zuniga
h4.negative-10.text-nowrap JavaScript Engineer h4.negative-10.text-nowrap JavaScript Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/mychael-zuniga.jpg' alt="Mychael Zuniga's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/mychael-zuniga.jpg' alt="Mychael Zuniga's picture")
h4.text-nowrap San Diego, California h4.text-nowrap San Diego, California
p.negative-10 "I'm a college student who turned to code as an avenue for creative expression. I love political science and economics." p.negative-10 "I'm a college student who turned to code as an avenue for creative expression. I love political science and economics."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Jeanette Casteñeta h3.negative-10.text-nowrap Jeanette Casteñeta
h4.negative-10.text-nowrap Product Manager h4.negative-10.text-nowrap Product Manager
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/jeanette-casteneta.jpg' alt="Jeanette Casteñeta's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/jeanette-casteneta.jpg' alt="Jeanette Casteñeta's picture")
h4.text-nowrap San Francisco, California h4.text-nowrap San Francisco, California
p.negative-10 "Home-ec diva. I can envision a dress, then stitch it together. Now I'm learning how to do the same thing with code." p.negative-10 "Home-ec diva. I can envision a dress, then stitch it together. Now I'm learning how to do the same thing with code."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Darryl Dixon h3.negative-10.text-nowrap Darryl Dixon
h4.negative-10.text-nowrap Community Builder h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/darryl-dixon.jpg' alt="Darryl Dixon's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/darryl-dixon.jpg' alt="Darryl Dixon's picture")
h4.text-nowrap Newport News, Virginia h4.text-nowrap Newport News, Virginia
p.negative-10 "I'm a self-taught graphic designer. I'm learning web development here and want you to learn with me." p.negative-10 "I'm a self-taught graphic designer. I'm learning web development here and want you to learn with me."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Kathy O'Driscoll h3.negative-10.text-nowrap Kathy O'Driscoll
h4.negative-10.text-nowrap Community Builder h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/kathy-odriscoll.jpg' alt="Kathy O'Driscoll's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/kathy-odriscoll.jpg' alt="Kathy O'Driscoll's picture")
h4.text-nowrap Los Angeles, California h4.text-nowrap Los Angeles, California
p.negative-10 "Mother and grandmother. All my life I've dabbled in getting machines to do my bidding. Now it's becoming my career." p.negative-10 "Mother and grandmother. All my life I've dabbled in getting machines to do my bidding. Now it's becoming my career."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Ryan Malm h3.negative-10.text-nowrap Ryan Malm
h4.negative-10.text-nowrap Visual Designer h4.negative-10.text-nowrap Visual Designer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ryan-malm.jpg' alt="Ryan Malm's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ryan-malm.jpg' alt="Ryan Malm's picture")
h4.text-nowrap Omaha, Nebraska h4.text-nowrap Omaha, Nebraska
p.negative-10 "I love origami, piano, and playing minecraft with my kids. My JavaScript grows stronger every day." p.negative-10 "I love origami, piano, and playing minecraft with my kids. My JavaScript grows stronger every day."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Charles Watson h3.negative-10.text-nowrap Charles Watson
h4.negative-10.text-nowrap JavaScript Engineer h4.negative-10.text-nowrap JavaScript Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/charles-watson.jpg' alt="Charles Watson's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/charles-watson.jpg' alt="Charles Watson's picture")
h4.text-nowrap Minneapolis, Minnesota h4.text-nowrap Minneapolis, Minnesota
p.negative-10 "I skipped college. I build iOS apps. I love the obstacles and puzzles that coding presents me." p.negative-10 "I skipped college. I build iOS apps. I love the obstacles and puzzles that coding presents me."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Quincy Larson h3.negative-10.text-nowrap Quincy Larson
h4.negative-10.text-nowrap Instructional Designer h4.negative-10.text-nowrap Instructional Designer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/quincy-larson.jpg' alt="Quincy Larson's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/quincy-larson.jpg' alt="Quincy Larson's picture")
h4.text-nowrap San Francisco, California h4.text-nowrap San Francisco, California
p.negative-10 "I worked as a school director in China before learning to code. It's clear that everyone can - and should - learn to code." p.negative-10 "I worked as a school director in China before learning to code. It's clear that everyone can - and should - learn to code."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Mark Howard h3.negative-10.text-nowrap Mark Howard
h4.negative-10.text-nowrap Digital Marketer h4.negative-10.text-nowrap Digital Marketer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/mark-howard.jpg' alt="Mark Howard's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/mark-howard.jpg' alt="Mark Howard's picture")
h4.text-nowrap San Diego, California h4.text-nowrap San Diego, California
p.negative-10 "I enjoy helping people, at scale. Code is the best way to do that." p.negative-10 "I enjoy helping people, at scale. Code is the best way to do that."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Nathan Leniz h3.negative-10.text-nowrap Nathan Leniz
h4.negative-10.text-nowrap JavaScript Engineer h4.negative-10.text-nowrap JavaScript Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/nathan-leniz.jpg' alt="Nathan Leniz's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/nathan-leniz.jpg' alt="Nathan Leniz's picture")
h4.text-nowrap Seoul, South Korea h4.text-nowrap Seoul, South Korea
p.negative-10 "I learned to code for the games, and stayed for the algorithms." p.negative-10 "I learned to code for the games, and stayed for the algorithms."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Jason Rueckert h3.negative-10.text-nowrap Jason Rueckert
h4.negative-10.text-nowrap Live Content Manager h4.negative-10.text-nowrap Live Content Manager
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/jason-rueckert.jpg' alt="Jason Rueckert's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/jason-rueckert.jpg' alt="Jason Rueckert's picture")
h4.text-nowrap Seattle, Washington h4.text-nowrap Seattle, Washington
p.negative-10 "My high school job was testing basketball shoes for Nike. I learned code to work smarter, not harder. I have no thyroid." p.negative-10 "My high school job was testing basketball shoes for Nike. I learned code to work smarter, not harder. I have no thyroid."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Christopher Nguyen h3.negative-10.text-nowrap Christopher Nguyen
h4.negative-10.text-nowrap QA Engineer h4.negative-10.text-nowrap QA Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/christopher-nguyen.jpg' alt="Christopher Nguyen's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/christopher-nguyen.jpg' alt="Christopher Nguyen's picture")
h4.text-nowrap Seattle, Washington h4.text-nowrap Seattle, Washington
p.negative-10 "Morning Owl. Code is an equalizer. Barriers exist everywhere, but if you can say 'hello world', the world will say hello back." p.negative-10 "Morning Owl. Code is an equalizer. Barriers exist everywhere, but if you can say 'hello world', the world will say hello back."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Dominic Jones h3.negative-10.text-nowrap Dominic Jones
h4.negative-10.text-nowrap Community Builder h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/dominic-jones.jpg' alt="Dominic Jones's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/dominic-jones.jpg' alt="Dominic Jones's picture")
h4.text-nowrap York, Pennsylvania h4.text-nowrap York, Pennsylvania
p.negative-10 "Born with Sickle Cell Anemia. Professional writer, working on becoming a professional code writer." p.negative-10 "Born with Sickle Cell Anemia. Professional writer, working on becoming a professional code writer."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap James McShane h3.negative-10.text-nowrap James McShane
h4.negative-10.text-nowrap JavaScript Engineer h4.negative-10.text-nowrap JavaScript Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/james-mcshane.jpg' alt="James McShane's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/james-mcshane.jpg' alt="James McShane's picture")
h4.text-nowrap Minneapolis, Minnesota h4.text-nowrap Minneapolis, Minnesota
p.negative-10 "I just bought our first house, ending a 10 year streak of moving each year. I've used code to solve problems since I was a child." p.negative-10 "I just bought our first house, ending a 10 year streak of moving each year. I've used code to solve problems since I was a child."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Ellie Adam h3.negative-10.text-nowrap Ellie Adam
h4.negative-10.text-nowrap Visual Designer h4.negative-10.text-nowrap Visual Designer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ellie-adam.jpg' alt="Eliie Adam's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/ellie-adam.jpg' alt="Eliie Adam's picture")
h4.text-nowrap Seattle, Washington h4.text-nowrap Seattle, Washington
p.negative-10 "I photograph birds and flowers. I'm a designer who recently decided to learn coding and front end web developement." p.negative-10 "I photograph birds and flowers. I'm a designer who recently decided to learn coding and front end web developement."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Kamal Sharif h3.negative-10.text-nowrap Kamal Sharif
h4.negative-10.text-nowrap JavaScript Engineer h4.negative-10.text-nowrap JavaScript Engineer
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/kamal-sharif.jpg' alt="Kamal Sharif's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/kamal-sharif.jpg' alt="Kamal Sharif's picture")
h4.text-nowrap Dhaka, Bangladesh h4.text-nowrap Dhaka, Bangladesh
p.negative-10 "I build applications that help other people improve their own lives." p.negative-10 "I build applications that help other people improve their own lives."
.col-xs-12.col-sm-4.col-md-3.team-member .col-xs-12.col-sm-12.col-md-12.col-lg-6.team-member
h3.negative-10.text-nowrap Patrick Ly h3.negative-10.text-nowrap Patrick Ly
h4.negative-10.text-nowrap Community Builder h4.negative-10.text-nowrap Community Builder
img.profile-image(src='https://s3.amazonaws.com/freecodecamp/patrick-ly.jpg' alt="Patrick Ly's picture") img.profile-image(src='https://s3.amazonaws.com/freecodecamp/patrick-ly.jpg' alt="Patrick Ly's picture")

View File

@ -1,20 +1,10 @@
.panel.panel-primary h2
.panel-heading.landing-panel-heading.text-center Our Blog and Tweets
.panel-body
.landing-panel-body.text-center
.row
.col-xs-12.col-sm-12.col-md-6
h2
a(href=blog1Link)= blog1Title a(href=blog1Link)= blog1Title
h2 h2
a(href=blog2Link)= blog2Title a(href=blog2Link)= blog2Title
h2 h2
a(href=blog3Link)= blog3Title a(href=blog3Link)= blog3Title
h2 h2
a(href=blog4Link)= blog4Title a(href=blog4Link)= blog4Title
h2 h2
a(href=blog5Link)= blog5Title a(href=blog5Link)= blog5Title
.col-xs-12.col-sm-12.col-md-6
a.twitter-timeline(data-dnt='true', href='https://twitter.com/FreeCodeCamp', data-widget-id='560847186548621312') Tweets by @FreeCodeCamp
script.
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");

View File

@ -1,4 +1,4 @@
.panel.panel-primary .panel.panel-info
.panel-heading.landing-panel-heading.text-center Frequently Asked Questions .panel-heading.landing-panel-heading.text-center Frequently Asked Questions
.panel-body .panel-body
.landing-panel-body .landing-panel-body
@ -16,11 +16,12 @@
p.landing-p Then you'll learn computer science and the art of programming: p.landing-p Then you'll learn computer science and the art of programming:
ul ul
li.landing-p &#8226 JavaScript - the one programming language that all web browsers use li.landing-p &#8226 JavaScript - the one programming language that all web browsers use
li.landing-p &#8226 Git - a version control system for saving and sharing your projects
li.landing-p &#8226 Algorithms - step-by-step recipes for getting things done li.landing-p &#8226 Algorithms - step-by-step recipes for getting things done
li.landing-p &#8226 Automated Testing - write tests to test the limits of your code
p.landing-p You'll spend the last half of Free Code Camp using Agile Methodologies and Full Stack JavaScript to build projects for nonprofits: p.landing-p You'll spend the last half of Free Code Camp using Agile Methodologies and Full Stack JavaScript to build projects for nonprofits:
ul ul
li.landing-p &#8226 Agile - a set of software development principles that focus the design and production of a project on the needs of its users li.landing-p &#8226 Agile - a set of software development principles that focus the design and production of a project on the needs of its users
li.landing-p &#8226 Git - a version control system for saving and sharing your projects
li.landing-p &#8226 MongoDB - a popular non-relational database li.landing-p &#8226 MongoDB - a popular non-relational database
li.landing-p &#8226 Angular.js - a tool for making exciting web interfaces li.landing-p &#8226 Angular.js - a tool for making exciting web interfaces
li.landing-p &#8226 Express.js - a powerful web development framework li.landing-p &#8226 Express.js - a powerful web development framework

View File

@ -1,46 +1,39 @@
.panel.panel-primary h2.stats-text
.panel-heading.landing-panel-heading.text-center Free Code Camp Stats
.panel-body
.landing-panel-body.text-center
.row .row
.col-xs-6.text-right .col-xs-6.text-right Days since we launched:
h2 Days since we Launched: .col-xs-6.text-left= daysRunning
.col-xs-6.text-left
h2
= daysRunning
.row .row
.col-xs-6.text-right .col-xs-6.text-right Nonprofit Projects:
h2 Nonprofit Projects: .col-xs-6.text-left= nonprofitProjects
.col-xs-6.text-left
h2
=nonprofitProjects
| &nbsp | &nbsp
a(href="https://trello.com/b/BA3xVpz9/nonprofit-projects") (view) a(href="https://trello.com/b/BA3xVpz9/nonprofit-projects") (view)
.row .row
.col-xs-6.text-right .col-xs-6.text-right Open Issues:
h2 Campers with at least... .col-xs-6.text-left= pulls
.col-xs-6 | &nbsp
a(href="https://github.com/freecodecamp/freecodecamp/issues") (view)
.row .row
.col-xs-6.text-right .col-xs-6.text-right Pull Requests:
h2 3 Points: .col-xs-6.text-left= pulls
.col-xs-6.text-left | &nbsp
h2 a(href="https://github.com/freecodecamp/freecodecamp/pulls") (view)
= c3
.row .row
.col-xs-6.text-right .col-xs-6.text-right Campers with at least...
h2 10 Points: .col-xs-4
.col-xs-6.text-left
h2
= c10
.row .row
.col-xs-6.text-right .col-xs-6.text-right 3 Points:
h2 30 Points: .col-xs-6.text-left= c3
.col-xs-6.text-left
h2
= c30
.row .row
.col-xs-6.text-right .col-xs-6.text-right 10 Points:
h2 All 54 Points: .col-xs-6.text-left= c10
.col-xs-6.text-left .row
h2 .col-xs-6.text-right 30 Points:
= all .col-xs-6.text-left= c30
.row
.col-xs-6.text-right All 54 Points:
.col-xs-6.text-left= all
.row
.col-xs-6.text-right Star our project here:
.col-xs-6.text-left.github-button-container
html.
<iframe src="http://ghbtns.com/github-btn.html?user=freecodecamp&repo=freecodecamp&type=watch&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe>

View File

@ -1,8 +1,47 @@
extends ../layout extends ../layout-wide
block content block content
img.img-responsive.img-center(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png')
br
a.btn.btn-big.btn-block.btn-primary.next-challenge-button(href="/challenges/") Take me to my next challenge
br
script. script.
var challengeName = 'Learn to code' var challengeName = 'Learn to code'
include ../partials/stats .row
include ../partials/blog .col-xs-12.col-sm-12.col-md-6
include ../partials/about
include ../partials/faq include ../partials/faq
.col-xs-12.col-sm-12.col-md-6
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Stats
.panel-body
.landing-panel-body
include ../partials/stats
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Blog
.panel-body
.landing-panel-body.text-center
include ../partials/blog
.panel.panel-info
.panel-heading.landing-panel-heading.text-center Tweets
.panel-body
.landing-panel-body.text-center
a.twitter-timeline(data-dnt='true', href='https://twitter.com/FreeCodeCamp', data-widget-id='560847186548621312') Tweets by @FreeCodeCamp
script.
!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = p + "://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
}
}(document, "script", "twitter-wjs");
.text-center
html.
<a class="twitter-follow-button"
href="https://twitter.com/freecodecamp"
data-show-count="true"
data-lang="en">
Follow @FreeCodeCamp
</a>
<script>window.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,"script","twitter-wjs"));</script>
include ../partials/about