Browse Source

Update team pages (#5329)

* [wip] update team page

* Update old site and alumni

* Add more team members

* Update old page too

* Shrink images

* Add remaining people on updated team pages (#5327)

* updates

* remove active members from acknowledgements

* mobile styles for social/links

* update jason image

* clarify Jasons role

* image alt text

* Move all content into <TeamMember> incl headers

* icon for personal site links

* update TOC to extract beyond top-level elements

* cleanup

* github link should...point to github. oops

* this can no longer be described as a small team

* Update beta/src/content/learn/meet-the-team.md

* Update content/community/team.md

Co-authored-by: Sathya Gunasekaran <gsathya.ceg@gmail.com>

Co-authored-by: Rick Hanlon <rickhanlonii@fb.com>
Co-authored-by: lauren <poteto@users.noreply.github.com>
Co-authored-by: Sathya Gunasekaran <gsathya.ceg@gmail.com>
main
Joseph Savona 2 years ago
committed by GitHub
parent
commit
e544ae482c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. BIN
      beta/public/images/team/acdlite.jpg
  2. BIN
      beta/public/images/team/bvaughn.jpg
  3. BIN
      beta/public/images/team/gaearon.jpg
  4. BIN
      beta/public/images/team/huxpro.jpg
  5. BIN
      beta/public/images/team/jasonbonta.jpg
  6. BIN
      beta/public/images/team/joe.jpg
  7. BIN
      beta/public/images/team/josh.jpg
  8. BIN
      beta/public/images/team/lauren.jpg
  9. BIN
      beta/public/images/team/lunaruan.jpg
  10. BIN
      beta/public/images/team/mofei-zhang.png
  11. BIN
      beta/public/images/team/necolas.jpg
  12. BIN
      beta/public/images/team/rickhanlonii.jpg
  13. BIN
      beta/public/images/team/rnabors.jpg
  14. BIN
      beta/public/images/team/salazarm.jpeg
  15. BIN
      beta/public/images/team/sam.jpg
  16. BIN
      beta/public/images/team/sathya.jpg
  17. BIN
      beta/public/images/team/sebmarkbage.jpg
  18. BIN
      beta/public/images/team/sebsilbermann.jpg
  19. 0
      beta/public/images/team/seth.jpg
  20. BIN
      beta/public/images/team/sophiebits.jpg
  21. BIN
      beta/public/images/team/threepointone.jpg
  22. BIN
      beta/public/images/team/tianyu.jpg
  23. BIN
      beta/public/images/team/trueadm.jpg
  24. 25
      beta/src/components/Icon/IconLink.tsx
  25. 2
      beta/src/components/MDX/MDXComponents.tsx
  26. 98
      beta/src/components/MDX/TeamMember.tsx
  27. 5
      beta/src/content/learn/acknowledgements.md
  28. 116
      beta/src/content/learn/meet-the-team.md
  29. 72
      beta/src/utils/prepareMDX.js
  30. 112
      content/community/team.md
  31. BIN
      content/images/team/acdlite.jpg
  32. BIN
      content/images/team/bvaughn.jpg
  33. BIN
      content/images/team/gaearon.jpg
  34. BIN
      content/images/team/huxpro.jpg
  35. BIN
      content/images/team/jasonbonta.jpg
  36. BIN
      content/images/team/joe.jpg
  37. BIN
      content/images/team/josh.jpg
  38. BIN
      content/images/team/lauren.jpg
  39. BIN
      content/images/team/lunaruan.jpg
  40. BIN
      content/images/team/mofei-zhang.png
  41. BIN
      content/images/team/necolas.jpg
  42. BIN
      content/images/team/rickhanlonii.jpg
  43. BIN
      content/images/team/rnabors.jpg
  44. BIN
      content/images/team/salazarm.jpeg
  45. BIN
      content/images/team/sam.jpg
  46. BIN
      content/images/team/sathya.jpg
  47. BIN
      content/images/team/sebmarkbage.jpg
  48. BIN
      content/images/team/sebsilbermann.jpg
  49. 0
      content/images/team/seth.jpg
  50. BIN
      content/images/team/sophiebits.jpg
  51. BIN
      content/images/team/threepointone.jpg
  52. BIN
      content/images/team/tianyu.jpg
  53. BIN
      content/images/team/trueadm.jpg

BIN
beta/public/images/team/acdlite.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 MiB

After

Width:  |  Height:  |  Size: 111 KiB

BIN
beta/public/images/team/bvaughn.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 KiB

BIN
beta/public/images/team/gaearon.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 KiB

After

Width:  |  Height:  |  Size: 78 KiB

BIN
beta/public/images/team/huxpro.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 KiB

BIN
beta/public/images/team/jasonbonta.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

BIN
beta/public/images/team/joe.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
beta/public/images/team/josh.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

BIN
beta/public/images/team/lauren.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
beta/public/images/team/lunaruan.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 KiB

After

Width:  |  Height:  |  Size: 150 KiB

BIN
beta/public/images/team/mofei-zhang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
beta/public/images/team/necolas.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

BIN
beta/public/images/team/rickhanlonii.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 116 KiB

BIN
beta/public/images/team/rnabors.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

BIN
beta/public/images/team/salazarm.jpeg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

BIN
beta/public/images/team/sam.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
beta/public/images/team/sathya.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
beta/public/images/team/sebmarkbage.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 89 KiB

BIN
beta/public/images/team/sebsilbermann.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

0
beta/public/images/team/sethwebster.jpg → beta/public/images/team/seth.jpg

Before

Width:  |  Height:  |  Size: 301 KiB

After

Width:  |  Height:  |  Size: 301 KiB

BIN
beta/public/images/team/sophiebits.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

BIN
beta/public/images/team/threepointone.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 KiB

BIN
beta/public/images/team/tianyu.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
beta/public/images/team/trueadm.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

25
beta/src/components/Icon/IconLink.tsx

@ -0,0 +1,25 @@
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*/
import {memo} from 'react';
export const IconLink = memo<JSX.IntrinsicElements['svg']>(function IconLink(
props
) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1.33em"
height="1.33em"
viewBox="0 -2 24 24"
fill="currentColor"
{...props}>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244"
/>
</svg>
);
});

