@ -45,18 +45,13 @@ This code is running live at [FreeCodeCamp.com](http://www.FreeCodeCamp.com). We
|
||||
|
||||
### [Join our community here](http://www.freecodecamp.com/signin).
|
||||
|
||||
Wiki
|
||||
------------
|
||||
|
||||
We would love your help expanding our [wiki](https://github.com/freecodecamp/freecodecamp/wiki). Our goal is to become a great resource for people learning to code, building local coding communities, and applying for coding jobs.
|
||||
|
||||
Found a bug?
|
||||
------------
|
||||
|
||||
Do not file an issue until you have followed these steps:
|
||||
|
||||
1. Read [Help I've Found a Bug](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/FreeCodeCamp-Report-Bugs) wiki page and follow the instructions there.
|
||||
2. Ask for confirmation in the appropriate [Help Room](https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/Help-Rooms).
|
||||
1. Read the [Help I've Found a Bug](http://forum.freecodecamp.com/t/how-to-report-a-bug/19543) article and follow its instructions.
|
||||
2. Ask for confirmation in the appropriate [Help Room](http://forum.freecodecamp.com/t/free-code-camp-official-chat-rooms/19390/2).
|
||||
3. Please *do not* open an issue without a 3rd party confirmation of your problem.
|
||||
|
||||
Contributing
|
||||
|
@ -147,7 +147,7 @@ window.common = (function(global) {
|
||||
});
|
||||
|
||||
if (common.challengeName) {
|
||||
window.ga('send', 'event', 'Challenge', 'load', common.gaName);
|
||||
window.ga('send', 'event', 'Challenge', 'loaded', common.gaName);
|
||||
}
|
||||
|
||||
$('.modal').on('show.bs.modal', function() {
|
||||
|
@ -127,7 +127,7 @@ h1, h2, h3, h4, h5, h6, p, li {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
ul {
|
||||
.large-li > li {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
@ -1180,3 +1180,7 @@ and (max-width : 400px) {
|
||||
@import "challenge.less";
|
||||
@import "toastr.less";
|
||||
@import "map.less";
|
||||
|
||||
ul > li {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ main = (function(main, global) {
|
||||
if (!(event.ctrlKey || event.metaKey)) {
|
||||
toggleMainChat();
|
||||
}
|
||||
window.ga('send', 'event', 'NAV', 'NAV-CHAT', 'Nav Chat Button Clicked');
|
||||
window.ga('send', 'event', 'Nav', 'clicked', 'Nav chat opened');
|
||||
});
|
||||
|
||||
function showMainChat() {
|
||||
@ -220,7 +220,7 @@ $(document).ready(function() {
|
||||
'&redirect_uri=http%3A%2F%2Ffreecodecamp%2Ecom%2Fmap';
|
||||
|
||||
main.setMapShare(challengeBlockName);
|
||||
window.ga('send', 'event', 'FB_LINK', 'SHARE', 'Facebook map share');
|
||||
window.ga('send', 'event', 'Facebook', 'clicked', 'Shared on Facebook');
|
||||
window.location.href = link;
|
||||
});
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
||||
"cheerio": "~0.20.0",
|
||||
"classnames": "^2.1.2",
|
||||
"compression": "^1.6.0",
|
||||
"connect-mongo": "~1.2.0",
|
||||
"connect-mongo": "^1.3.2",
|
||||
"cookie-parser": "^1.4.0",
|
||||
"csurf": "^1.8.3",
|
||||
"debug": "^2.2.0",
|
||||
|
@ -74,7 +74,7 @@
|
||||
],
|
||||
"tests": [
|
||||
"assert($(\"div\").hasClass(\"container-fluid\"), 'message: Your <code>div</code> element should have the class <code>container-fluid</code>.');",
|
||||
"assert(code.match(/<\\/div>/g) && code.match(/<div/g) && code.match(/<\\/div>/g).length === code.match(/<div/g).length, 'message: Make sure each of your <code>div</code> elements has a closing tag.');",
|
||||
"assert(code.match(/<\\/div>/g) && code.match(/<div/g) && code.match(/<\\/div>/g).length === code.match(/<div/g).length, 'message: Make sure your <code>div</code> element has a closing tag.');",
|
||||
"assert($(\".container-fluid\").children().length >= 8, 'message: Make sure you have nested all HTML elements in <code>.container-fluid</code>.');"
|
||||
],
|
||||
"type": "waypoint",
|
||||
|
@ -28,6 +28,10 @@ module.exports = function(app) {
|
||||
router.get('/terms', terms);
|
||||
router.get('/privacy', privacy);
|
||||
router.get('/how-nonprofit-projects-work', howNonprofitProjectsWork);
|
||||
router.get(
|
||||
'/software-resources-for-nonprofits',
|
||||
softwareResourcesForNonprofits
|
||||
);
|
||||
router.get('/code-of-conduct', codeOfConduct);
|
||||
router.get('/academic-honesty', academicHonesty);
|
||||
router.get(
|
||||
@ -59,6 +63,12 @@ module.exports = function(app) {
|
||||
});
|
||||
}
|
||||
|
||||
function softwareResourcesForNonprofits(req, res) {
|
||||
res.render('resources/software-resources-for-nonprofits', {
|
||||
title: 'Software Resources for Nonprofits'
|
||||
});
|
||||
}
|
||||
|
||||
function codeOfConduct(req, res) {
|
||||
res.render('resources/code-of-conduct', {
|
||||
title: 'Code of Conduct'
|
||||
|
@ -336,7 +336,7 @@ module.exports = function(app) {
|
||||
return data;
|
||||
}, {});
|
||||
|
||||
if (userPortfolio.isCheater) {
|
||||
if (userPortfolio.isCheater && !user) {
|
||||
req.flash('errors', {
|
||||
msg: dedent`
|
||||
Upon review, this account has been flagged for academic
|
||||
|
@ -49,7 +49,8 @@
|
||||
"./middlewares/jade-helpers": {},
|
||||
"./middlewares/global-locals": {},
|
||||
"./middlewares/revision-helpers": {},
|
||||
"./middlewares/migrate-completed-challenges": {}
|
||||
"./middlewares/migrate-completed-challenges": {},
|
||||
"./middlewares/flash-cheaters": {}
|
||||
},
|
||||
"routes": {
|
||||
},
|
||||
|
29
server/middlewares/flash-cheaters.js
Normal file
29
server/middlewares/flash-cheaters.js
Normal file
@ -0,0 +1,29 @@
|
||||
import dedent from 'dedent';
|
||||
|
||||
const ALLOWED_METHODS = ['GET'];
|
||||
const EXCLUDED_PATHS = [
|
||||
'/api/flyers/findOne',
|
||||
'/challenges/current-challenge',
|
||||
'/challenges/next-challenge',
|
||||
'/map-aside',
|
||||
'/signout'
|
||||
];
|
||||
|
||||
export default function flashCheaters() {
|
||||
return function(req, res, next) {
|
||||
if (
|
||||
ALLOWED_METHODS.indexOf(req.method) !== -1 &&
|
||||
EXCLUDED_PATHS.indexOf(req.path) === -1 &&
|
||||
req.user && req.url !== '/' && req.user.isCheater
|
||||
) {
|
||||
req.flash('errors', {
|
||||
msg: dedent`
|
||||
Upon review, this account has been flagged for academic
|
||||
dishonesty. If you’re the owner of this account contact
|
||||
team@freecodecamp.com for details.
|
||||
`
|
||||
});
|
||||
}
|
||||
return next();
|
||||
};
|
||||
}
|
@ -87,13 +87,27 @@ block content
|
||||
h2 Here's why you should join our open source community right now:
|
||||
.spacer
|
||||
ul.large-li
|
||||
li.ion-code   You'll get help in real time from our community chat rooms.
|
||||
li.ion-code   You'll meet up with other coders in your city.
|
||||
li.ion-code   You'll learn to code at your own pace, in your browser or on your phone.
|
||||
li.ion-code   You'll work through our focused, interactive courses and tutorials.
|
||||
li.ion-code   You'll learn state-of-the-art full stack JavaScript technologies.
|
||||
li.ion-code   You'll build projects that help nonprofits carry out their missions more effectively.
|
||||
li.ion-code   You'll assemble a portfolio of real apps used by real people.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll get help in real time from our community chat rooms.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll meet up with other coders in your city.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll learn to code at your own pace, in your browser or on your phone.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll work through our focused, interactive courses and tutorials.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll learn state-of-the-art full stack JavaScript technologies.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll build projects that help nonprofits carry out their missions more effectively.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   You'll assemble a portfolio of real apps used by real people.
|
||||
.big-break
|
||||
.row
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||
|
@ -1,92 +1,116 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.text-center
|
||||
h1.landing-heading We will build software for your nonprofit. Pro Bono.
|
||||
.big-spacer
|
||||
.row
|
||||
.col-xs-12
|
||||
h1.landing-heading Get pro bono code for your nonprofit.
|
||||
.big-break
|
||||
.col-xs-12.col-sm-12.col-md-12
|
||||
.embed-responsive.embed-responsive-16by9
|
||||
iframe.embed-responsive-item(src='//player.vimeo.com/video/126228100')
|
||||
.big-break
|
||||
h2 As featured in:
|
||||
img.img-center.img-responsive(src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png')
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
h2 What nonprofit leaders are saying:
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.testimonial-image.img-center(src="//i.imgur.com/ZHnFFN5.jpg", alt="Ewa's testimonial image")
|
||||
p.nonprofit-testimonial-copy With Free Code Camp's valuable contribution, we were able to improve all of our systems and processes as part of our Wonder Women Eastern Indonesia program, and make sure that even more life changing technologies get to where they are needed most.
|
||||
h3 - Ewa Wojkowska with Kopernik
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.testimonial-image.img-center(src="//i.imgur.com/KHF8O2i.jpg", alt="Jennifer's testimonial image")
|
||||
p.nonprofit-testimonial-copy We have been blown away by the professional quality of the work that has been produced by the campers working on our projects. Free Code Camp has been an invaluable partner and we are grateful for their support.
|
||||
h3 - Jennifer McDowell with Child First Authority
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.testimonial-image.img-center(src="//i.imgur.com/9VknVe3.jpg", alt="Stephanie's testimonial image")
|
||||
p.nonprofit-testimonial-copy We had the pleasure to work with two very talented campers who went above and beyond to create a web-based app for us. I would highly recommend that nonprofits apply to Free Code Camp with their custom solution needs!
|
||||
h3 - Stephanie McAllister with Timeraiser
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
h2 Our process:
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Image of a briefcase')
|
||||
p.large-p You tell us how we can help you.
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Image of people putting their hands together in a huddle')
|
||||
p.large-p We'll hand pick developers and a project manager.
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='image of two people high-fiving')
|
||||
p.large-p Together we'll set milestones and complete your project.
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
h2 Solutions we can help you build:
|
||||
.spacer
|
||||
.text-center.negative-35
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-android-globe
|
||||
h2.black-text Websites
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-card
|
||||
h2.black-text Donation Systems
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-android-calendar
|
||||
h2.black-text Volunteer Systems
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-ios-box
|
||||
h2.black-text Inventory Systems
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-university
|
||||
h2.black-text E-learning Platforms
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-ios-list
|
||||
h2.black-text Paperless Workflows
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-ios-people
|
||||
h2.black-text Community Tools
|
||||
.col-xs-12.col-sm-12.col-md-3
|
||||
.landing-skill-icon.ion-settings
|
||||
h2.black-text ...and other tools
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Image of a briefcase')
|
||||
p.large-p Apply for a Code Grant.
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Image of people putting their hands together in a huddle')
|
||||
p.large-p We'll provide volunteer developers and a project manager.
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='image of two people high-fiving')
|
||||
p.large-p We'll collaborate with you to build the tool you need.
|
||||
.spacer
|
||||
h2 As featured in:
|
||||
img.img-center.img-responsive(src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png')
|
||||
hr
|
||||
.spacer
|
||||
h1 What nonprofit leaders are saying:
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.testimonial-image.img-center(src="//i.imgur.com/ZHnFFN5.jpg", alt="Ewa's testimonial image")
|
||||
p.nonprofit-testimonial-copy With Free Code Camp's valuable contribution, we were able to improve all of our systems and processes as part of our Wonder Women Eastern Indonesia program, and make sure that even more life changing technologies get to where they are needed most.
|
||||
h3 - Ewa Wojkowska with Kopernik
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.testimonial-image.img-center(src="//i.imgur.com/KHF8O2i.jpg", alt="Jennifer's testimonial image")
|
||||
p.nonprofit-testimonial-copy We have been blown away by the professional quality of the work that has been produced by the campers working on our projects. Free Code Camp has been an invaluable partner and we are grateful for their support.
|
||||
h3 - Jennifer McDowell with Child First Authority
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
img.img-responsive.testimonial-image.img-center(src="//i.imgur.com/9VknVe3.jpg", alt="Stephanie's testimonial image")
|
||||
p.nonprofit-testimonial-copy We had the pleasure to work with two very talented campers who went above and beyond to create a web-based app for us. I would highly recommend that nonprofits apply to Free Code Camp with their custom solution needs!
|
||||
h3 - Stephanie McAllister with Timeraiser
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
.col-xs-offset-0.col-sm-offset-1.text-left.large-p
|
||||
h2 Our developers build projects for nonprofits who:
|
||||
.spacer
|
||||
h1 Solutions we can help you build:
|
||||
.spacer
|
||||
.row.text-center
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
.landing-skill-icon.fa.fa-tasks
|
||||
h2.black-text Paperless Workflows
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
.landing-skill-icon.fa.fa-child
|
||||
h2.black-text Volunteer Management
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
.landing-skill-icon.fa.fa-users
|
||||
h2.black-text Community Management
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
.landing-skill-icon.fa.fa-repeat
|
||||
h2.black-text Inventory Systems
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
.landing-skill-icon.fa.fa-truck
|
||||
h2.black-text Logistics Tools
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
.landing-skill-icon.fa.fa-wrench
|
||||
h2.black-text ...and other tools
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
h1 Some of the projects we've built for nonprofits:
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12
|
||||
h2 Options, Inc.
|
||||
br
|
||||
| Big Lake, Minnesota
|
||||
.embed-responsive.embed-responsive-16by9
|
||||
iframe.embed-responsive-item(src='//www.youtube.com/embed/V8B4orj0M7Y?rel=0&showinfo=0')
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12
|
||||
h2 Child First Authority
|
||||
br
|
||||
| Baltimore, Maryland
|
||||
.embed-responsive.embed-responsive-16by9
|
||||
iframe.embed-responsive-item(src='//www.youtube.com/embed/O993J5KCR_w?rel=0&showinfo=0')
|
||||
.spacer
|
||||
.row
|
||||
.col-xs-12
|
||||
h2 Chasdei Kaduri Food Bank
|
||||
br
|
||||
| Toronto, Canada
|
||||
.embed-responsive.embed-responsive-16by9
|
||||
iframe.embed-responsive-item(src='//www.youtube.com/embed/XUR8E9fy0mE?rel=0&showinfo=0')
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
h2 As grantmakers of pro bono code, we approve applications for nonprofits who:
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2.text-left.large-p
|
||||
ul.large-li
|
||||
li.ion-code   already have people who benefit from their services.
|
||||
li.ion-code   are registered with their government and have tax-exempt status.
|
||||
li.ion-code   have a stakeholder who can meet with our developers to direct the project.
|
||||
li.ion-code   can budget at least $20 per month for their own cloud servers.
|
||||
li.ion-code   can commit to using and maintaining the solution that our developers build.
|
||||
.big-break
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   have 501(c)(3) status or foreign equivalent.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   have a demonstrated need for custom code.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   have explored existing software solutions.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   already have people who benefit from their services.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   can budget $20 to $30 per month for hosting.
|
||||
li
|
||||
span.fa.fa-code
|
||||
|   will commit to using what our developers build.
|
||||
|
||||
.row
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help
|
||||
.spacer
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") Apply
|
||||
|
@ -9,7 +9,7 @@ block content
|
||||
h4 Get 2 for only $5, with free shipping anywhere!
|
||||
p These durable 2" (5 cm) stickers sport a matte finish, and look great anywhere - especially on your laptop.
|
||||
html.
|
||||
<form action="//www.paypal.com/cgi-bin/webscr" onSubmit="ga('send', 'event', 'SHOP', 'SHOP-STICKER', 'Sticker PayPal button clicked');" method="post" target="_blank">
|
||||
<form action="//www.paypal.com/cgi-bin/webscr" onSubmit="ga('send', 'event', 'Shop', 'clicked', 'Freecodecamp sticker');" method="post" target="_blank">
|
||||
<input type="hidden" name="cmd" value="_s-xclick">
|
||||
<input type="hidden" name="hosted_button_id" value="R9AGYKJUCU37N">
|
||||
<input type="submit" class="btn btn-cta signup-btn btn-block" name="submit" value='Get these with PayPal or a Credit Card'>
|
||||
@ -24,7 +24,7 @@ block content
|
||||
p Audible gives our community $5 when you you sign up for a free trial.
|
||||
p You get two free audiobooks immediately. You can cancel any time and still keep your audiobooks.
|
||||
p If you don't cancel within 30 days, you get one audiobook per month for $15/month.
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.amazon.com/gp/product/B00NB86OYE/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00NB86OYE&linkCode=as2&tag=out0b4b-20&linkId=dfacf0a194dcd3d1c9376f64ed690214" onClick="ga('send', 'event', 'SHOP', 'SHOP-AUDIBLE', 'Audible affiliate button clicked');") Get two free audio books
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.amazon.com/gp/product/B00NB86OYE/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00NB86OYE&linkCode=as2&tag=out0b4b-20&linkId=dfacf0a194dcd3d1c9376f64ed690214" onClick="ga('send', 'event', 'Shop', 'clicked', '2 free audio books');") Get two free audio books
|
||||
|
||||
hr
|
||||
.row
|
||||
@ -32,7 +32,7 @@ block content
|
||||
img.img-responsive.img-center(src='//i.imgur.com/BTtb8P0g.jpg')
|
||||
h3 Get $10 in credit for your own Digital Ocean server
|
||||
p Digital Ocean gives our community $25 in credit after you spend $25.
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//m.do.co/c/ba8a71773373" target='_blank' onClick="ga('send', 'event', 'SHOP', 'SHOP-DIGITAL-OCEAN', 'Digital Ocean affiliate button clicked');") Claim your $10 credit
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//m.do.co/c/ba8a71773373" target='_blank' onClick="ga('send', 'event', 'Shop', 'clicked', '$10 Digital Ocean credit');") Claim your $10 credit
|
||||
|
||||
hr
|
||||
.row
|
||||
@ -40,7 +40,7 @@ block content
|
||||
img.img-responsive.img-center(src='http://i.imgur.com/YqZqTN6g.jpg')
|
||||
h3 Buy some affordable domain names
|
||||
p Namecheap gives our community a 15% commission on your first purchase.
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.namecheap.com/?aff=102130" onClick="ga('send', 'event', 'SHOP', 'SHOP-NAMECHEAP', 'Namecheap affiliate button clicked');") Get your domain name
|
||||
a.btn.btn-cta.signup-btn.btn-block(href="//www.namecheap.com/?aff=102130" onClick="ga('send', 'event', 'Shop', 'clicked', 'Namecheap domain');") Get your domain name
|
||||
|
||||
hr
|
||||
.row
|
||||
@ -50,34 +50,34 @@ block content
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/hV9F2bo.jpg' alt='Cracking the Coding Interivew book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0984782850/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0984782850&linkCode=as2&tag=out0b4b-20&linkId=41b9f338b2a1a8ba00d67f944f68a982" onClick="ga('send', 'event', 'SHOP', 'SHOP-CRACKING', 'Cracking the Code Interivew affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0984782850/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0984782850&linkCode=as2&tag=out0b4b-20&linkId=41b9f338b2a1a8ba00d67f944f68a982" onClick="ga('send', 'event', 'Shop', 'clicked', 'Cracking the Coding Interview');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/rLN9oKk.jpg' alt='JavaScript: The Definitive Guide book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0596805527/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596805527&linkCode=as2&tag=out0b4b-20&linkId=f490d30d420bf57fc1efe2de57eece65" onClick="ga('send', 'event', 'SHOP', 'SHOP-JS-DIFINITIVE-GUIDE', 'JavaScript the Definitive Guide affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0596805527/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596805527&linkCode=as2&tag=out0b4b-20&linkId=f490d30d420bf57fc1efe2de57eece65" onClick="ga('send', 'event', 'Shop', 'clicked', 'JavaScript The Definitive Guide');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/KU60I7r.jpg' alt='How Linux Works: What Every Superuser Should Know book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1593275676/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275676&linkCode=as2&tag=out0b4b-20&linkId=a6a83ec9ed8d137f3ff56fbcfc6c05ce" onClick="ga('send', 'event', 'SHOP', 'SHOP-HOW-LINUX-WORKS', 'How Linux Works affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1593275676/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275676&linkCode=as2&tag=out0b4b-20&linkId=a6a83ec9ed8d137f3ff56fbcfc6c05ce" onClick="ga('send', 'event', 'Shop', 'clicked', 'How Linux Works');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/nR4VIU4.jpg' alt='JavaScript: The Good Parts book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0596517742/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596517742&linkCode=as2&tag=out0b4b-20&linkId=644f8ba9661c9db7dd4bb3ff6216a8d1" onClick="ga('send', 'event', 'SHOP', 'SHOP-JAVASCRIPT-THE-GOOD-PARTS', 'JavaScript the Good Parts affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/0596517742/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596517742&linkCode=as2&tag=out0b4b-20&linkId=644f8ba9661c9db7dd4bb3ff6216a8d1" onClick="ga('send', 'event', 'Shop', 'clicked', 'JavaScript the Good Parts');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/CR2dSql.jpg' alt='Eloquent JavaScript: A Modern Introduction to Programming book cover')
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1593275846/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275846&linkCode=as2&tag=out0b4b-20&linkId=6870174eac22afca8e1c1ef5204f16ee" onClick="ga('send', 'event', 'SHOP', 'SHOP-ELOQUENT-JAVASCRIPT', 'Eloquent JavaScript affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1593275846/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275846&linkCode=as2&tag=out0b4b-20&linkId=6870174eac22afca8e1c1ef5204f16ee" onClick="ga('send', 'event', 'Shop', 'clicked', 'Eloquent JavaScript');" target='_blank') Get it on Amazon
|
||||
.spacer
|
||||
hr
|
||||
.spacer
|
||||
img.img-responsive.img-center(src='//i.imgur.com/IplEMb4.jpg' alt='JavaScript and jQuery: Interactive Front End Development')
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1118531647/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1118531647&linkCode=as2&tag=out0b4b-20&linkId=fdce3ef75bf3cd1cb220020a595decba" onClick="ga('send', 'event', 'SHOP', 'SHOP-JAVASCRIPT-AND-JQUERY', 'JavaScript and jQuery affiliate button clicked');" target='_blank') Get it on Amazon
|
||||
a.btn.signup-btn.btn-cta(href="//www.amazon.com/gp/product/1118531647/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1118531647&linkCode=as2&tag=out0b4b-20&linkId=fdce3ef75bf3cd1cb220020a595decba" onClick="ga('send', 'event', 'Shop', 'clicked', 'JavaScript and jQuery');" target='_blank') Get it on Amazon
|
||||
|
@ -0,0 +1,78 @@
|
||||
extends ../layout
|
||||
block content
|
||||
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
|
||||
h2.text-center Software Resources for Nonprofits
|
||||
hr
|
||||
p Please note that Free Code Camp is not partnered with, nor do we receive a referral fee from, any of the following providers. We simply want to help guide you toward a solution for your organization.
|
||||
h3 Skills-based Volunteer Organizations:
|
||||
ul
|
||||
li
|
||||
a(href='http://givecamp.org/' target='_blank') Give Camp
|
||||
li
|
||||
a(href='http://www.volunteermatch.com' target='_blank') Volunteer Match.com
|
||||
li
|
||||
a(href='http://www.catchafire.org' target='_blank') Catchafire
|
||||
li
|
||||
a(href='http://anyonecanhaveawebsite.com' target='_blank') Anyone Can Have A Website
|
||||
h3 Building a website:
|
||||
ul
|
||||
li
|
||||
a(href='http://www.wix.com/' target='_blank') Wix
|
||||
li
|
||||
a(href='https://www.squarespace.com/' target='_blank') Square Space
|
||||
li
|
||||
a(href='https://wordpress.com/' target='_blank') WordPress
|
||||
li
|
||||
a(href='https://xprs.imcreator.com' target='_blank') Imcreator.com
|
||||
li
|
||||
a(href='or build it for free without writing any code' target='_blank') How to build a website without writing any code
|
||||
h3 Donor and Volunteer Management Systems:
|
||||
ul
|
||||
li
|
||||
a(href='http://causesignal.com' target='_blank') Cause Signal
|
||||
li
|
||||
a(href='https://www.thedatabank.com/' target='_blank') The Data Bank
|
||||
li
|
||||
a(href='http://www.donorsnap.com/' target='_blank') Donor Snap
|
||||
li
|
||||
a(href='http://www.donorperfect.com/' target='_blank') Donor Perfect
|
||||
li
|
||||
a(href='https://www.blackbaud.com/fundraising-crm/etapestry-donor-management' target='_blank') E Tapestry
|
||||
li
|
||||
a(href='http://www.z2systems.com' target='_blank') Z2 Systems
|
||||
li
|
||||
a(href='http://www.regpacks.com/volunteer-management' target='_blank') Reg Packs
|
||||
li
|
||||
a(href='http://sumac.com' target='_blank') Sumac
|
||||
li
|
||||
a(href='http://www.volgistics.com' target='_blank') Volgistics
|
||||
h3 Inventory Management Systems:
|
||||
ul
|
||||
li
|
||||
a(href='https://www.ordoro.com' target='_blank') Ordoro
|
||||
li
|
||||
a(href='http://www.unleashedsoftware.com' target='_blank') Unleashed Software
|
||||
li
|
||||
a(href='https://www.ezofficeinventory.com/industries/non-profits' target='_blank') EZ Office Inventory
|
||||
h3 E-Learning platforms:
|
||||
ul
|
||||
li
|
||||
a(href='http://www.dokeos.com' target='_blank') Dokeos
|
||||
li
|
||||
a(href='http://www.efrontlearning.net/' target='_blank') E Front Learning
|
||||
li
|
||||
a(href='https://moodle.org/' target='_blank') Moodle
|
||||
li
|
||||
a(href='https://sakaiproject.org/' target='_blank') Sakai Project
|
||||
h3 Community Management:
|
||||
ul
|
||||
li
|
||||
a(href='https://civicrm.org/' target='_blank') CiviCRM
|
||||
li
|
||||
a(href='http://tcmgr.com/' target='_blank') Total Community Manager
|
||||
h3 Electronic Forms:
|
||||
ul
|
||||
li
|
||||
a(href='http://www.google.com/forms' target='_blank') Google Forms
|
||||
li
|
||||
a(href='http://www.typeform.com' target='_blank') Typeform
|
Reference in New Issue
Block a user