Merge branch 'master' of github.com:FreeCodeCamp/freecodecamp
This commit is contained in:
@@ -235,8 +235,18 @@ exports.upvote = function(req, res, next) {
|
||||
return next(err);
|
||||
}
|
||||
user = user.pop();
|
||||
user.progressTimestamps.push(Date.now());
|
||||
user.save();
|
||||
user.progressTimestamps.push(Date.now() || 0);
|
||||
user.save(function (err, user) {
|
||||
req.user.save(function (err, user) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
});
|
||||
req.user.progressTimestamps.push(Date.now() || 0);
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
return res.send(story);
|
||||
});
|
||||
@@ -373,6 +383,12 @@ exports.storySubmission = function(req, res, next) {
|
||||
if (err) {
|
||||
return res.status(500);
|
||||
}
|
||||
req.user.progressTimestamps.push(Date.now() || 0);
|
||||
req.user.save(function (err, user) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
});
|
||||
res.send(JSON.stringify({
|
||||
storyLink: story.storyLink.replace(/\s/g, '-').toLowerCase()
|
||||
}));
|
||||
|
@@ -358,6 +358,7 @@ exports.returnUser = function(req, res, next) {
|
||||
githubProfile: user.profile.githubProfile,
|
||||
linkedinProfile: user.profile.linkedinProfile,
|
||||
codepenProfile: user.profile.codepenProfile,
|
||||
facebookProfile: user.profile.facebookProfile,
|
||||
twitterHandle: user.profile.twitterHandle,
|
||||
bio: user.profile.bio,
|
||||
picture: user.profile.picture,
|
||||
@@ -453,6 +454,7 @@ exports.postUpdateProfile = function(req, res, next) {
|
||||
user.profile.username = req.body.username.trim() || '';
|
||||
user.profile.location = req.body.location.trim() || '';
|
||||
user.profile.githubProfile = req.body.githubProfile.trim() || '';
|
||||
user.profile.facebookProfile = req.body.facebookProfile.trim() || '';
|
||||
user.profile.linkedinProfile = req.body.linkedinProfile.trim() || '';
|
||||
user.profile.codepenProfile = req.body.codepenProfile.trim() || '';
|
||||
user.profile.twitterHandle = req.body.twitterHandle.trim() || '';
|
||||
|
@@ -64,6 +64,10 @@ var userSchema = new mongoose.Schema({
|
||||
twitterHandle: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
facebookProfile: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
portfolio: {
|
||||
|
@@ -1065,6 +1065,10 @@ hr {
|
||||
margin-right: -20px;
|
||||
}
|
||||
|
||||
.profile-social-icons {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.border-radius-5 {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
@@ -351,7 +351,8 @@
|
||||
"Perform a search and replace on the sentence using the arguments provided and return the new sentence.",
|
||||
"First argument is the sentence the perform the search and replace on.",
|
||||
"Second argument is the word that you will be replacing (before).",
|
||||
"Third argument is what you will be replacing the second argument with (after)."
|
||||
"Third argument is what you will be replacing the second argument with (after).",
|
||||
"NOTE: Preserve the case of the original word when you are replacing it. For example if you mean to replace the word 'Book' with the word 'dog', it should be replaced as 'Dog'"
|
||||
],
|
||||
"challengeSeed": "function replace(str, before, after) {\n return str;\r\n}\n\nreplace(\"A quick brown fox jumped over the lazy dog\", \"jumped\", \"leaped\");",
|
||||
"MDNlinks" : ["Array.splice()", "String.replace()", "Array.join()"]
|
||||
|
@@ -213,7 +213,7 @@
|
||||
"difficulty": 0.13,
|
||||
"challengeSeed": "125671865",
|
||||
"description": [
|
||||
"jQuery is a powerful tool for manipulating HTML elements.",
|
||||
"jQuery is a powerful library built in JavaScript for manipulating HTML elements.",
|
||||
"It's a lot easier to use than JavaScript itself, so we'll learn it first.",
|
||||
"It's also extremely popular with employers, so we're going to learn it well.",
|
||||
"Codecademy has an excellent free course that will walk us through the basics of jQuery.",
|
||||
|
@@ -143,6 +143,15 @@ block content
|
||||
span.ion-close-circled
|
||||
| Please enter a valid URL format (http://www.example.com).
|
||||
|
||||
.form-group
|
||||
label.col-sm-3.col-sm-offset-2.control-label(for='email') Facebook
|
||||
.col-sm-4
|
||||
input.form-control(type='url', name='facebookProfile', id='facebookProfile', autocomplete="off", ng-model='user.profile.facebookProfile', placeholder='http://')
|
||||
.col-sm-4.col-sm-offset-5(ng-cloak, ng-show="profileForm.facebookProfile.$error.url && !profileForm.facebookProfile.$pristine")
|
||||
alert(type='danger')
|
||||
span.ion-close-circled
|
||||
| Please enter a valid URL format (http://www.example.com).
|
||||
|
||||
.form-group
|
||||
.col-sm-offset-5.col-sm-4
|
||||
button.btn.btn-primary.btn-block(type='submit', ng-disabled='profileForm.$invalid')
|
||||
|
@@ -22,15 +22,17 @@ block content
|
||||
img.img-center.img-responsive.public-profile-img(src=picture)
|
||||
else
|
||||
img.img-center.img-responsive.public-profile-img(src='https://s3.amazonaws.com/freecodecamp/camper-image-placeholder.png')
|
||||
h1.text-center.negative-5
|
||||
h1.text-center.negative-5.profile-social-icons
|
||||
- if (twitterHandle)
|
||||
a.ion-social-twitter.text-primary(title="@#{username}'s Twitter Profile", href="http://twitter.com/#{twitterHandle}", target='_blank')
|
||||
a.fa.fa-twitter-square.text-primary(title="@#{username}'s Twitter Profile", href="http://twitter.com/#{twitterHandle}", target='_blank')
|
||||
- if (githubProfile)
|
||||
a.ion-social-github.text-primary(title="@#{username}'s GitHub Profile", href=githubProfile, target='_blank')
|
||||
- if (linkedinProfile)
|
||||
a.ion-social-linkedin.text-primary(title="@#{username}'s LinkedIn Profile", href=linkedinProfile, target='_blank')
|
||||
a.fa.fa-github-square.text-primary(title="@#{username}'s GitHub Profile", href=githubProfile, target='_blank')
|
||||
- if (codepenProfile)
|
||||
a.ion-social-codepen.text-primary(title="@#{username}'s CodePen Profile", href=codepenProfile, target='_blank')
|
||||
- if (linkedinProfile)
|
||||
a.fa.fa-linkedin-square.text-primary(title="@#{username}'s LinkedIn Profile", href=linkedinProfile, target='_blank')
|
||||
- if (facebookProfile)
|
||||
a.fa.fa-facebook-square.text-primary(title="@#{username}'s Facebook Profile", href=facebookProfile, target='_blank')
|
||||
.visible-md.visible-lg
|
||||
.col-xs-12.col-sm-12.col-md-4.text-justify
|
||||
h1.flat-top.wrappable= name
|
||||
|
@@ -1,6 +1,5 @@
|
||||
extends ../layout
|
||||
block content
|
||||
script(src='/js/lib/moment/moment.js')
|
||||
if (user)
|
||||
script.
|
||||
var isLoggedIn = true;
|
||||
|
Reference in New Issue
Block a user