2
beta/src/components/MDX/MDXComponents.tsx

@ -29,6 +29,7 @@ import {IconNavArrow} from '../Icon/IconNavArrow';
import ButtonLink from 'components/ButtonLink';
import {TocContext} from './TocContext';
import type {Toc, TocItem} from './TocContext';
import {TeamMember} from './TeamMember';
function CodeStep({children, step}: {children: any; step: number}) {
return (
@ -398,6 +399,7 @@ export const MDXComponents = {
Recap,
Recipes,
Sandpack,
TeamMember,
TerminalBlock,
YouWillLearn,
YouWillLearnCard,

98
beta/src/components/MDX/TeamMember.tsx

@ -0,0 +1,98 @@
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*/
import * as React from 'react';
import Image from 'next/image';
import {IconTwitter} from '../Icon/IconTwitter';
import {IconGitHub} from '../Icon/IconGitHub';
import {ExternalLink} from '../ExternalLink';
import {IconNewPage} from 'components/Icon/IconNewPage';
import {H3} from './Heading';
import {IconLink} from 'components/Icon/IconLink';
interface TeamMemberProps {
name: string;
title: string;
permalink: string;
children: React.ReactNode;
photo: string;
twitter?: string;
github?: string;
personal?: string;
}
// TODO: good alt text for images/links
export function TeamMember({
name,
title,
permalink,
children,
photo,
github,
twitter,
personal,
}: TeamMemberProps) {
if (name == null || title == null || permalink == null || children == null) {
throw new Error(
'Expected name, title, permalink, and children for ' + name ??
title ??
permalink ??
'unknown'
);
}
return (
<div className="pb-6 sm:pb-10">
<div className="flex flex-col sm:flex-row height-auto">
<div
className="hidden sm:block basis-2/5 rounded overflow-hidden relative"
style={{width: 300, height: 250}}>
<Image src={photo} layout="fill" objectFit="cover" alt={name} />
</div>
<div
style={{minHeight: 300}}
className="block w-full sm:hidden flex-grow basis-2/5 rounded overflow-hidden relative">
<Image src={photo} layout="fill" objectFit="cover" alt={name} />
</div>
<div className="pl-0 sm:pl-6 basis-3/5 items-start">
<H3 className="mb-1 sm:my-0" id={permalink}>
{name}
</H3>
{title && <div>{title}</div>}
{children}
<div className="sm:flex sm:flex-row">
{twitter && (
<div className="mr-4">
<ExternalLink
aria-label="React on Twitter"
href={`https://twitter.com/${twitter}`}
className="hover:text-primary dark:text-primary-dark flex flex-row items-center">
<IconTwitter className="pr-2" />
{twitter}
</ExternalLink>
</div>
)}
{github && (
<div className="mr-4">
<ExternalLink
aria-label="GitHub Profile"
href={`https://github.com/${github}`}
className="hover:text-primary dark:text-primary-dark flex flex-row items-center">
<IconGitHub className="pr-2" /> {github}
</ExternalLink>
</div>
)}
{personal && (
<ExternalLink
aria-label="Personal Site"
href={`https://${personal}`}
className="hover:text-primary dark:text-primary-dark flex flex-row items-center">
<IconLink className="pr-2" /> {personal}
</ExternalLink>
)}
</div>
</div>
</div>
</div>
);
}

5
beta/src/content/learn/acknowledgements.md

@ -17,6 +17,7 @@ We'd like to recognize a few people who have made significant contributions to R
* [Alex Krolick](https://github.com/alexkrolick)
* [Alexey Pyltsyn](https://github.com/lex111)
* [Brandon Dail](https://github.com/aweary)
* [Brian Vaughn](https://github.com/bvaughn)
* [Caleb Meredith](https://github.com/calebmer)
* [Chang Yan](https://github.com/cyan33)
* [Cheng Lou](https://github.com/chenglou)
@ -33,19 +34,23 @@ We'd like to recognize a few people who have made significant contributions to R
* [Joe Critchley](https://github.com/joecritch)
* [Jeff Morrison](https://github.com/jeffmo)
* [Keyan Zhang](https://github.com/keyz)
* [Marco Salazar](https://github.com/salazarm)
* [Nat Alison](https://github.com/tesseralis)
* [Nathan Hunzaker](https://github.com/nhunzaker)
* [Nicolas Gallagher](https://github.com/necolas)
* [Paul O'Shannessy](https://github.com/zpao)
* [Pete Hunt](https://github.com/petehunt)
* [Philipp Spiess](https://github.com/philipp-spiess)
* [Rachel Nabors](https://github.com/rachelnabors)
* [Robert Zhang](https://github.com/robertzhidealx)
* [Sander Spies](https://github.com/sanderspies)
* [Sasha Aickin](https://github.com/aickin)
* [Seth Webster](https://github.com/sethwebster)
* [Sophia Shoemaker](https://github.com/mrscobbler)
* [Sophie Alpert](https://github.com/sophiebits)
* [Sunil Pai](https://github.com/threepointone)
* [Tim Yung](https://github.com/yungsters)
* [Xuan Huang](https://github.com/huxpro)
* [Yuzhi Zheng](https://github.com/yuzhi)
This list is not exhaustive.

116
beta/src/content/learn/meet-the-team.md

@ -3,7 +3,7 @@
<Intro>
React development is led by a small dedicated team working full time at Facebook. It also receives contributions from people all over the world.
React development is led by a dedicated team working full time at Meta. It also receives contributions from people all over the world.
</Intro>
@ -13,85 +13,73 @@ The React Core team members work full time on the core component APIs, the engin
Current members of the React team are listed in alphabetical order below.
### Andrew Clark {/*andrew-clark*/}
<TeamMember name="Andrew Clark" permalink="andrew-clark" photo="/images/team/acdlite.jpg" github="acdlite" twitter="acdlite" title="Engineer at Meta">
Andrew got started with web development by making sites with WordPress, and eventually tricked himself into doing JavaScript. His favorite pastime is karaoke. Andrew is either a Disney villain or a Disney princess, depending on the day.
</TeamMember>
![Andrew Clark](../images/team/acdlite.jpg)
<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov" title="Engineer at Meta">
Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends.
</TeamMember>
[@acdlite on GitHub](https://github.com/acdlite) &middot; [@acdlite on Twitter](https://twitter.com/acdlite)
<TeamMember name="Jason Bonta" permalink="jason-bonta" photo="/images/team/jasonbonta.jpg" title="Engineering Manager at Meta">
Jason likes having large volumes of Amazon packages delivered to the office so that he can build forts. Despite literally walling himself off from his team at times and not understanding how for-of loops work, we appreciate him for the unique qualities he brings to his work.
</TeamMember>
Andrew got started with web development by making sites with WordPress, and eventually tricked himself into doing JavaScript. His favorite pastime is karaoke. Andrew is either a Disney villain or a Disney princess, depending on the day.
<TeamMember name="Joe Savona" permalink="joe-savona" photo="/images/team/joe.jpg" github="josephsavona" twitter="en_JS" title="Engineer at Meta">
Joe was planning to major in math and philosophy but got into computer science after writing physics simulations in Matlab. Prior to React, he worked on Relay, RSocket.js, and the Skip programming language. While he’s not building some sort of reactive system he enjoys running, studying Japanese, and spending time with his family.
</TeamMember>
### Brian Vaughn {/*brian-vaughn*/}
<TeamMember name="Josh Story" permalink="josh-story" photo="/images/team/josh.jpg" github="gnoff" twitter="joshcstory" title="Engineer at Vercel">
Josh majored in Mathematics and discovered programming while in college. His first professional developer job was to program insurance rate calculations in Microsoft Excel, the paragon of Reactive Programming which must be why he now works on React. In between that time Josh has been an IC, Manager, and Executive at a few startups. outside of work he likes to push his limits with cooking.
</TeamMember>
![Brian Vaughn](../images/team/bvaughn.jpg)
<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" personal="no.lol" title="Engineer at Meta">
Lauren’s programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. When she’s not adding bugs into React, she enjoys dropping cheeky memes in chat, and playing all too many video games with her partner and dog Zelda.
</TeamMember>
[@bvaughn on GitHub](https://github.com/bvaughn) &middot; [@brian\_d\_vaughn on Twitter](https://twitter.com/brian_d_vaughn)
<TeamMember name="Luna Ruan" permalink="luna-ruan" photo="/images/team/lunaruan.jpg" github="lunaruan" twitter="lunaruan" title="Engineer at Meta">
Luna learned programming because she thought it meant creating video games. Instead, she ended up working on the Pinterest web app, and now on React itself. Luna doesn't want to make video games anymore, but she plans to do creative writing if she ever gets bored.
</TeamMember>
Brian studied art in college and did programming on the side to pay for his education. Eventually, he realized that he enjoys working on open source. Brian has one [one-person band](https://soundcloud.com/brianvaughn/) and two [two-person](https://soundcloud.com/pilotlessdrone) [bands.](https://soundcloud.com/pinwurm) He also takes care of the cutest cat in the world.
<TeamMember name="Mofei Zhang" permalink="mofei-zhang" photo="/images/team/mofei-zhang.png" github="mofeiZ" title="Engineer at Meta">
Mofei started programming when she realized it can help her cheat in video games. She focused on operating systems in undergrad / grad school, but now finds herself happily tinkering on React. Outside of work, she enjoys debugging bouldering problems and planning her next backpacking trip(s).
</TeamMember>
### Dan Abramov {/*dan-abramov*/}
<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" personal="rickhanlon.codes" title="Engineer at Meta">
Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template.
</TeamMember>
![Dan Abramov](../images/team/gaearon.jpg)
<TeamMember name="Samuel Susla" permalink="samuel-susla" photo="/images/team/sam.jpg" github="sammy-SC" twitter="SamuelSusla" title="Engineer at Meta">
Samuel’s interest in programming started with the movie Matrix. He still has Matrix screen saver. Before working on React, he was focused on writing iOS apps. Outside of work, Samuel enjoys playing beach volleyball, squash, badminton and spending time with his family.
</TeamMember>
[@gaearon on GitHub](https://github.com/gaearon) &middot; [@dan_abramov on Twitter](https://twitter.com/dan_abramov)
<TeamMember name="Sathya Gunasekaran " permalink="sathya-gunasekaran" photo="/images/team/sathya.jpg" github="gsathya" twitter="_gsathya" title="Engineer at Meta">
Sathya hated the Dragon Book in school but somehow ended up working on compilers all his career. When he's not compiling React components, he's either drinking coffee or eating yet another Dosa.
</TeamMember>
Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends.
<TeamMember name="Sebastian Markbåge" permalink="sebastian-markbåge" photo="/images/team/sebmarkbage.jpg" github="sebmarkbage" twitter="sebmarkbage" title="Engineer at Vercel">
Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React.
</TeamMember>
### Luna Ruan {/*luna-ruan*/}
<TeamMember name="Sebastian Silbermann" permalink="sebastian-silbermann" photo="/images/team/sebsilbermann.jpg" github="eps1lon" twitter="sebsilbermann" title="Independent Engineer">
Sebastian learned programming to make the browser games he played during class more enjoyable. Eventually this lead to contributing to as much open source code as possible. Outside of coding he's busy making sure people don't confuse him with the other Sebastians and Zilberman of the React community.
</TeamMember>
![Luna](../images/team/lunaruan.jpg)
<TeamMember name="Seth Webster" permalink="seth-webster" photo="/images/team/seth.jpg" github="sethwebster" twitter="sethwebster" personal="sethwebster.com" title="Engineering Manager at Meta">
Seth started programming as a kid growing up in Tucson, AZ. After school, he was bitten by the music bug and was a touring musician for about 10 years before returning to *work*, starting with Intuit. In his spare time, he loves [taking pictures](https://www.sethwebster.com) and flying for animal rescues in the northeastern United States.
</TeamMember>
[@lunaruan on GitHub](https://github.com/lunaruan) &middot; [@lunaruan on Twitter](https://twitter.com/lunaruan)
<TeamMember name="Sophie Alpert" permalink="sophie-alpert" photo="/images/team/sophiebits.jpg" github="sophiebits" twitter="sophiebits" personal="sophiebits.com" title="Independent Engineer">
Four days after React was released, Sophie rewrote the entirety of her then-current project to use it, which she now realizes was perhaps a bit reckless. After she became the project's #1 committer, she wondered why she wasn't getting paid by Facebook like everyone else was and joined the team officially to lead React through its adolescent years. Though she quit that job years ago, somehow she's still in the team's group chats and “providing value”.
</TeamMember>
Luna learned programming because she thought it meant creating video games. Instead, she ended up working on the Pinterest web app, and now on React itself. Luna doesn't want to make video games anymore, but she plans to do creative writing if she ever gets bored.
<TeamMember name="Tianyu Yao" permalink="tianyu-yao" photo="/images/team/tianyu.jpg" github="tyao1" twitter="tianyu0" title="Engineer at Meta">
Tianyu’s interest in computers started as a kid because he loves video games. So he majored in computer science and still plays childish games like League of Legends. When he is not in front of a computer, he enjoys playing with his two kittens, hiking and kayaking.
</TeamMember>
### Marco Salazar {/*marco-salazar*/}
![Marco](../images/team/salazarm.jpeg)
[@salazarm on GitHub](https://github.com/salazarm) &middot; [@BkOptimism on Twitter](https://twitter.com/BkOptimism)
Marco's first programming language was Assembly because he could use it to hack video games. Now online games are much more secure so he settles for playing fairly (mostly). In his spare time he plays games on his treadmill desk and makes art that he never finishes. Hopefully his PRs don't have the same fate.
### Rachel Nabors {/*rachel-nabors*/}
![Rachel](../images/team/rnabors.jpg)
[@rachelnabors on GitHub](https://github.com/rachelnabors) &middot; [@rachelnabors on Twitter](https://twitter.com/rachelnabors)
Rachel wrote a [book about UI animation](https://abookapart.com/products/animation-at-work) once and worked with MDN and the W3C on the web animations API. Now she is busy with education materials and community engineering on the React team. Secretly, she is an award-winning cartoonist for teenage girls. Catch her making fancy tea with lukewarm water in the microkitchen.
### Rick Hanlon {/*rick-hanlon*/}
![Ricky](../images/team/rickhanlonii.jpg)
[@rickhanlonii on GitHub](https://github.com/rickhanlonii) &middot; [@rickhanlonii on Twitter](https://twitter.com/rickhanlonii)
Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template.
### Sebastian Markbåge {/*sebastian-markbåge*/}
![Sebastian](../images/team/sebmarkbage.jpg)
[@sebmarkbage on GitHub](https://github.com/sebmarkbage) &middot; [@sebmarkbage on Twitter](https://twitter.com/sebmarkbage)
Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React.
### Seth Webster {/*seth-webster*/}
![Seth](../images/team/sethwebster.jpg)
[@sethwebster on GitHub](https://github.com/sethwebster) &middot; [@sethwebster on Twitter](https://twitter.com/sethwebster)
Seth started programming as a kid growing up in Tucson, AZ. After school, he was bitten by the music bug and was a touring musician for about 10 years before returning to *work*, starting with Intuit. In his spare time, he loves [taking pictures](https://www.sethwebster.com) and flying for animal rescues in the northeastern United States.
### Xuan Huang {/*xuan-huang*/}
![Xuan](../images/team/huxpro.jpg)
[@huxpro on GitHub](https://github.com/huxpro) &middot; [@huxpro on Twitter](https://twitter.com/huxpro)
Xuan met with programming in childhood to make games in Flash. He did digital media arts in college but eventually got tricked into making compilers, and somehow React needs one. Out of work, he pours terrible latte arts and plays tennis either on or off a table.
<TeamMember name="Yuzhi Zheng" permalink="yuzhi-zheng" photo="/images/team/yuzhi.jpg" github="yuzhi" twitter="yuzhiz" title="Engineering Manager at Meta">
Yuzhi studied Computer Science in school. She liked the instant gratification of seeing code come to life without having to physically be in a laboratory. Now she’s a manager in the React org. Before management, she used to work on the Relay data fetching framework. In her spare time, Yuzhi enjoys optimizing her life via gardening and home improvement projects.
</TeamMember>
## Past contributors {/*past-contributors*/}

72
beta/src/utils/prepareMDX.js

@ -12,7 +12,7 @@ export const PREPARE_MDX_CACHE_BREAKER = 2;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export function prepareMDX(rawChildren) {
const toc = getTableOfContents(rawChildren);
const toc = getTableOfContents(rawChildren, /* depth */ 10);
const children = wrapChildrenInMaxWidthContainers(rawChildren);
return {toc, children};
}
@ -59,41 +59,59 @@ function wrapChildrenInMaxWidthContainers(children) {
return finalChildren;
}
function getTableOfContents(children) {
const anchors = Children.toArray(children)
.filter((child) => {
if (child.type) {
return ['h1', 'h2', 'h3', 'Challenges', 'Recap'].includes(child.type);
}
return false;
})
.map((child) => {
function getTableOfContents(children, depth) {
const anchors = [];
extractHeaders(children, depth, anchors);
if (anchors.length > 0) {
anchors.unshift({
url: '#',
text: 'Overview',
depth: 2,
});
}
return anchors;
}
const headerTypes = new Set([
'h1',
'h2',
'h3',
'Challenges',
'Recap',
'TeamMember',
]);
function extractHeaders(children, depth, out) {
for (const child of Children.toArray(children)) {
if (child.type && headerTypes.has(child.type)) {
let header;
if (child.type === 'Challenges') {
return {
header = {
url: '#challenges',
depth: 2,
text: 'Challenges',
};
}
if (child.type === 'Recap') {
return {
} else if (child.type === 'Recap') {
header = {
url: '#recap',
depth: 2,
text: 'Recap',
};
} else if (child.type === 'TeamMember') {
header = {
url: '#' + child.props.permalink,
depth: 3,
text: child.props.name,
};
} else {
header = {
url: '#' + child.props.id,
depth: (child.type && parseInt(child.type.replace('h', ''), 0)) ?? 0,
text: child.props.children,
};
}
return {
url: '#' + child.props.id,
depth: (child.type && parseInt(child.type.replace('h', ''), 0)) ?? 0,
text: child.props.children,
};
});
if (anchors.length > 0) {
anchors.unshift({
url: '#',
text: 'Overview',
depth: 2,
});
out.push(header);
} else if (child.children && depth > 0) {
extractHeaders(child.children, depth - 1, out);
}
}
return anchors;
}

112
content/community/team.md

@ -6,7 +6,7 @@ sectionid: community
permalink: community/team.html
---
React development is led by a small dedicated team working full time at Facebook. It also receives contributions from people all over the world.
React development is led by a small dedicated team working full time at Meta. It also receives contributions from people all over the world.
## Meet the React Team {#meet-the-react-team}
@ -22,14 +22,6 @@ Current members of the React team are listed in alphabetical order below.
Andrew got started with web development by making sites with WordPress, and eventually tricked himself into doing JavaScript. His favorite pastime is karaoke. Andrew is either a Disney villain or a Disney princess, depending on the day.
### Brian Vaughn {#brian-vaughn}
![Brian Vaughn](../images/team/bvaughn.jpg)
[@bvaughn on GitHub](https://github.com/bvaughn) &middot; [@brian\_d\_vaughn on Twitter](https://twitter.com/brian_d_vaughn)
Brian studied art in college and did programming on the side to pay for his education. Eventually, he realized that he enjoys working on open source. Brian has one [one-person band](https://soundcloud.com/brianvaughn/) and two [two-person](https://soundcloud.com/pilotlessdrone) [bands](https://soundcloud.com/pinwurm). He also takes care of the cutest cat in the world.
### Dan Abramov {#dan-abramov}
![Dan Abramov](../images/team/gaearon.jpg)
@ -38,29 +30,51 @@ Brian studied art in college and did programming on the side to pay for his educ
Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbage)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends.
### Luna Ruan {#luna-ruan}
### Jason Bonta {#jason-bonta}
![Luna](../images/team/lunaruan.jpg)
![Jason Bonta](../images/team/jasonbonta.jpg)
[@lunaruan on GitHub](https://github.com/lunaruan) &middot; [@lunaruan on Twitter](https://twitter.com/lunaruan)
Jason likes having large volumes of Amazon packages delivered to the office so that he can build forts. Despite literally walling himself off from his team at times and not understanding how for-of loops work, we appreciate him for the unique qualities he brings to his work.
Luna learned programming because she thought it meant creating video games. Instead, she ended up working on the Pinterest web app, and now on React itself. Luna doesn't want to make video games anymore, but she plans to do creative writing if she ever gets bored.
### Joe Savona {#joe-savona}
![Joe Savona](../images/team/joe.jpg)
[@josephsavona on GitHub](https://github.com/josephsavona) &middot; [@en_JS on Twitter](https://twitter.com/en_JS)
Joe was planning to major in math and philosophy but got into computer science after writing physics simulations in Matlab. Prior to React, he worked on Relay, RSocket.js, and the Skip programming language. While he’s not building some sort of reactive system he enjoys running, studying Japanese, and spending time with his family.
### Marco Salazar {#marco-salazar}
### Josh Story {#josh-story}
![Marco](../images/team/salazarm.jpeg)
![Josh Story](../images/team/josh.jpg)
[@salazarm on GitHub](https://github.com/salazarm) &middot; [@BkOptimism on Twitter](https://twitter.com/BkOptimism)
[@gnoff on GitHub](https://github.com/gnoff) &middot; [@joshcstory on Twitter](https://twitter.com/joshcstory)
Marco's first programming language was Assembly because he could use it to hack video games. Now online games are much more secure so he settles for playing fairly (mostly). In his spare time he plays games on his treadmill desk and makes art that he never finishes. Hopefully his PRs don't have the same fate.
Josh majored in Mathematics and discovered programming while in college. His first professional developer job was to program insurance rate calculations in Microsoft Excel, the paragon of Reactive Programming which must be why he now works on React. In between that time Josh has been an IC, Manager, and Executive at a few startups. outside of work he likes to push his limits with cooking.
### Rachel Nabors {#rachel-nabors}
### Lauren Tan {#lauren-tan}
![Lauren](../images/team/lauren.jpg)
[@poteto on GitHub](https://github.com/poteto) &middot; [@potetotes on Twitter](https://twitter.com/potetotes)
Lauren’s programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. When she’s not adding bugs into React, she enjoys dropping cheeky memes in chat, and playing all too many video games with her partner and dog Zelda.
### Luna Ruan {#luna-ruan}
![Luna](../images/team/lunaruan.jpg)
[@lunaruan on GitHub](https://github.com/lunaruan) &middot; [@lunaruan on Twitter](https://twitter.com/lunaruan)
Luna learned programming because she thought it meant creating video games. Instead, she ended up working on the Pinterest web app, and now on React itself. Luna doesn't want to make video games anymore, but she plans to do creative writing if she ever gets bored.
![Rachel](../images/team/rnabors.jpg)
### Mofei Zhang {#mofei-zhang}
[@rachelnabors on GitHub](https://github.com/rachelnabors) &middot; [@rachelnabors on Twitter](https://twitter.com/rachelnabors)
![Mofei](../images/team/mofei-zhang.png)
Rachel wrote a [book about UI animation](https://abookapart.com/products/animation-at-work) once and worked with MDN and the W3C on the web animations API. Now she is busy with education materials and community engineering on the React team. Secretly, she is an award-winning cartoonist for teenage girls. Catch her making fancy tea with lukewarm water in the microkitchen.
[@mofeiZ on GitHub](https://github.com/mofeiZ)]
Mofei started programming when she realized it can help her cheat in video games. She focused on operating systems in undergrad / grad school, but now finds herself happily tinkering on React. Outside of work, she enjoys debugging bouldering problems and planning her next backpacking trip(s).
### Rick Hanlon {#rick-hanlon}
@ -70,6 +84,22 @@ Rachel wrote a [book about UI animation](https://abookapart.com/products/animati
Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template.
### Samuel Susla {#samuel-susla}
![Samuel Susla](../images/team/sam.jpg)
[@sammy-SC on GitHub](https://github.com/sammy-SC) &middot; [@SamuelSusla on Twitter](https://twitter.com/SamuelSusla)
Samuel’s interest in programming started with the movie Matrix. He still has Matrix screen saver. Before working on React, he was focused on writing iOS apps. Outside of work, Samuel enjoys playing beach volleyball, squash, badminton and spending time with his family.
### Sathya Gunasekaran {#sathya-gunasekaran}
![Sathya Gunasekaran](../images/team/sathya.jpg)
[@gsathya on GitHub](https://github.com/gsathya) &middot; [@_gsathya on Twitter](https://twitter.com/_gsathya)
Sathya hated the Dragon Book in school but somehow ended up working on compilers all his career. When he's not compiling React components, he's either drinking coffee or eating yet another Dosa.
### Sebastian Markbåge {#sebastian-markbage}
![Sebastian](../images/team/sebmarkbage.jpg)
@ -78,21 +108,45 @@ Ricky majored in theoretical math and somehow found himself on the React Native
Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React.
### Sebastian Silbermann {#sebastian-silbermann}
![Sebastian Silbermann](../images/team/sebsilbermann.jpg)
[@eps1lon on GitHub](https://github.com/eps1lon) &middot; [@sebsilbermann on Twitter](https://twitter.com/sebsilbermann)
Sebastian learned programming to make the browser games he played during class more enjoyable. Eventually this lead to contributing to as much open source code as possible. Outside of coding he's busy making sure people don't confuse him with the other Sebastians and Zilberman of the React community.
### Seth Webster {#seth-webster}
![Seth](../images/team/sethwebster.jpg)
![Seth](../images/team/seth.jpg)
[@sethwebster on GitHub](https://github.com/sethwebster) &middot; [@sethwebster on Twitter](https://twitter.com/sethwebster)
Seth started programming as a kid growing up in Tucson, AZ. After school, he was bitten by the music bug and was a touring musician for about 10 years before returning to *work*, starting with Intuit. In his spare time, he loves [taking pictures](https://www.sethwebster.com) and flying for animal rescues in the northeastern United States.
### Xuan Huang {#xuan-huang}
### Sophie Alpert {#sophie-alpert}
![Sophie](../images/team/sophiebits.jpg)
[@sophiebits on GitHub](https://github.com/sophiebits) &middot; [@sophiebits on Twitter](https://twitter.com/sophiebits)
Four days after React was released, Sophie rewrote the entirety of her then-current project to use it, which she now realizes was perhaps a bit reckless. After she became the project's #1 committer, she wondered why she wasn't getting paid by Facebook like everyone else was and joined the team officially to lead React through its adolescent years. Though she quit that job years ago, somehow she's still in the team's group chats and “providing value”.
### Tianyu Yao {#tianyu-yao}
![Tianyu Yao](../images/team/tianyu.jpg)
[@tyao1 on GitHub](https://github.com/tyao1) &middot; [@tianyu0 on Twitter](https://twitter.com/tianyu0)
Tianyu’s interest in computers started as a kid because he loves video games. So he majored in computer science and still plays childish games like League of Legends. When he is not in front of a computer, he enjoys playing with his two kittens, hiking and kayaking.
### Yuzhi Zheng {#yuzhi-zheng}
![Xuan](../images/team/huxpro.jpg)
![Yuzhi](../images/team/yuzhi.jpg)
[@huxpro on GitHub](https://github.com/huxpro) &middot; [@huxpro on Twitter](https://twitter.com/huxpro)
[@yuzhi on GitHub](https://github.com/yuzhi) &middot; [@yuzhiz on Twitter](https://twitter.com/yuzhiz)
Xuan met with programming in childhood to make games in Flash. He did digital media arts in college but eventually got tricked into making compilers, and somehow React needs one. Out of work, he pours terrible latte arts and plays tennis either on or off a table.
Yuzhi studied Computer Science in school. She liked the instant gratification of seeing code come to life without having to physically be in a laboratory. Now she’s a manager in the React org. Before management, she used to work on the Relay data fetching framework. In her spare time, Yuzhi enjoys optimizing her life via gardening and home improvement projects.
## Acknowledgements {#acknowledgements}
@ -103,6 +157,7 @@ React was originally created by [Jordan Walke](https://github.com/jordwalke). To
* [Alex Krolick](https://github.com/alexkrolick)
* [Alexey Pyltsyn](https://github.com/lex111)
* [Brandon Dail](https://github.com/aweary)
* [Brian Vaughn](https://github.com/bvaughn)
* [Caleb Meredith](https://github.com/calebmer)
* [Chang Yan](https://github.com/cyan33)
* [Cheng Lou](https://github.com/chenglou)
@ -119,20 +174,21 @@ React was originally created by [Jordan Walke](https://github.com/jordwalke). To
* [Joe Critchley](https://github.com/joecritch)
* [Jeff Morrison](https://github.com/jeffmo)
* [Keyan Zhang](https://github.com/keyz)
* [Marco Salazar](https://github.com/salazarm)
* [Nat Alison](https://github.com/tesseralis)
* [Nathan Hunzaker](https://github.com/nhunzaker)
* [Nicolas Gallagher](https://github.com/necolas)
* [Paul O'Shannessy](https://github.com/zpao)
* [Pete Hunt](https://github.com/petehunt)
* [Philipp Spiess](https://github.com/philipp-spiess)
* [Rachel Nabors](https://github.com/rachelnabors)
* [Robert Zhang](https://github.com/robertzhidealx)
* [Sander Spies](https://github.com/sanderspies)
* [Sasha Aickin](https://github.com/aickin)
* [Sophia Shoemaker](https://github.com/mrscobbler)
* [Sophie Alpert](https://github.com/sophiebits)
* [Sunil Pai](https://github.com/threepointone)
* [Tim Yung](https://github.com/yungsters)
* [Yuzhi Zheng](https://github.com/yuzhi)
* [Xuan Huang](https://github.com/huxpro)
This list is not exhaustive.

BIN
content/images/team/acdlite.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 MiB

After

Width:  |  Height:  |  Size: 111 KiB

BIN
content/images/team/bvaughn.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 KiB

BIN
content/images/team/gaearon.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 KiB

After

Width:  |  Height:  |  Size: 78 KiB

BIN
content/images/team/huxpro.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 KiB

BIN
content/images/team/jasonbonta.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

BIN
content/images/team/joe.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

BIN
content/images/team/josh.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

BIN
content/images/team/lauren.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
content/images/team/lunaruan.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 KiB

After

Width:  |  Height:  |  Size: 150 KiB

BIN
content/images/team/mofei-zhang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
content/images/team/necolas.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

BIN
content/images/team/rickhanlonii.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 116 KiB

BIN
content/images/team/rnabors.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

BIN
content/images/team/salazarm.jpeg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

BIN
content/images/team/sam.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
content/images/team/sathya.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
content/images/team/sebmarkbage.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 89 KiB

BIN
content/images/team/sebsilbermann.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

0
content/images/team/sethwebster.jpg → content/images/team/seth.jpg

Before

Width:  |  Height:  |  Size: 301 KiB

After

Width:  |  Height:  |  Size: 301 KiB

BIN
content/images/team/sophiebits.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

BIN
content/images/team/threepointone.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 KiB

BIN
content/images/team/tianyu.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
content/images/team/trueadm.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Loading…
Cancel
Save