Merge branch 'staging' of github.com:FreeCodeCamp/freecodecamp into staging
commit
61a8a54682
|
@ -126,7 +126,7 @@ gulp.task('serve', function(cb) {
|
|||
script: paths.server,
|
||||
ext: '.js .json',
|
||||
ignore: paths.serverIgnore,
|
||||
exec: path.join(__dirname, 'node_modules/.bin/babel-node'),
|
||||
exec: '%cd%/node_modules/.bin/babel-node',
|
||||
env: {
|
||||
'NODE_ENV': 'development',
|
||||
'DEBUG': process.env.DEBUG || 'freecc:*'
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
"nodemailer": "~1.3.0",
|
||||
"object.assign": "^3.0.0",
|
||||
"passport-facebook": "^2.0.0",
|
||||
"passport-github": "^0.1.5",
|
||||
"passport-google-oauth2": "^0.1.6",
|
||||
"passport-linkedin-oauth2": "^1.2.1",
|
||||
"passport-local": "^1.0.0",
|
||||
|
|
|
@ -1074,9 +1074,12 @@
|
|||
],
|
||||
"tests": [
|
||||
"assert.deepEqual(unite([1, 3, 2], [5, 2, 1, 4], [2, 1]), [1, 3, 2, 5, 4], 'should return the union of the given arrays');",
|
||||
"assert.deepEqual(unite([1, 3, 2], [1, [5]], [2, [4]]), [1, 3, 2, [5], [4]], 'should not flatten nested arrays');"
|
||||
"assert.deepEqual(unite([1, 3, 2], [1, [5]], [2, [4]]), [1, 3, 2, [5], [4]], 'should not flatten nested arrays');",
|
||||
"assert.deepEqual(unite([1, 2, 3], [5, 2, 1]), [1, 2, 3, 5], 'should correctly handle exactly two arguments');",
|
||||
"assert.deepEqual(unite([1, 2, 3], [5, 2, 1, 4], [2, 1], [6, 7, 8]), [ 1, 2, 3, 5, 4, 6, 7, 8 ], 'should correctly handle higher numbers of arguments');"
|
||||
],
|
||||
"MDNlinks": [
|
||||
"Arguments object",
|
||||
"Array.reduce()"
|
||||
],
|
||||
"challengeType": 5,
|
||||
|
|
|
@ -1069,6 +1069,35 @@
|
|||
],
|
||||
"challengeType": 1
|
||||
},
|
||||
{
|
||||
"id":"cf1111c1c13feddfaeb3bdef",
|
||||
"name":"Inverting a Match",
|
||||
"dashedName":"waypoint-inverting-a-match",
|
||||
"difficulty":"9.987",
|
||||
"description":[
|
||||
"",
|
||||
"Use <code>/\\S+/gi;</code> to match everything that ins't a space in the string",
|
||||
"You can invert any match by using the uppercase version of the selector <code>\\s</code> versus <code>\\S</code> for example"
|
||||
],
|
||||
"tests":[
|
||||
"assert(test === 36, 'Your RegEx should have found seven spaces in the testString');",
|
||||
"assert(editorValue.match(/\\/\\\\S\\/gi/gi), 'You should be using the following expression /\\S+/gi to find the spaces in the testString');"
|
||||
],
|
||||
"challengeSeed":[
|
||||
"var test = (function(){",
|
||||
" var testString = \"How many spaces are there in this sentance.\";",
|
||||
"",
|
||||
"//Do Not Modify Above",
|
||||
"",
|
||||
" var expression = /.+/gi;",
|
||||
"",
|
||||
"//Do Not Modify Below",
|
||||
"",
|
||||
" return(testString.match(expression).length);",
|
||||
"})();(function(){return(test);})();"
|
||||
],
|
||||
"challengeType":1
|
||||
},
|
||||
{
|
||||
"id":"cf1111c1c12feddfaeb9bdef",
|
||||
"name":"Creating a slots machine",
|
||||
|
@ -1080,7 +1109,7 @@
|
|||
"For this we will need to generate three random numbers between <code>1</code> and <code>5</code> to represent the possible values of each individual slot",
|
||||
"Store the three random numbers in <code>slotOne</code>, <code>slotTwo</code> and <code>slotThree</code>",
|
||||
"Generate the random numbers by using the system we used earlier in /challenges/random-whole-numbers-in-a-range",
|
||||
"<code> Math.floor(Math.random() * (5 - 1 + 1)) + 1; </code>."
|
||||
"<code> Math.floor(Math.random() * (5 - 1 + 1)) + 1; </code>"
|
||||
],
|
||||
"tests":[
|
||||
"assert(typeof(runSlots($('.slot'))[0]) == 'number', 'SlotOne should be a random number');",
|
||||
|
|
|
@ -127,5 +127,19 @@ module.exports = {
|
|||
state: process.env.LINKEDIN_STATE
|
||||
},
|
||||
failureFlash: true
|
||||
},
|
||||
'github-login': {
|
||||
provider: 'github',
|
||||
authScheme: 'oauth2',
|
||||
module: 'passport-github',
|
||||
authPath: '/auth/github',
|
||||
callbackURL: '/auth/github/callback',
|
||||
callbackPath: '/auth/github/callback',
|
||||
successRedirect: successRedirect,
|
||||
failureRedirect: failureRedirect,
|
||||
clientID: process.env.GITHUB_ID,
|
||||
clientSecret: process.env.GITHUB_SECRET,
|
||||
scope: ['email'],
|
||||
failureFlash: true
|
||||
}
|
||||
};
|
||||
|
|
|
@ -2,18 +2,21 @@ extends ../layout
|
|||
block content
|
||||
.jumbotron.text-center
|
||||
h2 Sign in with one of these options:
|
||||
a.btn.btn-lg.btn-block.btn-google-plus.btn-social(href='/auth/google')
|
||||
i.fa.fa-google-plus
|
||||
| Sign in with Google
|
||||
a.btn.btn-lg.btn-block.btn-facebook.btn-social(href='/auth/facebook')
|
||||
i.fa.fa-facebook
|
||||
| Sign in with Facebook
|
||||
a.btn.btn-lg.btn-block.btn-linkedin.btn-social(href='/auth/linkedin')
|
||||
i.fa.fa-linkedin
|
||||
| Sign in with LinkedIn
|
||||
a.btn.btn-lg.btn-block.btn-twitter.btn-social(href='/auth/github')
|
||||
i.fa.fa-github
|
||||
| Sign in with Github
|
||||
a.btn.btn-lg.btn-block.btn-twitter.btn-social(href='/auth/twitter')
|
||||
i.fa.fa-twitter
|
||||
| Sign in with Twitter
|
||||
a.btn.btn-lg.btn-block.btn-facebook.btn-social(href='/auth/facebook')
|
||||
i.fa.fa-facebook
|
||||
| Sign in with Facebook
|
||||
a.btn.btn-lg.btn-block.btn-google-plus.btn-social(href='/auth/google')
|
||||
i.fa.fa-google-plus
|
||||
| Sign in with Google
|
||||
a.btn.btn-lg.btn-block.btn-linkedin.btn-social(href='/auth/linkedin')
|
||||
i.fa.fa-linkedin
|
||||
| Sign in with LinkedIn
|
||||
br
|
||||
p
|
||||
a(href="/email-signup") Or sign up using your email address here.
|
||||
|
|
Loading…
Reference in New Issue