Skip to content

Commit 0d5eca7

Browse files
committed
Update training and formatting
1 parent 27a83e7 commit 0d5eca7

File tree

8 files changed

+58
-46
lines changed

8 files changed

+58
-46
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,17 @@
6969
},
7070
"devDependencies": {
7171
"now": "^16.7.0"
72+
},
73+
"browserslist": {
74+
"production": [
75+
">0.2%",
76+
"not dead",
77+
"not op_mini all"
78+
],
79+
"development": [
80+
"last 1 chrome version",
81+
"last 1 firefox version",
82+
"last 1 safari version"
83+
]
7284
}
7385
}

src/components/landing/AboveFold.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import scrollIntoView from 'scroll-into-view-if-needed'
77
import './AboveFold.css'
88
import LogoName from './LogoName'
99

10-
const scrollTo = selector => () => {
10+
const scrollTo = (selector) => () => {
1111
scrollIntoView(document.querySelector(selector), {
1212
behavior: 'smooth',
1313
block: 'start',
14-
inline: 'nearest'
14+
inline: 'nearest',
1515
})
1616
}
1717

@@ -42,11 +42,6 @@ const AboveFold = () => (
4242
Get the beta
4343
</Button>
4444
</div>
45-
<div className="AboveFold-format-list">
46-
<Typography variant="caption">
47-
* Beta chapters available in PDF, ePub, and Kindle.
48-
</Typography>
49-
</div>
5045
</div>
5146
</div>
5247
</div>

src/components/landing/Authors.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@ const Authors = () => (
1515
twitter="jeresig"
1616
avatar="//res.cloudinary.com/graphql/jeresig.jpg"
1717
>
18-
John is a JavaScript expert. He created jQuery and works as a Frontend
19-
Architect at Khan Academy. Seven years ago, he stepped back from jQuery
20-
and wrote his last book. He's been exploring the power of GraphQL and is
21-
convinced that it's the future of API development.
18+
John is a JavaScript expert. He created jQuery and is Chief Software
19+
Architect at Khan Academy. Eight years ago, he stepped back from jQuery
20+
and wrote his last book. Hes been exploring the power of GraphQL and is
21+
convinced that its the future of API development.
2222
</Author>
2323

2424
<Author
2525
name="Loren Sands-Ramshaw"
2626
twitter="lorendsr"
2727
avatar="//res.cloudinary.com/graphql/loren.png"
2828
>
29-
Loren is a freelancer who loves teaching and writing. He has worked on
30-
Apollo and the Meteor Guide, coded full-stack web and mobile apps for
31-
eight years, founded startups, and TA'ed Computer Science courses at
32-
Dartmouth.
29+
Loren is a consultant who loves teaching and writing. He has worked on
30+
Apollo and the Meteor Guide, built full-stack web and mobile apps for
31+
over a decade, founded startups, and TAed many Computer Science courses
32+
at Dartmouth.
3333
</Author>
3434
</div>
3535
</section>

src/components/landing/Package.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const Package = ({
2121
updatePeriod,
2222
extraChapters,
2323
videos,
24-
children
24+
children,
2525
}) => {
2626
const packageInfo = getPackage({ basic, pro, full, training, team })
2727
const { price, name } = packageInfo
@@ -45,7 +45,7 @@ const Package = ({
4545
</li>
4646
<li>Early access to the book in PDF, ePub, and Kindle formats</li>
4747
<hr />
48-
<li>The book's Git repositories, with branches for each section</li>
48+
<li>The books Git repositories, with branches for each section</li>
4949
{full && (
5050
<div>
5151
<hr />
@@ -119,7 +119,7 @@ const Package = ({
119119
<div className={classNames('Package-feature-list', { full })}>
120120
{pro ? 'Extra chapters:' : 'More extra chapters:'}
121121
</div>
122-
{extraChapters.map(chapter => (
122+
{extraChapters.map((chapter) => (
123123
<div className="Package-extra-item" key={chapter}>
124124
{chapter}
125125
</div>
@@ -134,7 +134,7 @@ const Package = ({
134134
<div className={classNames('Package-feature-list', { full })}>
135135
{pro ? 'Videos:' : 'More videos:'}
136136
</div>
137-
{videos.map(video => (
137+
{videos.map((video) => (
138138
<div className="Package-extra-item" key={video}>
139139
{video}
140140
</div>
@@ -148,7 +148,7 @@ const Package = ({
148148
return (
149149
<Paper
150150
className={classNames('Package', color, name.toLowerCase(), {
151-
recommended
151+
recommended,
152152
})}
153153
elevation={10}
154154
>

src/components/landing/Paypal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const Paypal = ({ user, login, loading, location, match }) => {
5252
</div>
5353
<p>
5454
<b>Step 3: </b>
55-
Within a day or two, we'll manually add the package you bought to your
55+
Within a day or two, well manually add the package you bought to your
5656
user record in the database.
5757
</p>
5858
</div>

src/components/landing/Pricing.js

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const Pricing = () => (
3131
'Server-side rendering',
3232
'Offline data and mutations',
3333
'Serverless',
34-
'Stripe integration'
34+
'Stripe integration',
3535
]}
3636
videos={['Meet the authors', 'Introduction to the codebases']}
3737
/>
@@ -49,31 +49,34 @@ const Pricing = () => (
4949
'Using the GitHub GraphQL API',
5050
'Schema stitching',
5151
'Rate limiting',
52-
'Caching with Redis'
52+
'Caching with Redis',
5353
]}
5454
videos={[
5555
'Code run-throughs of Chapters 6–11',
56-
'Interview with TBD interesting person'
56+
'Interview with TBD interesting person',
5757
]}
5858
/>
5959
<Package training price="749" color="blue">
60+
<li>Everything in the Full edition, plus a day-long training course</li>
61+
<hr />
6062
<li>
61-
Everything in the Full edition, plus a day-long in-person training
62-
course
63+
Choose between three courses: Intro to GraphQL, Intro to Fullstack
64+
Apollo, and Advanced Dev. All use JavaScript (React & Node).
6365
</li>
6466
<hr />
65-
<li>Choose between the beginner course and the advanced course</li>
66-
<hr />
67-
<li>Full-stack JavaScript (React & Node)</li>
67+
<li>
68+
Advanced course topics include auth, subscriptions, caching, batching,
69+
and federation
70+
</li>
6871
<hr />
6972
<li>
70-
Advanced course topics include SSR, subscriptions, DataLoader, and
71-
Apollo Engine
73+
Taught by Eve and Alex, our excellent education partners at Moon
74+
Highway
7275
</li>
7376
<hr />
7477
<li>
75-
Once we get 15 signups in your area, we'll schedule a time to come to
76-
you. (Alternatively, your company can sponsor a training:{' '}
78+
Offered periodically online (Alternatively, your company can sponsor
79+
and schedule a training:{' '}
7780
<a href="mailto:[email protected]">[email protected]</a>)
7881
</li>
7982
</Package>
@@ -85,7 +88,7 @@ const Pricing = () => (
8588
updates during the beta).
8689
</div>
8790
<div className="Pricing-note">
88-
<sup>2</sup> Free updates for the lifetime of the book. We'll keep it up
91+
<sup>2</sup> Free updates for the lifetime of the book. Well keep it up
8992
to date for at least 4 years, but we hope to continue for as long as
9093
GraphQL is the best data-fetching system out there. (Which is probably a
9194
long time—REST has been around for {REST_LIFESPAN} years!)
@@ -97,7 +100,7 @@ const Pricing = () => (
97100
Get a 30% discount over individual pricing by ordering a group license
98101
for your team. With a team license, five coworkers will get access to
99102
the Full edition.
100-
</li>{' '}
103+
</li>
101104
<hr />
102105
<li>
103106
We can also arrange a day or two of on-site training for your company.

src/components/landing/Topics.js

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,47 +17,47 @@ const topics = [
1717
icon: faChalkboardTeacher,
1818
title: 'Beginner introduction',
1919
text:
20-
'We start out in Chapter 1 by introducing the basics of GraphQL in contrast to REST. Then in Chapters 2–4 we go through the whole GraphQL specification from its basic building blocks. We also have an extensive Background chapter that covers everything from JSON to HTTP to server-side rendering.'
20+
'We start out in Chapter 1 by introducing the basics of GraphQL in contrast to REST. Then in Chapters 2–4 we go through the whole GraphQL specification from its basic building blocks. We also have an extensive Background chapter that covers everything from JSON to HTTP to server-side rendering.',
2121
},
2222
{
2323
icon: faGraduationCap,
2424
title: 'Advanced topics',
2525
text:
26-
'In the client chapters, we cover topics like infinite scrolling, local state, performance, and working offline. In our server chapter we cover seven data sources, including Elasticsearch, Rethink, and Prisma. We also cover security and various performance improvements.'
26+
'In the client chapters, we cover topics like infinite scrolling, local state, performance, and working offline. In our server chapter we cover seven data sources, including Elasticsearch, Rethink, and Prisma. We also cover security and various performance improvements.',
2727
},
2828
{
2929
icon: faDesktop,
3030
title: 'Frontend',
31-
text: `Chapters 5–10 are all about the client. You can make an HTTP request to a GraphQL API from anywhere, or you can use an advanced client library with automatic caching and view layer integration. We have chapters on React, Vue, React Native, iOS, and Android.`
31+
text: `Chapters 5–10 are all about the client. You can make an HTTP request to a GraphQL API from anywhere, or you can use an advanced client library with automatic caching and view layer integration. We have chapters on React, Vue, React Native, iOS, and Android.`,
3232
},
3333
{
3434
icon: faServer,
3535
title: 'Backend',
36-
text: `If you're a backend dev, we've got you covered. Chapter 11 is our longest chapter, and it goes through all the server topics you could want: server structure, connecting to different databases and APIs, subscriptions, authentication, authorization, caching, testing, and more.`
36+
text: `If youre a backend dev, weve got you covered. Chapter 11 is our longest chapter, and it goes through all the server topics you could want: server structure, connecting to different databases and APIs, subscriptions, authentication, authorization, caching, testing, and more.`,
3737
},
3838
{
3939
icon: faReact,
4040
title: 'React',
4141
text:
42-
'React is becoming the lingua franca of modern web dev, so this is our longest client chapter. We go through everything in the React Apollo library, including the render prop API, the HOC API, managing local state, subscriptions, optimistic updates, error handling, pagination, persisting, SSR, and more.'
42+
'React is becoming the lingua franca of modern web dev, so this is our longest client chapter. We go through everything in the React Apollo library, including the render prop API, the HOC API, managing local state, subscriptions, optimistic updates, error handling, pagination, persisting, SSR, and more.',
4343
},
4444
{
4545
icon: faVuejs,
4646
title: 'Vue',
4747
text:
48-
'From getting set up to implementing infinite scroll, our Vue chapter teaches the Apollo Vue library. Add a provider to your root component, add a query when creating a component, and access the loading state and response data in the template. Or use the ApolloQuery component directly in your template.'
48+
'From getting set up to implementing infinite scroll, our Vue chapter teaches the Apollo Vue library. Add a provider to your root component, add a query when creating a component, and access the loading state and response data in the template. Or use the ApolloQuery component directly in your template.',
4949
},
5050
{
5151
icon: faAppStoreIos,
5252
title: 'iOS',
53-
text: `In addition to our React Native chapter, we also have a native iOS chapter that uses the Apollo iOS Swift client. Get your query and mutation results in query-specific Swift types, and access an automatically managed cache of data that you've fetched previously.`
53+
text: `In addition to our React Native chapter, we also have a native iOS chapter that uses the Apollo iOS Swift client. Get your query and mutation results in query-specific Swift types, and access an automatically managed cache of data that youve fetched previously.`,
5454
},
5555
{
5656
icon: faAndroid,
5757
title: 'Android',
5858
text:
59-
'In addition to our React Native chapter, we also have a native Android chapter based on the Apollo-Android library. Get typed Java models generated from your queries and mutations, make your own custom scalars, save query responses in the cache, or get RxJava Observables.'
60-
}
59+
'In addition to our React Native chapter, we also have a native Android chapter based on the Apollo-Android library. Get typed Java models generated from your queries and mutations, make your own custom scalars, save query responses in the cache, or get RxJava Observables.',
60+
},
6161
]
6262

6363
const Topic = ({ icon, title, text }) => (
@@ -78,7 +78,9 @@ const Topics = () => (
7878
</Typography>
7979

8080
<div className="Topics-list">
81-
{topics.map((topic, i) => <Topic {...topic} key={i} />)}
81+
{topics.map((topic, i) => (
82+
<Topic {...topic} key={i} />
83+
))}
8284
</div>
8385
</section>
8486
)

0 commit comments

Comments
 (0)