Skip to content
Build blazing fast, modern apps and websites with React
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci chore: record e2e in cypress dashboard (#15837) Jul 23, 2019
.forestry chore(docs): add pullquote snippet for Forestry CMS (#12732) Mar 21, 2019
.github chore: Fix Typos across repository (#15923) Jul 20, 2019
benchmarks chore: Upgrade lodash for prototype pollution fix (#15678) Jul 13, 2019
docs Adding space in bug fixes (#16036) Jul 24, 2019
e2e-tests chore: record e2e in cypress dashboard (#15837) Jul 23, 2019
examples chore: record e2e in cypress dashboard (#15837) Jul 23, 2019
flow-typed chore(gatsby): remove unused nyc dependency (#10063) Nov 21, 2018
integration-tests refactor(gatsby-plugin-sharp): split single file into more maintaina… Mar 11, 2019
packages chore(release): Publish Jul 24, 2019
peril chore: Fix Typos across repository (#15923) Jul 20, 2019
plop-templates chore: implement babel-preset-gatsby into packages that need it (#9323) Oct 29, 2018
scripts chore(*): fix typos (#15946) Jul 22, 2019
starters fix: update dependency prismjs to ^1.17.1 (#15965) Jul 23, 2019
themes fix: update dependency theme-ui to ^0.2.18 (#15980) Jul 23, 2019
www docs(tutorial): add Making a blog with Netlify CMS (#14945) Jul 23, 2019
.babelrc.js chore: implement babel-preset-gatsby into packages that need it (#9323) Oct 29, 2018
.dockerignore [v2] WIP merge in master (#4061) Feb 15, 2018
.editorconfig chore: add git hooks and simplify scripts (#8427) Nov 6, 2018
.eslintrc.json feat(gatsby): pass webhook data to sourceNodes functions (#15564) Jul 17, 2019
.flowconfig Merge v2 in master making it the default branch (#5954) Jun 17, 2018
.gitattributes Use merge=union for yaml files so we have less merge conflicts (#12851) Mar 26, 2019
.gitignore feat(themes): Add a starter for theme development (#15640) Jul 11, 2019
.gitpod.Dockerfile feat: add gitpod config (#15034) Jun 25, 2019
.gitpod.yml feat: add gitpod config (#15034) Jun 25, 2019
.npmignore npmignore Jun 27, 2019
.prettierignore chore(*): remove old infrastructure directory (#14974) Jun 20, 2019
.prettierrc.js docs: add API reference for params passed to gatsby-node APIs (#12087) Mar 13, 2019
.yarnrc clean up dup packages and use yarn as client (#1939) Aug 30, 2017 chore(*): tweak changelog (#12648) Mar 19, 2019
CODEOWNERS feat(.github): add Learning team message to high-priority-prs… (#15194) Jul 11, 2019 chore: and CoC link to repo (#15674) Jul 13, 2019 docs: new section for contributing (#11812) Feb 19, 2019
Dockerfile Skip libvips and builds tools as sharp v0.20.0 now downloads binaries ( Mar 5, 2018
LICENSE Update copyright Mar 28, 2016 docs: update readme with modern web framework (#15154) Jun 28, 2019 Create (#15162) Jun 26, 2019
appveyor.yml chore: format YAML files with Prettier (#8407) Sep 25, 2018
azure-pipelines.yml Fix spelling. TypeScript not typescript. (#13522) Apr 20, 2019
jest-transformer.js chore: implement babel-preset-gatsby into packages that need it (#9323) Oct 29, 2018
jest.config.js chore(gatsby): Move peril inside monorepo and check valid categories/… Jun 24, 2019
junit.xml chore: Fix Typos across repository (#15923) Jul 20, 2019
lerna.json chore(scripts): clean up CI scripts for starters (#15572) Jul 12, 2019
markdown.config.js chore: add starters to monorepo (#10310) Dec 20, 2018
netlify.toml arg (#2747) Nov 2, 2017
package.json chore: update all package repository fields (#15477) Jul 11, 2019
peril.settings.json fix(peril): Fix missing dir name (#15113) Jun 25, 2019
plopfile.js chore: Format JS Files (#8623) Nov 6, 2018
renovate.json chore(scripts): clean up CI scripts for starters (#15572) Jul 12, 2019
svgo.yml feat(www): Add brand guidelines, design tokens docs (humble beginning… Jun 15, 2019
tsconfig.json chore(gatsby): Move peril inside monorepo and check valid categories/… Jun 24, 2019
yarn.lock chore(gatsby): Move back to upstream lokijs (#16010) Jul 23, 2019


Gatsby v2

⚛️ 📄 🚀

Fast in every way that matters

Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps

Gatsby is released under the MIT license. Current CircleCI build status. Current npm package version. Downloads per month on npm. Total downloads on npm. PRs welcome! Follow @gatsbyjs

Quickstart · Tutorial · Plugins · Starters · Showcase · Contribute · Support: Spectrum & Discord

Gatsby is a modern web framework for blazing fast websites.

  • Go Beyond Static Websites. Get all the benefits of static websites with none of the limitations. Gatsby sites are fully functional React apps so you can create high-quality, dynamic web apps, from blogs to e-commerce sites to user dashboards.

  • Use a Modern Stack for Every Site. No matter where the data comes from, Gatsby sites are built using React and GraphQL. Build a uniform workflow for you and your team, regardless of whether the data is coming from the same backend.

  • Load Data From Anywhere. Gatsby pulls in data from any data source, whether it’s Markdown files, a headless CMS like Contentful or WordPress, or a REST or GraphQL API. Use source plugins to load your data, then develop using Gatsby’s uniform GraphQL interface.

  • Performance Is Baked In. Ace your performance audits by default. Gatsby automates code splitting, image optimization, inlining critical styles, lazy-loading, and prefetching resources, and more to ensure your site is fast — no manual tuning required.

  • Host at Scale for Pennies. Gatsby sites don’t require servers so you can host your entire site on a CDN for a fraction of the cost of a server-rendered site. Many Gatsby sites can be hosted entirely free on services like GitHub Pages and Netlify.

Learn how to use Gatsby for your next project.

What’s In This Document

🚀 Get Up and Running in 5 Minutes

You can get a new Gatsby site up and running on your local dev environment in 5 minutes with these four steps:

  1. Install the Gatsby CLI.

    npm install -g gatsby-cli
  2. Create a Gatsby site from a Gatsby starter.

    Get your Gatsby blog set up in a single command:

    # create a new Gatsby site using the default starter
    gatsby new my-blazing-fast-site
  3. Start the site in develop mode.

    Next, move into your new site’s directory and start it up:

    cd my-blazing-fast-site/
    gatsby develop
  4. Open the source code and start editing!

    Your site is now running at http://localhost:8000. Open the my-blazing-fast-site directory in your code editor of choice and edit src/pages/index.js. Save your changes, and the browser will update in real time!

At this point, you’ve got a fully functional Gatsby website. For additional information on how you can customize your Gatsby site, see our plugins and the official tutorial.

🎓 Learning Gatsby

Full documentation for Gatsby lives on the website.

  • For most developers, we recommend starting with our in-depth tutorial for creating a site with Gatsby. It starts with zero assumptions about your level of ability and walks through every step of the process.

  • To dive straight into code samples head to our documentation. In particular, check out the “Guides”, “API Reference”, and “Advanced Tutorials” sections in the sidebar.

We welcome suggestions for improving our docs. See the “how to contribute” documentation for more details.

Start Learning Gatsby: Follow the Tutorial · Read the Docs

💼 Migration Guides

Already have a Gatsby site? These handy guides will help you add the improvements of Gatsby v2 to your site without starting from scratch!

❗ Code of Conduct

Gatsby is dedicated to building a welcoming, diverse, safe community. We expect everyone participating in the Gatsby community to abide by our Code of Conduct. Please read it. Please follow it. In the Gatsby community, we work hard to build each other up and create amazing things together. 💪💜

🤝 How to Contribute

Whether you're helping us fix bugs, improve the docs, or spread the word, we'd love to have you as part of the Gatsby community! 💪💜

Check out our Contributing Guide for ideas on contributing and setup steps for getting our repositories up and running on your local machine.

A note on how this repository is organized

This repository is a monorepo managed using Lerna. This means there are multiple packages managed in this codebase, even though we publish them to NPM as separate packages.

Contributing to Gatsby v1

We are currently only accepting bug fixes for Gatsby v1. No new features will be accepted.

📝 License

Licensed under the MIT License.

💜 Thanks to Our Contributors and Sponsors

Thanks to our many contributors and sponsors as well as the companies sponsoring our testing and hosting infrastructure: Circle CI, Appveyor, and Netlify.

You can’t perform that action at this time.