fix: address early review comments and lint
This commit is contained in:
committed by
Stuart Taylor
parent
65c427a266
commit
7783079af7
@ -1,4 +1,5 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Grid, Row, Col } from '@freecodecamp/react-bootstrap';
|
||||
|
||||
import Link from '../helpers/Link';
|
||||
@ -16,12 +17,6 @@ const ColHeader = ({ children, ...other }) => (
|
||||
);
|
||||
ColHeader.propTypes = propTypes;
|
||||
|
||||
const linkPropTypes = {
|
||||
children: PropTypes.any,
|
||||
external: PropTypes.bool,
|
||||
to: PropTypes.string.isRequired
|
||||
};
|
||||
|
||||
function Footer() {
|
||||
return (
|
||||
<footer className='footer'>
|
||||
@ -73,13 +68,9 @@ function Footer() {
|
||||
<Link to='https://gitter.im/FreeCodeCamp/home'>Gitter</Link>
|
||||
<Link to='https://github.com/freeCodeCamp/'>GitHub</Link>
|
||||
<Link to='/support'>Support</Link>
|
||||
<Link to='/code-of-conduct'>
|
||||
Code of Conduct
|
||||
</Link>
|
||||
<Link to='/code-of-conduct'>Code of Conduct</Link>
|
||||
<Link to='/privacy-policy'>Privacy Policy</Link>
|
||||
<Link to='/terms-of-service'>
|
||||
Terms of Service
|
||||
</Link>
|
||||
<Link to='/terms-of-service'>Terms of Service</Link>
|
||||
</Col>
|
||||
<Col lg={3} sm={2} xs={12}>
|
||||
<ColHeader>Our Learning Resources</ColHeader>
|
||||
|
@ -70,12 +70,7 @@ function Supporters({ isDonating, activeDonations }) {
|
||||
</FullWidthRow>
|
||||
{isDonating ? null : (
|
||||
<FullWidthRow>
|
||||
<Button
|
||||
bsSize='lg'
|
||||
bsStyle='primary'
|
||||
href='/donate'
|
||||
target='_blank'
|
||||
>
|
||||
<Button bsSize='lg' bsStyle='primary' href='/donate' target='_blank'>
|
||||
Click here to become a Supporter
|
||||
</Button>
|
||||
</FullWidthRow>
|
||||
|
@ -1,8 +1,15 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Link as GatsbyLink } from 'gatsby';
|
||||
|
||||
const propTypes = {
|
||||
children: PropTypes.any,
|
||||
external: PropTypes.bool,
|
||||
to: PropTypes.string.isRequired
|
||||
};
|
||||
|
||||
const Link = ({ children, to, external, ...other }) => {
|
||||
if (!external && (/^\/(?!\/)/).test(to)) {
|
||||
if (!external && /^\/(?!\/)/.test(to)) {
|
||||
return (
|
||||
<GatsbyLink to={to} {...other}>
|
||||
{children}
|
||||
@ -16,5 +23,6 @@ const Link = ({ children, to, external, ...other }) => {
|
||||
</a>
|
||||
);
|
||||
};
|
||||
Link.propTypes = propTypes;
|
||||
|
||||
export default Link;
|
||||
|
@ -27,7 +27,7 @@ const AboutPage = () => {
|
||||
<Fragment>
|
||||
<Helmet title='About the freeCodeCamp community | freeCodeCamp.org' />
|
||||
<Spacer />
|
||||
<Grid className='container'>
|
||||
<Grid>
|
||||
<Row>
|
||||
<Col
|
||||
className='questions'
|
||||
@ -47,24 +47,19 @@ const AboutPage = () => {
|
||||
</p>
|
||||
<h4>How can you help me learn to code?</h4>
|
||||
<p>
|
||||
You'll learn to code by completing coding challenges and
|
||||
building projects. You'll also earn verified certifications
|
||||
along the way. We also encourage you to join a study group in
|
||||
your city so you can code in-person with other people.
|
||||
You'll learn to code by completing coding challenges and building
|
||||
projects. You'll also earn verified certifications along the way.
|
||||
We also encourage you to join a study group in your city so you
|
||||
can code in-person with other people.
|
||||
</p>
|
||||
<h4>Is freeCodeCamp really free?</h4>
|
||||
<p>Yes. Every aspect of freeCodeCamp is 100% free.</p>
|
||||
<h4>
|
||||
Can freeCodeCamp help me get a job as a software developer?
|
||||
</h4>
|
||||
<h4>Can freeCodeCamp help me get a job as a software developer?</h4>
|
||||
<p>
|
||||
Yes. Every year, thousands of people who join the freeCodeCamp
|
||||
community get their first software developer job. If you're
|
||||
curious, you can{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.linkedin.com/school/4831032/alumni/'
|
||||
>
|
||||
<Link to='https://www.linkedin.com/school/4831032/alumni/'>
|
||||
browse our alumni network on LinkedIn here
|
||||
</Link>
|
||||
.
|
||||
@ -73,31 +68,19 @@ const AboutPage = () => {
|
||||
<p>
|
||||
If you add up all the people who use our learning platform, read
|
||||
our{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://medium.freecodecamp.org'
|
||||
>
|
||||
<Link to='https://medium.freecodecamp.org'>
|
||||
Medium publication
|
||||
</Link>
|
||||
, watch our{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://youtube.com/freecodecamp'
|
||||
>
|
||||
YouTube channel
|
||||
</Link>
|
||||
<Link to='https://youtube.com/freecodecamp'>YouTube channel</Link>
|
||||
, and post on <Link to='/forum'>our forum</Link>, each month we
|
||||
help millions of people learn about coding and technology.
|
||||
</p>
|
||||
<h4>Is freeCodeCamp a nonprofit?</h4>
|
||||
<p>
|
||||
Yes, we are a 501(c)(3){' '}
|
||||
<Link to='/donate'>donor-supported public charity</Link>. You
|
||||
can{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://s3.amazonaws.com/freecodecamp/Free+Code+Camp+Inc+IRS+Determination+Letter.pdf'
|
||||
>
|
||||
<Link to='/donate'>donor-supported public charity</Link>. You can{' '}
|
||||
<Link to='https://s3.amazonaws.com/freecodecamp/Free+Code+Camp+Inc+IRS+Determination+Letter.pdf'>
|
||||
download our IRS Determination Letter here
|
||||
</Link>
|
||||
.
|
||||
@ -129,10 +112,10 @@ const AboutPage = () => {
|
||||
</p>
|
||||
<h4>Is freeCodeCamp a replacement for a 4-year degree?</h4>
|
||||
<p>
|
||||
No. Please don’t drop out of college just to pursue
|
||||
freeCodeCamp. You can pursue both concurrently. Even though you
|
||||
don’t need a 4-year degree to work as a software developer, it
|
||||
still helps a lot.
|
||||
No. Please don’t drop out of college just to pursue freeCodeCamp.
|
||||
You can pursue both concurrently. Even though you don’t need a
|
||||
4-year degree to work as a software developer, it still helps a
|
||||
lot.
|
||||
</p>
|
||||
<h4>Should I complete all of the coding challenges in order?</h4>
|
||||
<p>
|
||||
@ -142,81 +125,60 @@ const AboutPage = () => {
|
||||
<h4>Do I have to use CodePen for the front end projects?</h4>
|
||||
<p>
|
||||
As long as your code is publicly viewable somewhere on the
|
||||
internet, and you have a live demo, you can use whatever tools
|
||||
you want.
|
||||
internet, and you have a live demo, you can use whatever tools you
|
||||
want.
|
||||
</p>
|
||||
<h4>How did freeCodeCamp get started?</h4>
|
||||
<p>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.twitter.com/ossia'
|
||||
>
|
||||
Quincy
|
||||
</Link>{' '}
|
||||
started the freeCodeCamp community in 2014. He is now just one
|
||||
of thousands of active contributors.
|
||||
<Link to='https://www.twitter.com/ossia'>Quincy</Link> started the
|
||||
freeCodeCamp community in 2014. He is now just one of thousands of
|
||||
active contributors.
|
||||
</p>
|
||||
<h4>
|
||||
I'm a teacher. Is freeCodeCamp an appropriate resource for my
|
||||
className?
|
||||
</h4>
|
||||
<p>
|
||||
Yes. Many high school, college, and adult ed programs
|
||||
incorporate freeCodeCamp into their coursework. We're open
|
||||
source, so no license or special permission from us is
|
||||
necessary. We're even building special tools for teachers.
|
||||
Yes. Many high school, college, and adult ed programs incorporate
|
||||
freeCodeCamp into their coursework. We're open source, so no
|
||||
license or special permission from us is necessary. We're even
|
||||
building special tools for teachers.
|
||||
</p>
|
||||
<h4>
|
||||
Can I live-stream myself working on freeCodeCamp challenges and
|
||||
projects? Can I blog about how I solved them?
|
||||
</h4>
|
||||
<p>
|
||||
Yes. We welcome this. Also, don't be shy about "spoiling"
|
||||
projects or challenges. The solutions to all of these challenges
|
||||
are already all over the internet.
|
||||
Yes. We welcome this. Also, don't be shy about "spoiling" projects
|
||||
or challenges. The solutions to all of these challenges are
|
||||
already all over the internet.
|
||||
</p>
|
||||
<h4>
|
||||
Can I create apps or tools based around the freeCodeCamp
|
||||
community and platform?
|
||||
Can I create apps or tools based around the freeCodeCamp community
|
||||
and platform?
|
||||
</h4>
|
||||
<p>
|
||||
Yes. freeCodeCamp is open source (BSD-3 license), and most
|
||||
non-sensitive freeCodeCamp data is publicly available. But you
|
||||
must make it clear that you don't represent freeCodeCamp itself,
|
||||
and that your project is not officially endorsed by
|
||||
freeCodeCamp.
|
||||
and that your project is not officially endorsed by freeCodeCamp.
|
||||
</p>
|
||||
<h4>Does freeCodeCamp have a mobile app?</h4>
|
||||
<p>
|
||||
You can learn on the go by listening to the{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://podcast.freecodecamp.org'
|
||||
>
|
||||
<Link to='https://podcast.freecodecamp.org'>
|
||||
freeCodeCamp Podcast
|
||||
</Link>{' '}
|
||||
or watching{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://youtube.com/freecodecamp'
|
||||
>
|
||||
<Link to='https://youtube.com/freecodecamp'>
|
||||
freeCodeCamp's YouTube channel
|
||||
</Link>
|
||||
. And if you want a mobile app designed specifically for
|
||||
learning to code, we recommend Grasshopper. It's free and
|
||||
designed by a freeCodeCamp contributor and her team. You can
|
||||
download it on{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://itunes.apple.com/us/app/id1354133284'
|
||||
>
|
||||
iOS
|
||||
</Link>{' '}
|
||||
. And if you want a mobile app designed specifically for learning
|
||||
to code, we recommend Grasshopper. It's free and designed by a
|
||||
freeCodeCamp contributor and her team. You can download it on{' '}
|
||||
<Link to='https://itunes.apple.com/us/app/id1354133284'>iOS</Link>{' '}
|
||||
or{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://play.google.com/store/apps/details?id=com.area120.grasshopper&hl=en'
|
||||
>
|
||||
<Link to='https://play.google.com/store/apps/details?id=com.area120.grasshopper&hl=en'>
|
||||
Android
|
||||
</Link>
|
||||
.
|
||||
@ -224,12 +186,9 @@ const AboutPage = () => {
|
||||
<h4>Can I get a job at freeCodeCamp?</h4>
|
||||
<p>
|
||||
We're a small donor-supported nonprofit. We've hired several
|
||||
prominent contributors from within the freeCodeCamp community,
|
||||
but you're much more likely to get a job at{' '}
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.linkedin.com/school/free-code-camp/alumni/'
|
||||
>
|
||||
prominent contributors from within the freeCodeCamp community, but
|
||||
you're much more likely to get a job at{' '}
|
||||
<Link to='https://www.linkedin.com/school/free-code-camp/alumni/'>
|
||||
one of the hundreds of companies
|
||||
</Link>{' '}
|
||||
where freeCodeCamp alumni work.
|
||||
@ -276,10 +235,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faYoutube} />
|
||||
</td>
|
||||
<td>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://youtube.com/freecodecamp'
|
||||
>
|
||||
<Link to='https://youtube.com/freecodecamp'>
|
||||
Our YouTube channel
|
||||
</Link>
|
||||
</td>
|
||||
@ -289,10 +245,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faGithub} />
|
||||
</td>
|
||||
<td>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://github.com/freecodecamp/'
|
||||
>
|
||||
<Link to='https://github.com/freecodecamp/'>
|
||||
Our GitHub organization
|
||||
</Link>
|
||||
</td>
|
||||
@ -302,10 +255,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faLinkedin} />
|
||||
</td>
|
||||
<td>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.linkedin.com/edu/school?id=166029'
|
||||
>
|
||||
<Link to='https://www.linkedin.com/edu/school?id=166029'>
|
||||
Our LinkedIn university page
|
||||
</Link>
|
||||
</td>
|
||||
@ -315,10 +265,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faMedium} />
|
||||
</td>
|
||||
<td>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://medium.freecodecamp.org'
|
||||
>
|
||||
<Link to='https://medium.freecodecamp.org'>
|
||||
Our Medium publication
|
||||
</Link>
|
||||
</td>
|
||||
@ -328,10 +275,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faTwitter} />
|
||||
</td>
|
||||
<td>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://twitter.com/freecodecamp'
|
||||
>
|
||||
<Link to='https://twitter.com/freecodecamp'>
|
||||
Our Twitter feed
|
||||
</Link>
|
||||
</td>
|
||||
@ -341,10 +285,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faFacebook} />
|
||||
</td>
|
||||
<td>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://facebook.com/freecodecamp'
|
||||
>
|
||||
<Link to='https://facebook.com/freecodecamp'>
|
||||
Our Facebook page
|
||||
</Link>
|
||||
</td>
|
||||
@ -354,9 +295,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faLock} />
|
||||
</td>
|
||||
<td>
|
||||
<Link to='/privacy-policy'>
|
||||
Our privacy policy
|
||||
</Link>
|
||||
<Link to='/privacy-policy'>Our privacy policy</Link>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -364,9 +303,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faBalanceScale} />
|
||||
</td>
|
||||
<td>
|
||||
<Link to='/code-of-conduct'>
|
||||
Our code of conduct
|
||||
</Link>
|
||||
<Link to='/code-of-conduct'>Our code of conduct</Link>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -384,9 +321,7 @@ const AboutPage = () => {
|
||||
<FontAwesomeIcon icon={faBook} />
|
||||
</td>
|
||||
<td>
|
||||
<Link to='/terms-of-service'>
|
||||
Our terms of service
|
||||
</Link>
|
||||
<Link to='/terms-of-service'>Our terms of service</Link>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -10,15 +10,9 @@ const CodeOfConductPage = () => {
|
||||
<Fragment>
|
||||
<Helmet title='Code of Conduct | freeCodeCamp.org' />
|
||||
<Spacer />
|
||||
<Grid className='container'>
|
||||
<Grid>
|
||||
<Row>
|
||||
<Col
|
||||
md={6}
|
||||
mdOffset={3}
|
||||
sm={10}
|
||||
smOffset={1}
|
||||
xs={12}
|
||||
>
|
||||
<Col md={6} mdOffset={3} sm={10} smOffset={1} xs={12}>
|
||||
<h2 className='text-center'>Code of Conduct</h2>
|
||||
<hr />
|
||||
<p>
|
||||
@ -30,11 +24,11 @@ const CodeOfConductPage = () => {
|
||||
conduct.
|
||||
</p>
|
||||
<p>In short: Be nice. No harassment, trolling, or spamming.</p>
|
||||
<ul style={{ 'margin-top': '0', 'margin-bottom': '10px' }} >
|
||||
<ul style={{ 'margin-top': '0', 'margin-bottom': '10px' }}>
|
||||
<li>
|
||||
<strong>Harassment</strong> includes sexual language and imagery,
|
||||
deliberate intimidation, stalking, name-calling, unwelcome
|
||||
attention, libel, and any malicious hacking or social
|
||||
<strong>Harassment</strong> includes sexual language and
|
||||
imagery, deliberate intimidation, stalking, name-calling,
|
||||
unwelcome attention, libel, and any malicious hacking or social
|
||||
engineering. freeCodeCamp should be a harassment-free experience
|
||||
for everyone, regardless of gender, gender identity and
|
||||
expression, age, sexual orientation, disability, physical
|
||||
@ -42,8 +36,8 @@ const CodeOfConductPage = () => {
|
||||
lack thereof).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Trolling</strong> includes posting inflammatory comments to
|
||||
provoke an emotional response or disrupt discussions.
|
||||
<strong>Trolling</strong> includes posting inflammatory comments
|
||||
to provoke an emotional response or disrupt discussions.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Spamming</strong> includes posting off-topic messages to
|
||||
@ -59,17 +53,14 @@ const CodeOfConductPage = () => {
|
||||
<Link to='https://gitter.im/freecodecamp/admin'>
|
||||
admin chat room
|
||||
</Link>{' '}
|
||||
- preferably with a screen shot of the offense. The
|
||||
moderator team will take any action we deem appropriate, up to and
|
||||
including banning the offender from freeCodeCamp.
|
||||
- preferably with a screen shot of the offense. The moderator team
|
||||
will take any action we deem appropriate, up to and including
|
||||
banning the offender from freeCodeCamp.
|
||||
</p>
|
||||
<p>
|
||||
Also, no bots are allowed in the freeCodeCamp community without
|
||||
prior written permission from{' '}
|
||||
<Link to='https://gitter.im/quincylarson'>
|
||||
Quincy Larson
|
||||
</Link>
|
||||
.
|
||||
<Link to='https://gitter.im/quincylarson'>Quincy Larson</Link>.
|
||||
</p>
|
||||
</Col>
|
||||
</Row>
|
||||
|
@ -49,11 +49,7 @@ const IndexPage = ({
|
||||
<p>
|
||||
And yes - all of this is 100% free, thanks to the thousands of campers
|
||||
who{' '}
|
||||
<a
|
||||
href='/donate'
|
||||
rel='noopener noreferrer'
|
||||
target='_blank'
|
||||
>
|
||||
<a href='/donate' rel='noopener noreferrer' target='_blank'>
|
||||
donate
|
||||
</a>{' '}
|
||||
to our nonprofit.
|
||||
|
@ -12,7 +12,7 @@ const PrivacyPolicyPage = () => {
|
||||
<Fragment>
|
||||
<Helmet title='Privacy Policy | freeCodeCamp.org' />
|
||||
<Spacer />
|
||||
<Grid className='container'>
|
||||
<Grid>
|
||||
<Row>
|
||||
<Col
|
||||
className='questions'
|
||||
@ -22,7 +22,9 @@ const PrivacyPolicyPage = () => {
|
||||
smOffset={1}
|
||||
xs={12}
|
||||
>
|
||||
<h2 className='text-center'>freeCodeCamp.org Privacy Policy: Questions and Answers</h2>
|
||||
<h2 className='text-center'>
|
||||
freeCodeCamp.org Privacy Policy: Questions and Answers
|
||||
</h2>
|
||||
<hr />
|
||||
<p>
|
||||
We take your privacy seriously. And we give you full control over
|
||||
@ -134,17 +136,16 @@ const PrivacyPolicyPage = () => {
|
||||
those people have access to your private data.
|
||||
</p>
|
||||
<p>
|
||||
freeCodeCamp has a few full-time staff, some of whom work
|
||||
directly on our databases. They have the ability to view your
|
||||
private data, but only do so when providing you with technical
|
||||
support.
|
||||
freeCodeCamp has a few full-time staff, some of whom work directly
|
||||
on our databases. They have the ability to view your private data,
|
||||
but only do so when providing you with technical support.
|
||||
</p>
|
||||
<p>
|
||||
As for the personal data that you choose to share on your
|
||||
developer portfolio, anyone on the internet can see it by
|
||||
navigating to your developer portfolio's public URL. Again,
|
||||
we've given you full control over what parts of your developer
|
||||
profile are public.
|
||||
navigating to your developer portfolio's public URL. Again, we've
|
||||
given you full control over what parts of your developer profile
|
||||
are public.
|
||||
</p>
|
||||
<h4>What is freeCodeCamp's Donor Privacy Policy?</h4>
|
||||
<p>
|
||||
@ -152,15 +153,15 @@ const PrivacyPolicyPage = () => {
|
||||
information with anyone outside of our nonprofit organization's
|
||||
team. Donors may choose to display that they are donating to
|
||||
freeCodeCamp on their freeCodeCamp profile. Otherwise, donor
|
||||
information will only be used to process donations and send
|
||||
email confirmations. This policy applies to any written, verbal,
|
||||
or electronic communication.
|
||||
information will only be used to process donations and send email
|
||||
confirmations. This policy applies to any written, verbal, or
|
||||
electronic communication.
|
||||
</p>
|
||||
<h4>Can any other organizations access my data?</h4>
|
||||
<p>
|
||||
We don't sell your data to anyone. In order to provide service
|
||||
to you, your data does pass through some other services. All of
|
||||
these companies are based in the United States.
|
||||
We don't sell your data to anyone. In order to provide service to
|
||||
you, your data does pass through some other services. All of these
|
||||
companies are based in the United States.
|
||||
</p>
|
||||
<p>
|
||||
We use Amazon Web Services, Azure, and mLab for our servers and
|
||||
@ -172,8 +173,8 @@ const PrivacyPolicyPage = () => {
|
||||
<Link to='https://privacy.microsoft.com/en-us/privacystatement'>
|
||||
Microsoft Azure
|
||||
</Link>
|
||||
, and <Link to='https://mlab.com/company/legal/privacy/'>mLab</Link>
|
||||
.
|
||||
, and{' '}
|
||||
<Link to='https://mlab.com/company/legal/privacy/'>mLab</Link>.
|
||||
</p>
|
||||
<p>
|
||||
We use Stripe and PayPal to process donations. You can read the
|
||||
@ -186,8 +187,8 @@ const PrivacyPolicyPage = () => {
|
||||
</p>
|
||||
<p>
|
||||
We use the CloudFlare and Netlify Content Delivery Networks so
|
||||
that freeCodeCamp is fast in all parts of the world. You can
|
||||
read the privacy policy for{' '}
|
||||
that freeCodeCamp is fast in all parts of the world. You can read
|
||||
the privacy policy for{' '}
|
||||
<Link to='https://www.cloudflare.com/privacypolicy/'>
|
||||
CloudFlare
|
||||
</Link>{' '}
|
||||
@ -202,9 +203,9 @@ const PrivacyPolicyPage = () => {
|
||||
.
|
||||
</p>
|
||||
<p>
|
||||
We use Google Analytics to help us understand the demographics
|
||||
of our community and how people are using freeCodeCamp. You can
|
||||
opt out of Google Analytics on freeCodeCamp by{' '}
|
||||
We use Google Analytics to help us understand the demographics of
|
||||
our community and how people are using freeCodeCamp. You can opt
|
||||
out of Google Analytics on freeCodeCamp by{' '}
|
||||
<Link to='https://tools.google.com/dlpage/gaoptout'>
|
||||
installing this browser plugin
|
||||
</Link>
|
||||
@ -218,14 +219,15 @@ const PrivacyPolicyPage = () => {
|
||||
For your convenience, we give you the option to sign in using
|
||||
GitHub, Google, or Facebook if you don't want to use your email
|
||||
address to sign in. If you choose to use one of these sign in
|
||||
options, some of your freeCodeCamp data will be shared with
|
||||
these companies. You can read{' '}
|
||||
options, some of your freeCodeCamp data will be shared with these
|
||||
companies. You can read{' '}
|
||||
<Link to='https://help.github.com/articles/github-privacy-statement/'>
|
||||
the privacy policy for GitHub
|
||||
</Link>{' '}
|
||||
and for <Link to='https://policies.google.com/privacy'>Google</Link>{' '}
|
||||
and for{' '}
|
||||
<Link to='https://www.facebook.com/policy.php'>Facebook</Link>.
|
||||
<Link to='https://policies.google.com/privacy'>Google</Link> and
|
||||
for <Link to='https://www.facebook.com/policy.php'>Facebook</Link>
|
||||
.
|
||||
</p>
|
||||
<h4>I have questions about my privacy on freeCodeCamp.</h4>
|
||||
<p>
|
||||
@ -237,13 +239,13 @@ const PrivacyPolicyPage = () => {
|
||||
</p>
|
||||
<h4>How can I find out about changes?</h4>
|
||||
<p>
|
||||
This version of freeCodeCamp’s privacy questions and answers
|
||||
took effect May 25, 2018.
|
||||
This version of freeCodeCamp’s privacy questions and answers took
|
||||
effect May 25, 2018.
|
||||
</p>
|
||||
<p>
|
||||
freeCodeCamp will announce the next version by email. In the
|
||||
meantime, freeCodeCamp may update its contact information in
|
||||
these questions and answers by updating this page
|
||||
meantime, freeCodeCamp may update its contact information in these
|
||||
questions and answers by updating this page
|
||||
(https://www.freecodecamp.org/privacy-policy).
|
||||
</p>
|
||||
<p>
|
||||
|
@ -10,11 +10,9 @@ import './sponsors.css';
|
||||
const SponsorsPage = () => {
|
||||
return (
|
||||
<Fragment>
|
||||
<Helmet
|
||||
title='Sponsors who help freeCodeCamp through financial and in-kind sponsorship | freeCodeCamp.org'
|
||||
/>
|
||||
<Helmet title='Sponsors who help freeCodeCamp through financial and in-kind sponsorship | freeCodeCamp.org' />
|
||||
<Spacer />
|
||||
<Grid className='container'>
|
||||
<Grid>
|
||||
<Row className='text-center'>
|
||||
<Col md={8} mdOffset={2} sm={10} smOffset={1} xs={12}>
|
||||
<h2>Financial Sponsors</h2>
|
||||
@ -23,20 +21,14 @@ const SponsorsPage = () => {
|
||||
</h3>
|
||||
<hr />
|
||||
<Row className='sponsor-logos'>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.class-central.com'
|
||||
>
|
||||
<Link to='https://www.class-central.com'>
|
||||
<img
|
||||
alt="Class Central's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
src='https://s3.amazonaws.com/freecodecamp/class-central-logo.jpg'
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.tsugicloud.org'
|
||||
>
|
||||
<Link to='https://www.tsugicloud.org'>
|
||||
<img
|
||||
alt="TsugiCloud's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
@ -48,30 +40,21 @@ const SponsorsPage = () => {
|
||||
<h3>These companies donate their services to freeCodeCamp.org</h3>
|
||||
<hr />
|
||||
<Row className='sponsor-logos'>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://netlify.com'
|
||||
>
|
||||
<Link to='https://netlify.com'>
|
||||
<img
|
||||
alt="Netlify's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
src='https://s3.amazonaws.com/freecodecamp/netlify-logo.jpg'
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.mlab.com/'
|
||||
>
|
||||
<Link to='https://www.mlab.com/'>
|
||||
<img
|
||||
alt="mLab's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
src='https://s3.amazonaws.com/freecodecamp/mLab-logo.png'
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://auth0.com'
|
||||
>
|
||||
<Link to='https://auth0.com'>
|
||||
<img
|
||||
alt="Auth0's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
@ -80,30 +63,21 @@ const SponsorsPage = () => {
|
||||
</Link>
|
||||
</Row>
|
||||
<Row className='sponsor-logos'>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://www.discourse.org/'
|
||||
>
|
||||
<Link to='https://www.discourse.org/'>
|
||||
<img
|
||||
alt="Discourse's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
src='https://s3.amazonaws.com/freecodecamp/discourse-logo.png'
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://algolia.com'
|
||||
>
|
||||
<Link to='https://algolia.com'>
|
||||
<img
|
||||
alt="Algolia's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
src='https://s3.amazonaws.com/freecodecamp/algolia-logo.jpg'
|
||||
/>
|
||||
</Link>
|
||||
<Link
|
||||
external={true}
|
||||
to='https://cloudflare.com'
|
||||
>
|
||||
<Link to='https://cloudflare.com'>
|
||||
<img
|
||||
alt="Cloudflare's logo"
|
||||
className='img-responsive sponsor-logo'
|
||||
|
@ -12,7 +12,7 @@ const SupportPage = () => {
|
||||
<Fragment>
|
||||
<Helmet title='Support | freeCodeCamp.org' />
|
||||
<Spacer />
|
||||
<Grid className='container'>
|
||||
<Grid>
|
||||
<Row>
|
||||
<Col
|
||||
className='questions'
|
||||
@ -30,13 +30,10 @@ const SupportPage = () => {
|
||||
</h4>
|
||||
<p>
|
||||
You have created a duplicate account.{' '}
|
||||
<Link to='/settings'>
|
||||
Sign out of your account
|
||||
</Link>{' '}
|
||||
and try signing in using a different service (Google, GitHub,
|
||||
Facebook) that you may have used to in the past. Or try signing in
|
||||
using an email address you may have used on freeCodeCamp in the
|
||||
past.
|
||||
<Link to='/settings'>Sign out of your account</Link> and try
|
||||
signing in using a different service (Google, GitHub, Facebook)
|
||||
that you may have used to in the past. Or try signing in using an
|
||||
email address you may have used on freeCodeCamp in the past.
|
||||
</p>
|
||||
<h4 id='faq_donation'>
|
||||
I set up a monthly donation, but I need to update or cancel the
|
||||
@ -68,17 +65,14 @@ const SupportPage = () => {
|
||||
freeCodeCamp. Thanks for your patience.
|
||||
</p>
|
||||
<h4>
|
||||
When I go to{' '}
|
||||
<Link to='/learn'>
|
||||
Learning Curriculum
|
||||
</Link>{' '}
|
||||
the challenges are completely blank.
|
||||
When I go to <Link to='/learn'>Learning Curriculum</Link> the
|
||||
challenges are completely blank.
|
||||
</h4>
|
||||
<p>
|
||||
Do a hard refresh of the website by pressing control+shift+r in
|
||||
Windows or command+shift+r on Mac/Linux. If that doesn't work, you
|
||||
may need to clear your cookies. Here is{' '}
|
||||
<Link to='/forum/t/205075'>
|
||||
<Link external={true} to='/forum/t/205075'>
|
||||
how to clear specific cookies
|
||||
</Link>
|
||||
.
|
||||
@ -89,7 +83,7 @@ const SupportPage = () => {
|
||||
</h4>
|
||||
<p>
|
||||
This is caused by an infinite loop in your code editor.{' '}
|
||||
<Link to='/forum/t/19550'>
|
||||
<Link external={true} to='/forum/t/19550'>
|
||||
Here's how to fix this
|
||||
</Link>
|
||||
.
|
||||
|
@ -12,7 +12,7 @@ const TermsOfServicePage = () => {
|
||||
<Fragment>
|
||||
<Helmet title='Terms of Service | freeCodeCamp.org' />
|
||||
<Spacer />
|
||||
<Grid className='container'>
|
||||
<Grid>
|
||||
<Row>
|
||||
<Col
|
||||
className='questions'
|
||||
@ -167,13 +167,11 @@ const TermsOfServicePage = () => {
|
||||
</p>
|
||||
<p>
|
||||
You may not strain infrastructure of the website with an
|
||||
unreasonable volume of requests, or requests designed to impose
|
||||
an unreasonable load on information systems underlying the
|
||||
website.
|
||||
unreasonable volume of requests, or requests designed to impose an
|
||||
unreasonable load on information systems underlying the website.
|
||||
</p>
|
||||
<p>
|
||||
You may not encourage or help anyone in violation of these
|
||||
terms.
|
||||
You may not encourage or help anyone in violation of these terms.
|
||||
</p>
|
||||
<p>You may not impersonate others through the website.</p>
|
||||
<h4 id='content-standards'>Content Standards</h4>
|
||||
@ -184,8 +182,8 @@ const TermsOfServicePage = () => {
|
||||
</p>
|
||||
<p>
|
||||
You may not submit content to the website that violates the law,
|
||||
infringes anyone’s intellectual property rights, violates
|
||||
anyone’s privacy, or breaches agreements you have with others.
|
||||
infringes anyone’s intellectual property rights, violates anyone’s
|
||||
privacy, or breaches agreements you have with others.
|
||||
</p>
|
||||
<p>
|
||||
You may not submit content to the website containing malicious
|
||||
@ -197,9 +195,8 @@ const TermsOfServicePage = () => {
|
||||
identifier.
|
||||
</p>
|
||||
<p>
|
||||
You may not use the website to disclose information that you
|
||||
don’t have the right to disclose, like others’ confidential
|
||||
information.
|
||||
You may not use the website to disclose information that you don’t
|
||||
have the right to disclose, like others’ confidential information.
|
||||
</p>
|
||||
<h4 id='enforcement'>Enforcement</h4>
|
||||
<p>
|
||||
@ -210,9 +207,9 @@ const TermsOfServicePage = () => {
|
||||
</p>
|
||||
<p>
|
||||
The company reserves the right to change, redact, and delete
|
||||
content on the website for any reason. If you believe someone
|
||||
has submitted content to the website in violation of these
|
||||
terms, please contact us immediately.
|
||||
content on the website for any reason. If you believe someone has
|
||||
submitted content to the website in violation of these terms,
|
||||
please contact us immediately.
|
||||
</p>
|
||||
<h4 id='your-account'>Your Account</h4>
|
||||
<p>
|
||||
@ -223,17 +220,17 @@ const TermsOfServicePage = () => {
|
||||
To create an account, you must provide some information about
|
||||
yourself. If you create an account, you agree to provide, at a
|
||||
minimum, a valid e-mail address, and to keep that address
|
||||
up-to-date. You may close your account at any time by logging
|
||||
into your account and clicking the button on your account
|
||||
settings page.
|
||||
up-to-date. You may close your account at any time by logging into
|
||||
your account and clicking the button on your account settings
|
||||
page.
|
||||
</p>
|
||||
<p>
|
||||
You agree to be responsible for all action taken using your
|
||||
account, whether authorized by you or not, until you either
|
||||
close your account or notify the company that your account has
|
||||
been compromised. You agree to notify the company immediately if
|
||||
you suspect your account has been compromised. You agree to
|
||||
select a secure password for your account, and keep it secret.
|
||||
account, whether authorized by you or not, until you either close
|
||||
your account or notify the company that your account has been
|
||||
compromised. You agree to notify the company immediately if you
|
||||
suspect your account has been compromised. You agree to select a
|
||||
secure password for your account, and keep it secret.
|
||||
</p>
|
||||
<p>
|
||||
The company may restrict, suspend, or close your account on the
|
||||
@ -246,32 +243,32 @@ const TermsOfServicePage = () => {
|
||||
Nothing in these terms gives the company any ownership rights in
|
||||
intellectual property that you share with the website, such as
|
||||
your account information or other content you submit to the
|
||||
website. Nothing in these terms gives you any ownership rights
|
||||
in the company’s intellectual property, either.
|
||||
website. Nothing in these terms gives you any ownership rights in
|
||||
the company’s intellectual property, either.
|
||||
</p>
|
||||
<p>
|
||||
Between you and the company, you remain solely responsible for
|
||||
content you submit to the website. You agree not to wrongly
|
||||
imply that content you submit to the website is sponsored or
|
||||
approved by the company. These terms do not obligate the company
|
||||
to store, maintain, or provide copies of content you submit.
|
||||
content you submit to the website. You agree not to wrongly imply
|
||||
that content you submit to the website is sponsored or approved by
|
||||
the company. These terms do not obligate the company to store,
|
||||
maintain, or provide copies of content you submit.
|
||||
</p>
|
||||
<p>
|
||||
Content you submit to the website belongs to you, and you decide
|
||||
what permission to give others for it. But at a minimum, you
|
||||
license the company to provide content that you submit to the
|
||||
website to other users of the website. That special license
|
||||
allows the company to copy, publish, and analyze content you
|
||||
submit to the website.
|
||||
website to other users of the website. That special license allows
|
||||
the company to copy, publish, and analyze content you submit to
|
||||
the website.
|
||||
</p>
|
||||
<p>
|
||||
When content you submit is removed from the website, whether by
|
||||
you or by the company, the company’s special license ends when
|
||||
the last copy disappears from the company’s backups, caches, and
|
||||
other systems. Other licenses you apply to content you submit
|
||||
may continue after your content is removed. Those licenses may
|
||||
give others, or the company itself, the right to share your
|
||||
content through the website again.
|
||||
you or by the company, the company’s special license ends when the
|
||||
last copy disappears from the company’s backups, caches, and other
|
||||
systems. Other licenses you apply to content you submit may
|
||||
continue after your content is removed. Those licenses may give
|
||||
others, or the company itself, the right to share your content
|
||||
through the website again.
|
||||
</p>
|
||||
<p>
|
||||
Others who receive content you submit to the website may violate
|
||||
@ -282,19 +279,18 @@ const TermsOfServicePage = () => {
|
||||
<h4 id='your-responsibility'>Your Responsibility</h4>
|
||||
<p>
|
||||
You agree to indemnify the company from legal claims by others
|
||||
related to your breach of these terms, or breach of these terms
|
||||
by others using your account on the website. Both you and the
|
||||
company agree to notify the other side of any legal claims for
|
||||
which you might have to indemnify the company as soon as
|
||||
possible. If the company fails to notify you of a legal claim
|
||||
promptly, you won’t have to indemnify the company for damages
|
||||
that you could have defended against or mitigated with prompt
|
||||
notice. You agree to allow the company to control investigation,
|
||||
defense, and settlement of legal claims for which you would have
|
||||
to indemnify the company, and to cooperate with those efforts.
|
||||
The company agrees not to agree to any settlement that admits
|
||||
fault for you or imposes obligations on you without your prior
|
||||
agreement.
|
||||
related to your breach of these terms, or breach of these terms by
|
||||
others using your account on the website. Both you and the company
|
||||
agree to notify the other side of any legal claims for which you
|
||||
might have to indemnify the company as soon as possible. If the
|
||||
company fails to notify you of a legal claim promptly, you won’t
|
||||
have to indemnify the company for damages that you could have
|
||||
defended against or mitigated with prompt notice. You agree to
|
||||
allow the company to control investigation, defense, and
|
||||
settlement of legal claims for which you would have to indemnify
|
||||
the company, and to cooperate with those efforts. The company
|
||||
agrees not to agree to any settlement that admits fault for you or
|
||||
imposes obligations on you without your prior agreement.
|
||||
</p>
|
||||
<h4 id='disclaimers'>Disclaimers</h4>
|
||||
<p>
|
||||
@ -306,19 +302,19 @@ const TermsOfServicePage = () => {
|
||||
The website may hyperlink to and integrate websites and services
|
||||
run by others. The company does not make any warranty about
|
||||
services run by others, or content they may provide. Use of
|
||||
services run by others may be governed by other terms between
|
||||
you and the one running service.
|
||||
services run by others may be governed by other terms between you
|
||||
and the one running service.
|
||||
</p>
|
||||
<h4 id='limits-on-liability'>Limits on Liability</h4>
|
||||
<p>
|
||||
The company will not be liable to you for breach-of-contract
|
||||
damages company personnel could not have reasonably foreseen
|
||||
when you agreed to these terms.
|
||||
damages company personnel could not have reasonably foreseen when
|
||||
you agreed to these terms.
|
||||
</p>
|
||||
<p>
|
||||
As far as the law allows, the company’s total liability to you
|
||||
for claims of any kind that are related to the website or
|
||||
content on the website will be limited to $50.
|
||||
As far as the law allows, the company’s total liability to you for
|
||||
claims of any kind that are related to the website or content on
|
||||
the website will be limited to $50.
|
||||
</p>
|
||||
<h4 id='feedback'>Feedback</h4>
|
||||
<p>
|
||||
@ -328,17 +324,16 @@ const TermsOfServicePage = () => {
|
||||
</p>
|
||||
<p>
|
||||
You agree that the company will be free to act on feedback and
|
||||
suggestions you provide, and that the company won’t have to
|
||||
notify you that your feedback was used, get your permission to
|
||||
use it, or pay you. You agree not to submit feedback or
|
||||
suggestions that you believe might be confidential or
|
||||
proprietary, to you or others.
|
||||
suggestions you provide, and that the company won’t have to notify
|
||||
you that your feedback was used, get your permission to use it, or
|
||||
pay you. You agree not to submit feedback or suggestions that you
|
||||
believe might be confidential or proprietary, to you or others.
|
||||
</p>
|
||||
<h4 id='termination'>Termination</h4>
|
||||
<p>
|
||||
Either you or the company may end the agreement written out in
|
||||
these terms at any time. When our agreement ends, your
|
||||
permission to use the website also ends.
|
||||
these terms at any time. When our agreement ends, your permission
|
||||
to use the website also ends.
|
||||
</p>
|
||||
<p>
|
||||
The following provisions survive the end of our agreement: Your
|
||||
@ -352,54 +347,52 @@ const TermsOfServicePage = () => {
|
||||
</p>
|
||||
<p>
|
||||
You and the company agree to seek injunctions related to these
|
||||
terms only in state or federal court in San Francisco,
|
||||
California. Neither you nor the company will object to
|
||||
jurisdiction, forum, or venue in those courts.
|
||||
terms only in state or federal court in San Francisco, California.
|
||||
Neither you nor the company will object to jurisdiction, forum, or
|
||||
venue in those courts.
|
||||
</p>
|
||||
<p>
|
||||
Other than to seek an injunction or for claims under the
|
||||
Computer Fraud and Abuse Act, you and the company will resolve
|
||||
any Dispute by binding American Arbitration Association
|
||||
arbitration. Arbitration will follow the AAA’s Commercial
|
||||
Arbitration Rules and Supplementary Procedures for Consumer
|
||||
Related Disputes. Arbitration will happen in San Francisco,
|
||||
California. You will settle any dispute as an individual, and
|
||||
not as part of a class action or other representative
|
||||
proceeding, whether as the plaintiff or a class member. No
|
||||
arbitrator will consolidate any dispute with any other
|
||||
arbitration without the company’s permission.
|
||||
Other than to seek an injunction or for claims under the Computer
|
||||
Fraud and Abuse Act, you and the company will resolve any Dispute
|
||||
by binding American Arbitration Association arbitration.
|
||||
Arbitration will follow the AAA’s Commercial Arbitration Rules and
|
||||
Supplementary Procedures for Consumer Related Disputes.
|
||||
Arbitration will happen in San Francisco, California. You will
|
||||
settle any dispute as an individual, and not as part of a class
|
||||
action or other representative proceeding, whether as the
|
||||
plaintiff or a class member. No arbitrator will consolidate any
|
||||
dispute with any other arbitration without the company’s
|
||||
permission.
|
||||
</p>
|
||||
<p>
|
||||
Any arbitration award will include costs of the arbitration,
|
||||
reasonable attorneys’ fees, and reasonable costs for witnesses.
|
||||
You or the company may enter arbitration awards in any court
|
||||
with jurisdiction.
|
||||
You or the company may enter arbitration awards in any court with
|
||||
jurisdiction.
|
||||
</p>
|
||||
<h4 id='general-terms'>General Terms</h4>
|
||||
<p>
|
||||
If a provision of these terms is unenforceable as written, but
|
||||
could be changed to make it enforceable, that provision should
|
||||
be modified to the minimum extent necessary to make it
|
||||
enforceable. Otherwise, that provision should be removed.
|
||||
could be changed to make it enforceable, that provision should be
|
||||
modified to the minimum extent necessary to make it enforceable.
|
||||
Otherwise, that provision should be removed.
|
||||
</p>
|
||||
<p>
|
||||
You may not assign your agreement with the company. The company
|
||||
may assign your agreement to any affiliate of the company, any
|
||||
other company that obtains control of the company, or any other
|
||||
company that buys assets of the company related to the website.
|
||||
Any attempted assignment against these terms has no legal
|
||||
effect.
|
||||
Any attempted assignment against these terms has no legal effect.
|
||||
</p>
|
||||
<p>
|
||||
Neither the exercise of any right under this Agreement, nor
|
||||
waiver of any breach of this Agreement, waives any other breach
|
||||
of this Agreement.
|
||||
Neither the exercise of any right under this Agreement, nor waiver
|
||||
of any breach of this Agreement, waives any other breach of this
|
||||
Agreement.
|
||||
</p>
|
||||
<p>
|
||||
These terms embody all the terms of agreement between you and
|
||||
the company about use of the website. These terms entirely
|
||||
replace any other agreements about your use of the website,
|
||||
written or not.
|
||||
These terms embody all the terms of agreement between you and the
|
||||
company about use of the website. These terms entirely replace any
|
||||
other agreements about your use of the website, written or not.
|
||||
</p>
|
||||
<h4 id='contact'>Contact</h4>
|
||||
<p>
|
||||
@ -408,22 +401,21 @@ const TermsOfServicePage = () => {
|
||||
</p>
|
||||
<p>
|
||||
The company may notify you under these terms using the e-mail
|
||||
address you provide for your account on the website, or by
|
||||
posting a message to the homepage of the website or your account
|
||||
page.
|
||||
address you provide for your account on the website, or by posting
|
||||
a message to the homepage of the website or your account page.
|
||||
</p>
|
||||
<h4 id='changes'>Changes</h4>
|
||||
<p>
|
||||
The company last updated these terms on May 25, 2018, and may
|
||||
update these terms again. The company will post all updates to
|
||||
the website. For updates that contain substantial changes, the
|
||||
company agrees to e-mail you, if you’ve created an account and
|
||||
provided a valid e-mail address. The company may also announce
|
||||
updates with special messages or alerts on the website.
|
||||
update these terms again. The company will post all updates to the
|
||||
website. For updates that contain substantial changes, the company
|
||||
agrees to e-mail you, if you’ve created an account and provided a
|
||||
valid e-mail address. The company may also announce updates with
|
||||
special messages or alerts on the website.
|
||||
</p>
|
||||
<p>
|
||||
Once you get notice of an update to these terms, you must agree
|
||||
to the new terms in order to keep using the website.
|
||||
Once you get notice of an update to these terms, you must agree to
|
||||
the new terms in order to keep using the website.
|
||||
</p>
|
||||
</Col>
|
||||
</Row>
|
||||
|
Reference in New Issue
Block a user