Merge pull request #476 from QuincyLarson/nonprofit-improvements
Nonprofit improvements
This commit is contained in:
16
app.js
16
app.js
@ -159,7 +159,9 @@ var trusted = [
|
||||
'*.ytimg.com',
|
||||
'*.bitly.com',
|
||||
'http://cdn.inspectlet.com/',
|
||||
'http://hn.inspectlet.com/'
|
||||
'http://hn.inspectlet.com/',
|
||||
'*.simplyhired.com',
|
||||
'*.simply-partner.com'
|
||||
];
|
||||
|
||||
app.use(helmet.csp({
|
||||
@ -324,10 +326,14 @@ app.get(
|
||||
nonprofitController.returnIndividualNonprofit
|
||||
);
|
||||
|
||||
app.post(
|
||||
'/update-progress',
|
||||
passportConf.isAuthenticated,
|
||||
userController.updateProgress
|
||||
app.get(
|
||||
'/jobs',
|
||||
resourcesController.jobs
|
||||
);
|
||||
|
||||
app.get(
|
||||
'/jobs-form',
|
||||
resourcesController.jobsForm
|
||||
);
|
||||
|
||||
app.get('/privacy', function(req, res) {
|
||||
|
@ -218,6 +218,18 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
|
||||
jobs: function jobs(req, res) {
|
||||
res.render('resources/jobs', {
|
||||
title: 'Job Board for Front End Developer and Full Stack JavaScript Developer Jobs'
|
||||
});
|
||||
},
|
||||
|
||||
jobsForm: function jobsForm(req, res) {
|
||||
res.render('resources/jobs-form', {
|
||||
title: 'Employer Partnership Form for Job Postings, Recruitment and Corporate Sponsorships'
|
||||
});
|
||||
},
|
||||
|
||||
catPhotoSubmit: function catPhotoSubmit(req, res) {
|
||||
res.send(
|
||||
'Success! You have submitted your cat photo. Return to your website ' +
|
||||
@ -233,7 +245,7 @@ module.exports = {
|
||||
|
||||
nonprofitsForm: function nonprofitsForm(req, res) {
|
||||
res.render('resources/nonprofits-form', {
|
||||
title: 'A guide to our Nonprofit Projects'
|
||||
title: 'Nonprofit Projects Proposal Form'
|
||||
});
|
||||
},
|
||||
|
||||
@ -245,7 +257,7 @@ module.exports = {
|
||||
|
||||
agileProjectManagersForm: function agileProjectManagersForm(req, res) {
|
||||
res.render('resources/pmi-acp-agile-project-managers-form', {
|
||||
title: 'Get Agile Project Management Experience for the PMI-ACP'
|
||||
title: 'Agile Project Management Program Application Form'
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -19,9 +19,10 @@ function hotRank(timeValue, rank) {
|
||||
* Ranking...
|
||||
* f(ts, 1, rank) = log(10)z + (ts)/45000;
|
||||
*/
|
||||
var time48Hours = 172800000;
|
||||
var hotness;
|
||||
var z = Math.log(rank) / Math.log(10);
|
||||
hotness = z + (timeValue / 115200000);
|
||||
hotness = z + (timeValue / time48Hours);
|
||||
return hotness;
|
||||
|
||||
}
|
||||
|
1
public/c7979f1c69945c59.html
Normal file
1
public/c7979f1c69945c59.html
Normal file
@ -0,0 +1 @@
|
||||
simply-hired-verification: c7979f1c69945c59.html
|
11
public/css/main.css
Normal file
11
public/css/main.css
Normal file
File diff suppressed because one or more lines are too long
@ -8,6 +8,11 @@
|
||||
*/
|
||||
var links =
|
||||
{
|
||||
// ========= NON MDN REFS
|
||||
"Currying": "https://leanpub.com/javascript-allonge/read#pabc",
|
||||
"Smallest Common Multiple": "https://www.mathsisfun.com/least-common-multiple.html",
|
||||
"Permutations": "https://www.mathsisfun.com/combinatorics/combinations-permutations.html",
|
||||
|
||||
// ========= GLOBAL OBJECTS
|
||||
"Global Array Object" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
|
||||
"Global Object" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
|
||||
@ -16,6 +21,8 @@ var links =
|
||||
"RegExp" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp",
|
||||
"Global Function Object": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
|
||||
"Arguments object" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments",
|
||||
"Closures": "https://developer.mozilla.org/en-US/docs/" +
|
||||
"Web/JavaScript/Closures",
|
||||
|
||||
// ========= GLOBAL OBJECT METHODS
|
||||
"parseInt()" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt",
|
||||
@ -78,7 +85,7 @@ var links =
|
||||
"Arithmetic Operators" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators",
|
||||
"Comparison Operators" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators",
|
||||
"Details of the Object Model" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model",
|
||||
"Closures" : "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures"
|
||||
"For Loops": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for"
|
||||
};
|
||||
|
||||
module.exports = links;
|
||||
|
@ -402,7 +402,8 @@
|
||||
"tests": [
|
||||
"expect(where([10, 20, 30, 40, 50], 35)).to.equal(3);",
|
||||
"expect(where([10, 20, 30, 40, 50], 30)).to.equal(2);"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Array.sort()"]
|
||||
},
|
||||
{
|
||||
"_id": "a3566b1109230028080c9345",
|
||||
@ -453,7 +454,7 @@
|
||||
"assert.includeMembers(diff([1, 'calf', 3, 'piglet'], [1, 'calf', 3, 4]), ['piglet', 4], 'arrays with numbers and strings');",
|
||||
"assert.deepEqual(diff([], ['snuffleupagus', 'cookie monster', 'elmo']), ['snuffleupagus', 'cookie monster', 'elmo'], 'empty array');"
|
||||
],
|
||||
"MDNlinks" : ["String.slice()", "Array.filter()", "Array.indexOf()", "String.concat()"]
|
||||
"MDNlinks" : ["Comparison Operators", "String.slice()", "Array.filter()", "Array.indexOf()", "String.concat()"]
|
||||
},
|
||||
{
|
||||
"_id": "a7f4d8f2483413a6ce226cac",
|
||||
@ -467,7 +468,7 @@
|
||||
],
|
||||
"difficulty": "2.02",
|
||||
"description": [
|
||||
"Convert the number be a roman numeral.",
|
||||
"Convert the given number into a roman numeral.",
|
||||
"All <a href=\"http://www.mathsisfun.com/roman-numerals.html\">roman numerals</a> answers should be provided in upper-case."
|
||||
],
|
||||
"challengeSeed": [
|
||||
@ -625,7 +626,8 @@
|
||||
"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');"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Array.reduce()"]
|
||||
},
|
||||
{
|
||||
"_id": "a6b0bb188d873cb2c8729495",
|
||||
@ -718,7 +720,8 @@
|
||||
"expect(sumPrimes(10)).to.be.a('number');",
|
||||
"expect(sumPrimes(10)).to.equal(17);",
|
||||
"expect(sumPrimes(977)).to.equal(73156);"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["For Loops", "Array.push()"]
|
||||
},
|
||||
{
|
||||
"_id": "ae9defd7acaf69703ab432ea",
|
||||
@ -741,7 +744,8 @@
|
||||
"expect(smallestCommons([1,5])).to.equal(60);",
|
||||
"expect(smallestCommons([5,1])).to.equal(60);",
|
||||
"(smallestCommons([1,13])).should.equal(360360);"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Smallest Common Multiple"]
|
||||
},
|
||||
{
|
||||
"_id": "a6e40f1041b06c996f7b2406",
|
||||
@ -830,30 +834,6 @@
|
||||
"MDNlinks": ["String.charCodeAt()", "String.fromCharCode()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"_id" : "a3f503de51cfab748ff001aa",
|
||||
"name": "Pairwise",
|
||||
"difficulty": "2.16",
|
||||
"description": [
|
||||
"Return the sum of all indices of elements of 'arr' that can be paired with one other element to form a sum that equals the value in the second argument 'arg'. If multiple sums are possible, return the smallest sum. Once an element has been used, it cannot be reused to pair with another.",
|
||||
"For example, pairwise([1, 4, 2, 3, 0, 5], 7) should return 11 because 4, 2, 3 and 5 can be paired with each other to equal 7.",
|
||||
"pairwise([1, 3, 2, 4], 4) would only equal 1, because only the first two elements can be paired to equal 4, and the first element has an index of 0!"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"function pairwise(arr, arg) {",
|
||||
" return arg;",
|
||||
"}",
|
||||
"",
|
||||
"pairwise([1,4,2,3,0,5], 7);"
|
||||
],
|
||||
"tests": [
|
||||
"expect(pairwise([1, 4, 2, 3, 0, 5], 7)).to.equal(11);",
|
||||
"expect(pairwise([1, 3, 2, 4], 4)).to.equal(1);",
|
||||
"expect(pairwise([1,1,1], 2)).to.equal(1);",
|
||||
"expect(pairwise([0, 0, 0, 0, 1, 1], 1)).to.equal(10);",
|
||||
"expect(pairwise([], 100)).to.equal(0);"
|
||||
]
|
||||
},
|
||||
{
|
||||
"_id": "a10d2431ad0c6a099a4b8b52",
|
||||
"name": "Everything Be True",
|
||||
@ -900,7 +880,7 @@
|
||||
"expect(add(2, '3')).to.be.undefined;",
|
||||
"expect(add(2)([3])).to.be.undefined;"
|
||||
],
|
||||
"MDNlinks": ["Global Function Object", "Arguments object"]
|
||||
"MDNlinks": ["Global Function Object", "Arguments object", "Closures", "Currying"]
|
||||
},
|
||||
{
|
||||
"_id": "a2f1d72d9b908d0bd72bb9f6",
|
||||
@ -964,6 +944,25 @@
|
||||
],
|
||||
"MDNlinks": ["Math.pow()"]
|
||||
},
|
||||
{
|
||||
"_id" : "a3f503de51cfab748ff001aa",
|
||||
"name": "Pairwise",
|
||||
"difficulty": "3.51",
|
||||
"description": [
|
||||
"Return the sum of all indices of elements of 'arr' that can be paired with one other element to form a sum that equals the value in the second argument 'arg'. If multiple sums are possible, return the smallest sum. Once an element has been used, it cannot be reused to pair with another.",
|
||||
"For example, pairwise([1, 4, 2, 3, 0, 5], 7) should return 11 because 4, 2, 3 and 5 can be paired with each other to equal 7.",
|
||||
"pairwise([1, 3, 2, 4], 4) would only equal 1, because only the first two elements can be paired to equal 4, and the first element has an index of 0!"
|
||||
],
|
||||
"challengeSeed": "function pairwise(arr, arg) {\n return arg;\n}\n\npairwise([1,4,2,3,0,5], 7);",
|
||||
"tests": [
|
||||
"expect(pairwise([1, 4, 2, 3, 0, 5], 7)).to.equal(11);",
|
||||
"expect(pairwise([1, 3, 2, 4], 4)).to.equal(1);",
|
||||
"expect(pairwise([1,1,1], 2)).to.equal(1);",
|
||||
"expect(pairwise([0, 0, 0, 0, 1, 1], 1)).to.equal(10);",
|
||||
"expect(pairwise([], 100)).to.equal(0);"
|
||||
],
|
||||
"MDNlinks" : ["Array.reduce()"]
|
||||
},
|
||||
{
|
||||
"_id": "aff0395860f5d3034dc0bfc9",
|
||||
"name": "Validate US Telephone Numbers",
|
||||
@ -998,6 +997,7 @@
|
||||
"assert.deepEqual(telephoneCheck(\"2(757)6227382\"), false);",
|
||||
"assert.deepEqual(telephoneCheck(\"2(757)622-7382\"), false);"
|
||||
],
|
||||
"MDNlinks" : ["RegExp"],
|
||||
"challengeSeed": [
|
||||
"function telephoneCheck(str) {",
|
||||
" // Good luck!",
|
||||
@ -1029,7 +1029,8 @@
|
||||
"assert.deepEqual(sym([1, 2, 5], [2, 3, 5], [3, 4, 5]), [1, 4, 5], 'should return the symmetric difference of the given arrays');",
|
||||
"assert.deepEqual(sym([1, 1, 2, 5], [2, 2, 3, 5], [3, 4, 5, 5]), [1, 4, 5], 'should return an array of unique values');",
|
||||
"assert.deepEqual(sym([1, 1]), [1], 'should return an array of unique values');"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Array.reduce()"]
|
||||
},
|
||||
{
|
||||
"_id": "aa2e6f85cab2ab736c9a9b24",
|
||||
@ -1066,7 +1067,8 @@
|
||||
"assert.deepEqual(drawer(3.26, 100.00, [['PENNY', 1.01], ['NICKEL', 2.05], ['DIME', 3.10], ['QUARTER', 4.25], ['ONE', 90.00], ['FIVE', 55.00], ['TEN', 20.00], ['TWENTY', 60.00], ['ONE HUNDRED', 100.00]]), [['TWENTY', 60.00], ['TEN', 20.00], ['FIVE', 15], ['ONE', 1], ['QUARTER', 0.50], ['DIME', 0.20], ['PENNY', 0.04] ], 'return correct change with multiple coins and bills');",
|
||||
"assert.deepEqual(drawer(19.50, 20.00, [['PENNY', 0.01], ['NICKEL', 0], ['DIME', 0], ['QUARTER', 0], ['ONE', 0], ['FIVE', 0], ['TEN', 0], ['TWENTY', 0], ['ONE HUNDRED', 0]]), 'Insufficient Funds', 'insufficient funds');",
|
||||
"assert.deepEqual(drawer(19.50, 20.00, [['PENNY', 0.50], ['NICKEL', 0], ['DIME', 0], ['QUARTER', 0], ['ONE', 0], ['FIVE', 0], ['TEN', 0], ['TWENTY', 0], ['ONE HUNDRED', 0]]), \"Closed\", 'cash-in-drawer equals change');"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Global Object"]
|
||||
},
|
||||
{
|
||||
"_id": "a56138aff60341a09ed6c480",
|
||||
@ -1105,7 +1107,8 @@
|
||||
"assert.deepEqual(inventory([[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']], []), [[21, 'Bowling Ball'], [2, 'Dirty Sock'], [1, 'Hair Pin'], [5, 'Microphone']]);",
|
||||
"assert.deepEqual(inventory([], [[2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [67, 'Bowling Ball'], [7, 'Toothpaste']]), [[67, 'Bowling Ball'], [2, 'Hair Pin'], [3, 'Half-Eaten Apple'], [7, 'Toothpaste']]);",
|
||||
"assert.deepEqual(inventory([[0, 'Bowling Ball'], [0, 'Dirty Sock'], [0, 'Hair Pin'], [0, 'Microphone']], [[1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [1, 'Bowling Ball'], [1, 'Toothpaste']]), [[1, 'Bowling Ball'], [0, 'Dirty Sock'], [1, 'Hair Pin'], [1, 'Half-Eaten Apple'], [0, 'Microphone'], [1, 'Toothpaste']]);"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Global Array Object"]
|
||||
},
|
||||
{
|
||||
"_id": "a7bf700cd123b9a54eef01d5",
|
||||
@ -1130,7 +1133,8 @@
|
||||
"expect(permAlone('abcdefa')).to.equal(3600);",
|
||||
"expect(permAlone('abfdefa')).to.equal(2640);",
|
||||
"expect(permAlone('zzzzzzzz')).to.equal(0);"
|
||||
]
|
||||
],
|
||||
"MDNlinks" : ["Permutations", "RegExp"]
|
||||
},
|
||||
{
|
||||
"_id": "a19f0fbe1872186acd434d5a",
|
||||
|
@ -24,7 +24,7 @@
|
||||
"challengeSeed": "124555254",
|
||||
"description": [
|
||||
"Now we're going to join the Free Code Camp chat room. You can come here any time of day to hang out, ask questions, or find another camper to pair program with.",
|
||||
"Make sure your Free Code Camp account includes your email address. Please note that the email address you use will be invisible to the public, but Slack will make it visible to other campers in our slack chat rooms. You can do this here: <a href='/account' target='_blank'>http://freecodecamp.com/account</a>.",
|
||||
"Make sure your Free Code Camp account includes your email address. You can do this here: <a href='/account' target='_blank'>http://freecodecamp.com/account</a>. Please note that the email address you use will be invisible to the public, but Slack will make it visible to other campers in our slack chat rooms.",
|
||||
"Click this link, which will email you an invite to Free Code Camp's Slack chat rooms: <a href='/api/slack' target='_blank'>http://freecodecamp.com/api/slack</a>.",
|
||||
"Now check your email and click the link in the email from Slack.",
|
||||
"Complete the sign up process, then update your biographical information and upload an image. A picture of your face works best. This is how people will see you in our chat rooms, so put your best foot forward.",
|
||||
@ -4193,7 +4193,7 @@
|
||||
"_id": "bd7158d8c443eddfaeb5bcef",
|
||||
"name": "Get Set for Basejumps",
|
||||
"difficulty": 2.00,
|
||||
"challengeSeed": "126433451",
|
||||
"challengeSeed": "128451852",
|
||||
"description": [
|
||||
"<span class='text-info'>Objective:</span> Get the MEAN stack running on Cloud 9, push your code to GitHub, and deploy it to Heroku.",
|
||||
"We'll build our Basejumps on Cloud 9, a powerful online code editor with a full Ubuntu Linux workspace, all running in the cloud.",
|
||||
@ -4250,7 +4250,7 @@
|
||||
"_id": "bd7158d8c443eddfaeb5bdef",
|
||||
"name": "Basejump: Build a Voting App",
|
||||
"difficulty": 2.01,
|
||||
"challengeSeed": "123488494",
|
||||
"challengeSeed": "128451852",
|
||||
"description": [
|
||||
"<span class='text-info'>Objective:</span> Build a full stack JavaScript app that successfully reverse-engineers this: <a href='http://voteplex.herokuapp.com/' target='_blank'>http://voteplex.herokuapp.com/</a> and deploy it to Heroku.",
|
||||
"Note that for each Basejump, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit <a href='/challenges/get-set-for-basejumps'>http://freecodecamp.com/challenges/get-set-for-basejumps</a>.",
|
||||
@ -4275,7 +4275,7 @@
|
||||
"_id": "bd7158d8c443eddfaeb5bdff",
|
||||
"name": "Basejump: Build a Nightlife Coordination App",
|
||||
"difficulty": 2.02,
|
||||
"challengeSeed": "123488494",
|
||||
"challengeSeed": "128451852",
|
||||
"description": [
|
||||
"<span class='text-info'>Objective:</span> Build a full stack JavaScript app that successfully reverse-engineers this: <a href='http://sociallife.herokuapp.com/' target='_blank'>http://sociallife.herokuapp.com/</a> and deploy it to Heroku.",
|
||||
"Note that for each Basejump, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit <a href='/challenges/get-set-for-basejumps'>http://freecodecamp.com/challenges/get-set-for-basejumps</a>.",
|
||||
@ -4296,7 +4296,7 @@
|
||||
"_id": "bd7158d8c443eddfaeb5bd0e",
|
||||
"name": "Basejump: Chart the Stock Market",
|
||||
"difficulty": 2.03,
|
||||
"challengeSeed": "123488494",
|
||||
"challengeSeed": "128451852",
|
||||
"description": [
|
||||
"<span class='text-info'>Objective:</span> Build a full stack JavaScript app that successfully reverse-engineers this: <a href='http://stockjump.herokuapp.com/' target='_blank'>http://stockjump.herokuapp.com/</a> and deploy it to Heroku.",
|
||||
"Note that for each Basejump, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit <a href='/challenges/get-set-for-basejumps'>http://freecodecamp.com/challenges/get-set-for-basejumps</a>.",
|
||||
@ -4317,7 +4317,7 @@
|
||||
"_id": "bd7158d8c443eddfaeb5bd0f",
|
||||
"name": "Basejump: Manage a Book Trading Club",
|
||||
"difficulty": 2.04,
|
||||
"challengeSeed": "123488494",
|
||||
"challengeSeed": "128451852",
|
||||
"description": [
|
||||
"<span class='text-info'>Objective:</span> Build a full stack JavaScript app that successfully reverse-engineers this: <a href='http://bookoutpost.herokuapp.com/' target='_blank'>http://bookoutpost.herokuapp.com/</a> and deploy it to Heroku.",
|
||||
"Note that for each Basejump, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit <a href='/challenges/get-set-for-basejumps'>http://freecodecamp.com/challenges/get-set-for-basejumps</a>.",
|
||||
@ -4338,7 +4338,7 @@
|
||||
"_id": "bd7158d8c443eddfaeb5bdee",
|
||||
"name": "Basejump: Build a Pinterest Clone",
|
||||
"difficulty": 2.05,
|
||||
"challengeSeed": "123488494",
|
||||
"challengeSeed": "128451852",
|
||||
"description": [
|
||||
"<span class='text-info'>Objective:</span> Build a full stack JavaScript app that successfully reverse-engineers this: <a href='http://linkterest.herokuapp.com/' target='_blank'>http://linkterest.herokuapp.com/</a> and deploy it to Heroku.",
|
||||
"Note that for each Basejump, you should create a new GitHub repository and a new Heroku project. If you can't remember how to do this, revisit <a href='/challenges/get-set-for-basejumps'>http://freecodecamp.com/challenges/get-set-for-basejumps</a>.",
|
||||
@ -4350,7 +4350,6 @@
|
||||
"<span class='text-info'>User Story:</span> As an authenticated user, I can delete images that I've linked to.",
|
||||
"<span class='text-info'>User Story:</span> As an authenticated user, I can see a Pinterest-style wall of all the images I've linked to.",
|
||||
"<span class='text-info'>User Story:</span> As an unauthenticated user, I can browse other users' walls of images.",
|
||||
"<span class='text-info'>User Story:</span> As an unauthenticated user, I can see everyone's polls, but not be able to vote.",
|
||||
"<span class='text-info'>Bonus User Story:</span> As an authenticated user, if I upload an image that is broken, it will be replaced by a placeholder image. (can use jQuery broken image detection)",
|
||||
"<span class='text-info'>Hint:</span> <a href='http://masonry.desandro.com/' target='_blank'>Masonry.js</a> is a library that allows for Pinterest-style image grids.",
|
||||
"Once you've finished implementing these user stories, click the \"I've completed this challenge\" button and enter the URLs for both your GitHub repository and your live app running on Heroku. If you pair programmed with a friend, enter his or her Free Code Camp username as well so that you both get credit for completing it.",
|
||||
|
@ -291,22 +291,28 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.berlin/' target='_blank'>Berlin</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.bhaktapur/' target='_blank'>Bhaktapur</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.boston/' target='_blank'>Boston</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.boulder/' target='_blank'>Boulder</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.brussels/' target='_blank'>Brussels</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.bucharest/' target='_blank'>Bucharest</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.budapest/' target='_blank'>Budapest</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.boulder/' target='_blank'>Atlanta</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.cape.town/' target='_blank'>Cape Town</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.chennai/' target='_blank'>Chennai</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.chicago/' target='_blank'>Chicago</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.cincinnati/' target='_blank'>Cincinnati</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.cluj' target='_blank'>Cluj</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.coimbatore' target='_blank'>Coimbatore</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.delhi/' target='_blank'>Delhi</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.denver/' target='_blank'>Denver</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.dubai/' target='_blank'>Dubai</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.edmonton/' target='_blank'>Edmonton</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.northern.arizona/' target='_blank'>Flagstaff</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.Glendora.California/' target='_blank'>Glendora</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.jakarta/' target='_blank'>Jakarta</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.Hermosillo/' target='_blank'>Hermosillo</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.hk/' target='_blank'>Hong Kong</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.houston/' target='_blank'>Houston</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.indianapolis/' target='_blank'>Indianapolis</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.iasi.romania/' target='_blank'>Iasi</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.irkutsk/' target='_blank'>Irkutsk</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.islamabad/' target='_blank'>Islamabad</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.hochiminhcity/' target='_blank'>Ho Chi Minh City</a></li>",
|
||||
@ -314,6 +320,9 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kalamazoo/' target='_blank'>Kalamazoo</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.karachi/' target='_blank'>Karachi</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kemerovo/' target='_blank'>Kemerovo</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kiev/' target='_blank'>Kiev</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.kryvyi.rih/' target='_blank'>Kryvyi Rih</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.lahore/' target='_blank'>Lahore</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.limassol/' target='_blank'>Limassol</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.london/' target='_blank'>London</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.los.angeles/' target='_blank'>Los Angeles</a></li>",
|
||||
@ -322,11 +331,14 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.minneapolis/' target='_blank'>Minneapolis</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.missoula/' target='_blank'>Missoula</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.montreal/' target='_blank'>Montreal</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.munich/' target='_blank'>Munich</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.mysore/' target='_blank'>Mysore</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.nairobi/' target='_blank'>Nairobi</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.nashville/' target='_blank'>Nashville</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.neworleans/' target='_blank'>New Orleans</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.new.york.city/' target='_blank'>New York City</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.omaha/' target='_blank'>Omaha</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.orange.county/' target='_blank'>Orange County</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.orlando.fl/' target='_blank'>Orlando</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.oxford.al/' target='_blank'>Oxford, Alabama</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.paris/' target='_blank'>Paris</a></li>",
|
||||
@ -342,6 +354,7 @@
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.richmond/' target='_blank'>Richmond</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.rio.de.janeiro/' target='_blank'>Rio de Janeiro</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.sacramento/' target='_blank'>Sacramento</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.saint.george/' target='_blank'>Saint George</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.salt.lake.city/' target='_blank'>Salt Lake City</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.bernardino/' target='_blank'>San Bernardino</a></li>",
|
||||
" <li><a href='https://www.facebook.com/groups/free.code.camp.san.diego/' target='_blank'>San Diego</a></li>",
|
||||
|
@ -10,8 +10,6 @@
|
||||
],
|
||||
"whatDoesNonprofitDo": "We help the many less-fortunate Jewish families in our community, by providing them with nutritious food and energy to grow, learn, work, and give them hope for a better and brighter future.",
|
||||
"websiteLink": "http://chasdeikaduri.org/",
|
||||
"stakeholderName": "Jonathan Tebeka",
|
||||
"stakeholderEmail": "jonathan@chasdeikaduri.org",
|
||||
"name": "Chasdei Kaduri",
|
||||
"endUser": "Clients, donors, and admin.",
|
||||
"approvedDeliverables": [
|
||||
@ -25,7 +23,9 @@
|
||||
"logoUrl": "https://trello-attachments.s3.amazonaws.com/54c7e02f2c173c37015b2f36/604x309/00580a0567a4b3afda29d52b09e7e829/rQQ6zwq31Uya8ie9QHC-MlvfXxqftm9UPPe524JUhmwSEaZjQ7oL7U1tVoHLUj-gVUwM-7uzBGFsAXD_A_cx_JyAZP4Td-GMBJ-AebJNRAQP0m0v253eKMkURp63aG4%3Ds0-d-e1-ft.png",
|
||||
"imageUrl": "http://chasdeikaduri.org/images/523455_516325865106850_1885515210_n.jpg",
|
||||
"estimatedHours": 200,
|
||||
"currentStatus": "started"
|
||||
"interestedCampers": [],
|
||||
"confirmedCampers": [],
|
||||
"currentStatus": "completed"
|
||||
},
|
||||
{
|
||||
"id": "bd7158d8c464cbafaeb4bdef",
|
||||
@ -34,8 +34,6 @@
|
||||
],
|
||||
"whatDoesNonprofitDo": "We connect simple technology with last mile communities to reduce poverty.",
|
||||
"websiteLink": "http://kopernik.info/",
|
||||
"stakeholderName": "Amber Gregory",
|
||||
"stakeholderEmail": "amber.gregory@kopernik.info",
|
||||
"name": "Kopernik",
|
||||
"endUser": "Women in rural Indonesia.",
|
||||
"approvedDeliverables": [
|
||||
@ -54,8 +52,6 @@
|
||||
],
|
||||
"whatDoesNonprofitDo": "We distribute biodegradable toothbrushes globally to children in need.",
|
||||
"websiteLink": "http://www.operationbrush.org/",
|
||||
"stakeholderName": "Dane Jonas",
|
||||
"stakeholderEmail": "DaneJonas@operationbrush.org",
|
||||
"name": "Operation Brush",
|
||||
"endUser": "Donors",
|
||||
"approvedDeliverables": [
|
||||
@ -65,7 +61,9 @@
|
||||
"logoUrl": "https://trello-attachments.s3.amazonaws.com/54d9810307b159a4d9027aa2/54d981bfe5eb145560fbb769/x/cf7f318bfe4aee631b0d0eeef272225c/logo.png",
|
||||
"imageUrl": "http://www.operationbrush.org/images/temp/hands1.png",
|
||||
"estimatedHours": 100,
|
||||
"currentStatus": "started"
|
||||
"interestedCampers": [],
|
||||
"confirmedCampers": [],
|
||||
"currentStatus": "completed"
|
||||
},
|
||||
{
|
||||
"id": "bd1325d8c464cbafaeb5bdef",
|
||||
@ -74,10 +72,8 @@
|
||||
],
|
||||
"whatDoesNonprofitDo": "We are the largest roller derby league in the world with around 250 adults and 150 junior skater members plus 500+ volunteers.",
|
||||
"websiteLink": "http://www.rosecityrollers.com/about/our-charities/",
|
||||
"stakeholderName": "Charity Kuahiwinui",
|
||||
"stakeholderEmail": "insurance@rosecityrollers.com",
|
||||
"name": "Rose City Rollers",
|
||||
"endUser": "Administrators, Coaches, and Volunteers",
|
||||
"endUser": "Roller derby administrators, coaches, and volunteers",
|
||||
"approvedDeliverables": [
|
||||
"community"
|
||||
],
|
||||
@ -92,10 +88,8 @@
|
||||
"requestedDeliverables": [
|
||||
"website"
|
||||
],
|
||||
"whatDoesNonprofitDo": "Save a Child's Heart provides urgently needed pediatric heart surgery and follow-up care for indigent children from developing countries",
|
||||
"whatDoesNonprofitDo": "We provide urgently needed pediatric heart surgery and follow-up care for indigent children from developing countries",
|
||||
"websiteLink": "http://www.saveachildsheart.com/global/young-leadership-program/",
|
||||
"stakeholderName": "Shier Ziser",
|
||||
"stakeholderEmail": "Shier_z@hotmail.com",
|
||||
"name": "Save a Child's Heart",
|
||||
"endUser": "Donors",
|
||||
"approvedDeliverables": [
|
||||
@ -112,10 +106,8 @@
|
||||
"requestedDeliverables": [
|
||||
"website"
|
||||
],
|
||||
"whatDoesNonprofitDo": "Savvy Cyber Kids enables youth to be empowered with technology by providing age appropriate resources and education.",
|
||||
"whatDoesNonprofitDo": "We empower youth with technology by providing age appropriate resources and education.",
|
||||
"websiteLink": "http://savvycyberkids.org/",
|
||||
"stakeholderName": "Ben Halpert",
|
||||
"stakeholderEmail": "info@savvycyberkids.org ",
|
||||
"name": "Savvy Cyber Kids",
|
||||
"endUser": "Donors",
|
||||
"approvedDeliverables": [
|
||||
@ -132,10 +124,8 @@
|
||||
"requestedDeliverables": [
|
||||
"other"
|
||||
],
|
||||
"whatDoesNonprofitDo": "Transcendent Pathways",
|
||||
"whatDoesNonprofitDo": "We bring a new edge to arts and medicine in the Bay Area through powerful live performances of new music to those who feel marginalized by their affliction.",
|
||||
"websiteLink": "http://transcendentpathways.org/",
|
||||
"stakeholderName": "Mark Ackerley",
|
||||
"stakeholderEmail": "mackerley.music@gmail.com",
|
||||
"name": "Transcendent Pathways",
|
||||
"endUser": "Medical Facilities, Musicians",
|
||||
"approvedDeliverables": [
|
||||
@ -152,19 +142,82 @@
|
||||
"requestedDeliverables": [
|
||||
"other"
|
||||
],
|
||||
"whatDoesNonprofitDo": "Timeraiser is a volunteer matching fair, a silent art auction, and a night out on the town. The big Timeraiser twist is rather than bid money on artwork, participants bid volunteer hours. ",
|
||||
"whatDoesNonprofitDo": "We have provide volunteer matching fairs and silent art auctions at events across Canada. Rather than bid money on artwork, participants bid volunteer hours.",
|
||||
"websiteLink": "http://www.timeraiser.ca/",
|
||||
"stakeholderName": "Stephanie McAllister",
|
||||
"stakeholderEmail": "stephanie@timeraiser.ca",
|
||||
"name": "Timeraiser",
|
||||
"endUser": "Eventgoers",
|
||||
"endUser": "Working professionals who want to donate their time and expertise",
|
||||
"approvedDeliverables": [
|
||||
"other"
|
||||
],
|
||||
"projectDescription": "Campers will build a mobile responsive web form to allow Timeraiser eventgoers to select which nonprofit organizations they're interested in volunteering with. System will have Salesforce integration and reporting capabilities.",
|
||||
"logoUrl": "http://www.timeraiser.ca/uploads/5/6/1/4/5614163/1277176.png?480",
|
||||
"imageUrl": "http://www.timeraiser.ca/uploads/5/6/1/4/5614163/______________4571248_orig.png",
|
||||
"currentStatus": "started",
|
||||
"interestedCampers": [],
|
||||
"confirmedCampers": [],
|
||||
"estimatedHours": 100,
|
||||
"currentStatus": "completed"
|
||||
},
|
||||
{
|
||||
"id": "bd1325d8c464cbafaeb7bdef",
|
||||
"requestedDeliverables": [
|
||||
"website",
|
||||
"inventory",
|
||||
"form"
|
||||
],
|
||||
"whatDoesNonprofitDo": "We focus on raising funds to assist injured homeless animals.",
|
||||
"websiteLink": "http://www.peoplesavinganimals.org/",
|
||||
"name": "People Saving Animals",
|
||||
"endUser": "Animal shelters in Central America and people adopting pets",
|
||||
"approvedDeliverables": [
|
||||
"website",
|
||||
"inventory",
|
||||
"form"
|
||||
],
|
||||
"projectDescription": "Campers will build an adoption database and all related web interfaces and forms to allow animal shelters to easily post animals, photos, and relevant medical information. They'll make it easy for locals to browse these animals and adopt them. Once completed, this project will be translated into Spanish.",
|
||||
"logoUrl": "https://scontent-sjc2-1.xx.fbcdn.net/hphotos-xfa1/v/t1.0-9/59709_501505959886494_1605714757_n.jpg?oh=e12c08c046d824765a02242b7c8c3bb5&oe=560CFA6A",
|
||||
"imageUrl": "https://scontent-sjc2-1.xx.fbcdn.net/hphotos-xta1/t31.0-8/11270516_844556088914811_757350153964826829_o.jpg",
|
||||
"estimatedHours": 300,
|
||||
"currentStatus": "started"
|
||||
},
|
||||
{
|
||||
"id": "bd1325d8c464cbafaeb6bdef",
|
||||
"requestedDeliverables": [
|
||||
"inventory",
|
||||
"form",
|
||||
"other"
|
||||
],
|
||||
"whatDoesNonprofitDo": "We preserve Florida's health by regulating septic contractors and reviewing logs of sewage collection and disposal.",
|
||||
"websiteLink": "http://www.floridahealth.gov/",
|
||||
"name": "Florida Department of Health",
|
||||
"endUser": "Government workers and independent contractors who must comply with regulations.",
|
||||
"approvedDeliverables": [
|
||||
"inventory",
|
||||
"form",
|
||||
"other"
|
||||
],
|
||||
"projectDescription": "Campers will build mobile responsive web forms to allow contractors to seamlessly log the chain of custody for potentially hazardous sewage. They'll also build a government-facing database that allows for easy monitoring and reporting of activity.",
|
||||
"logoUrl": "http://www.floridahealth.gov/_new/_files/images/DOH_logo.png",
|
||||
"imageUrl": "http://www.dep.state.fl.us/central/Home/Watershed/Home.jpg",
|
||||
"estimatedHours": 200,
|
||||
"currentStatus": "started"
|
||||
},
|
||||
{
|
||||
"id": "bd1325d8c464cbafaeb6bdef",
|
||||
"requestedDeliverables": [
|
||||
"website"
|
||||
],
|
||||
"whatDoesNonprofitDo": "We strengthen the value of songwriting and independent music in Columbus, Ohio.",
|
||||
"websiteLink": "http://columbussongwritersassociation.com",
|
||||
"name": "Columbus Songwriters Association",
|
||||
"endUser": "Songwriters and their audiences in the Columbus, Ohio community.",
|
||||
"approvedDeliverables": [
|
||||
"website"
|
||||
],
|
||||
"projectDescription": "Build mobile responsive website that allows users to see browse our partners, their photos and information, and connect with them.",
|
||||
"logoUrl": "https://columbussongwritersassociation.files.wordpress.com/2014/06/csa-logo.jpeg?w=705&h=435&crop=1",
|
||||
"imageUrl": "https://columbussongwritersassociation.files.wordpress.com/2015/03/10502364_918551148225410_5082247612691070613_n.jpg?w=705&h=344&crop=1",
|
||||
"estimatedHours": 100,
|
||||
"currentStatus": "completed"
|
||||
}
|
||||
]
|
||||
|
@ -116,21 +116,21 @@ block content
|
||||
a(href="/nonprofits/directory") Browse our nonprofit projects
|
||||
p * Complete all Waypoints, Bonfires, Ziplines and Basejumps to be assigned your first nonprofit project
|
||||
|
||||
//#announcementModal.modal(tabindex='-1')
|
||||
// .modal-dialog.animated.fadeInUp.fast-animation
|
||||
// .modal-content
|
||||
// .modal-header.challenge-list-header Join our Saturday Summit!
|
||||
// a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
// .modal-body
|
||||
// h3.text-left Saturday at Noon EDT: We'll live-stream our Saturday Summit on Twitch.tv. Join us as our community turns 200 days old. We'll have Nonprofit Project demos from 6 of our campers.  
|
||||
// a(href='http://www.freecodecamp.com/twitch', target='_blank') Add it to your calendar here
|
||||
// | .
|
||||
// a.btn.btn-lg.btn-info.btn-block(name='_csrf', value=_csrf, aria-hidden='true', href='http://twitch.tv/freecodecamp', target='_blank') Follow us on Twitch.tv
|
||||
// a.btn.btn-lg.btn-primary.btn-block(href='#', data-dismiss='modal', aria-hidden='true') Thanks for the heads-up!
|
||||
//script.
|
||||
// $(document).ready(function () {
|
||||
// if (!localStorage || !localStorage.day200) {
|
||||
// $('#announcementModal').modal('show');
|
||||
// localStorage.day200 = "true";
|
||||
// }
|
||||
// });
|
||||
#announcementModal.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeInUp.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header Share deep comics about coding
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
h3.text-left Submit your favorite profound comic about coding to Camper News. Start the headline with: "Deep Code Comic:" then add a clever description that doesn't ruin the punchline.
|
||||
img.img-responsive.img-center(src='http://imgs.xkcd.com/comics/wisdom_of_the_ancients.png')
|
||||
h3.text-left We'll publish the top 25 comics (and the campers who submitted them) in Wednesday's blog post. You'll also get 1 point for every upvote.
|
||||
a.btn.btn-lg.btn-info.btn-block(name='_csrf', value=_csrf, aria-hidden='true', href='/news', target='_blank') Take me to Camper News
|
||||
a.btn.btn-lg.btn-primary.btn-block(href='#', data-dismiss='modal', aria-hidden='true') Thanks for the heads-up!
|
||||
script.
|
||||
$(document).ready(function () {
|
||||
if (!localStorage || !localStorage.deepComic) {
|
||||
$('#announcementModal').modal('show');
|
||||
localStorage.deepComic = "true";
|
||||
}
|
||||
});
|
||||
|
@ -10,7 +10,7 @@ block content
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12.col-sm-3
|
||||
img.img-responsive(src=nonprofit.logoUrl)
|
||||
img.img-responsive.img-center(src=nonprofit.logoUrl)
|
||||
.col-xs-12.col-sm-9
|
||||
h2.negative-15= nonprofit.name
|
||||
h3.negative-15= nonprofit.whatDoesNonprofitDo
|
||||
|
@ -61,21 +61,14 @@ block content
|
||||
.text-center
|
||||
a.btn.btn-primary.btn-big.btn-block.disabled(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project *
|
||||
p * Complete all our Bonfires, Ziplines, and Basejumps to unlock this.
|
||||
#showAllButton.btn.btn-info.btn-big.btn-block Show all Nonprofit Projects
|
||||
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
|
||||
if (buttonActive)
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||
.text-center
|
||||
a.btn.btn-primary.btn-big.btn-block(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project
|
||||
#showAllButton.btn.btn-info.btn-big.btn-block Show all Nonprofit Projects
|
||||
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
|
||||
.row
|
||||
.col-xs-12.text-center
|
||||
if !user
|
||||
a.btn.btn-cta.signup-btn.btn-primary(href="/login") Start learning to code (it's free)
|
||||
.spacer
|
||||
#show-all-dialog.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeInUp.fast-animation
|
||||
.modal-content
|
||||
.modal-header.all-list-header Nonprofit Projects
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
include ../partials/nonprofits
|
||||
|
@ -15,7 +15,7 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
|
||||
|
||||
if user
|
||||
li
|
||||
a(href='/challenges') Current Challenge
|
||||
a(href='/challenges') Learn
|
||||
li
|
||||
a(href='/map') Map
|
||||
if (user && user.sentSlackInvite)
|
||||
@ -27,7 +27,9 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
|
||||
li
|
||||
a(href='/news') News
|
||||
li
|
||||
a(href='/field-guide') Field Guide
|
||||
a(href='/field-guide') Guide
|
||||
li.hidden-xs.hidden-sm
|
||||
a(href='/jobs') Jobs
|
||||
if !user
|
||||
li      
|
||||
li
|
||||
|
28
views/resources/jobs-form.jade
Normal file
28
views/resources/jobs-form.jade
Normal file
@ -0,0 +1,28 @@
|
||||
html.
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<!--Add the title of your typeform below-->
|
||||
<title>nonprofit-projects</title>
|
||||
<!--CSS styles that ensure your typeform takes up all the available screen space (DO NOT EDIT!)-->
|
||||
<style type="text/css">
|
||||
html{
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
iframe{
|
||||
position: absolute;
|
||||
left:0;
|
||||
right:0;
|
||||
bottom:0;
|
||||
top:0;
|
||||
border:0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<iframe id="typeform-full" width="100%" height="100%" frameborder="0" src="https://freecodecamp.typeform.com/to/Wkfsts"></iframe>
|
||||
<script type="text/javascript" src="https://s3-eu-west-1.amazonaws.com/share.typeform.com/embed.js"></script>
|
||||
</body>
|
||||
</html>
|
16
views/resources/jobs.jade
Normal file
16
views/resources/jobs.jade
Normal file
@ -0,0 +1,16 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
.row
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2.text-center
|
||||
h2 We want all our campers to get awesome software engineer jobs (
|
||||
a(href='https://www.linkedin.com/groups?viewMembers=&gid=6966827&sik=1432338555021' target='_blank') and many already have
|
||||
| ).
|
||||
h3.hidden-xs.hidden-sm This is a small sampling of the 1,000s of junior software engineer jobs. Learn about the  
|
||||
a(href='http://blog.freecodecamp.com/2014/10/the-real-reason-to-learn-mean-stack.html') the job market in aggregate
|
||||
| .
|
||||
.spacer
|
||||
a.btn.btn-primary.btn-big(href='/jobs-form') My organization is hiring software engineers
|
||||
.spacer
|
||||
.embed-responsive.embed-responsive-4by3.hidden-xs.hidden-sm
|
||||
iframe.embed-responsive-item(src="http://freecodecamp.simply-partner.com" scrolling="no")
|
||||
.spacer
|
61
views/resources/test.css
Normal file
61
views/resources/test.css
Normal file
@ -0,0 +1,61 @@
|
||||
.themeCustom a.link:link, .themeCustom a.link:visited, .themeCustom a:link, .themeCustom a:visited {
|
||||
color: #0066cc;
|
||||
}
|
||||
|
||||
.themeCustom .sh_header_search .well {
|
||||
background: #dedede;
|
||||
}
|
||||
|
||||
.themeCustom .sh_header_search .header_wrapper {
|
||||
border-bottom-color: #cccccc;
|
||||
}
|
||||
|
||||
.themeCustom .column-left {
|
||||
background-color: #dedede;
|
||||
}
|
||||
|
||||
.themeCustom .column-left .filters .handle {
|
||||
background-color: #dedede;
|
||||
}
|
||||
|
||||
.themeCustom .column-left .filters .handle:hover {
|
||||
background-color: #cccccc;
|
||||
}
|
||||
|
||||
.themeCustom .column-left .recent_searches, .themeCustom .column-left .search_tools, .themeCustom .column-left .search_links, .themeCustom .column-left .sort_jobs {
|
||||
border-top-color: #dedede;
|
||||
}
|
||||
|
||||
.themeCustom #search_title .text-highlight {
|
||||
color: #444444;
|
||||
}
|
||||
|
||||
.themeCustom .inline-filters {
|
||||
background: #dedede;
|
||||
}
|
||||
|
||||
.themeCustom input[type=radio]:checked + label > span, .themeCustom .sort_jobs input[type=radio]:checked + label > span, .themeCustom .social-network-logins input[type=radio]:checked + label > span {
|
||||
background-color: #444444;
|
||||
border-color: #444444;
|
||||
}
|
||||
|
||||
.themeCustom .filters .filter ul li a, .themeCustom #c_expired a, .themeCustom .result a, .themeCustom .expand_search a, .themeCustom .simplyhired-intl a, .themeCustom .filters .filter ul li a:visited, .themeCustom #c_expired a:visited, .themeCustom .result a:visited, .themeCustom .expand_search a:visited, .themeCustom .simplyhired-intl a:visited, .themeCustom .job h2 {
|
||||
color: #0066cc;}
|
||||
|
||||
.sh.theme-base .btn-sh2 {
|
||||
background-color: #999999;
|
||||
}
|
||||
|
||||
.sh.theme-base .sh_header_search .skin-search-promo .btn-large{
|
||||
background-color: #999999;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.sh .job .new {
|
||||
background-color: #999999;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.sh .job .partner-exclusive {
|
||||
background-color: #F15A22;
|
||||
}
|
@ -12,7 +12,14 @@
|
||||
span
|
||||
a.btn.btn-success.btn-big.btn-block.btn-responsive(href='/news/' class="#{ (page !== 'hot') ? '' : 'hidden' }") All
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2.well
|
||||
h4.text-center Submit your favorite  
|
||||
a(href='http://imgs.xkcd.com/comics/wisdom_of_the_ancients.png') profound comic about coding
|
||||
|   to Camper News.
|
||||
p.text-center Start the headline with: "Deep Code Comic:" then add a clever description that doesn't ruin the punchline. We'll publish the top 25 comics (and the campers who submitted them) in Wednesday's blog post. You'll also get 1 point for every upvote.
|
||||
.spacer
|
||||
|
||||
#search-results
|
||||
|
||||
.spacer
|
||||
|
Reference in New Issue
Block a user