JavaScript HTML CSS Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github Update guidance around branches to reflect how we are handling PRs (#… Jul 3, 2018
benchmarks Check if plugins are using es6 and commonjs together and error (#7110) Aug 7, 2018
docs sites: update details of (#7412) Aug 17, 2018
examples Use wrapRootElement in using-redux sampleR readme (#7392) Aug 17, 2018
flow-typed Use new babel API's to manage babel options (#6801) Aug 16, 2018
infrastructure Revert "Topics/output dir (#4756)" May 31, 2018
integration-tests/long-term-caching Use contenthash instead of chunkhash for javascript files (#6905) Aug 2, 2018
packages doh (#7411) Aug 17, 2018
plop-templates Update to babel 7 beta 52 (#6389) Jul 20, 2018
scripts Update collectPackages to getPackages for new lerna rc (#7126) Aug 8, 2018
translations/es Fix typo (#6296) Jul 6, 2018
www Update doc-links.yaml (#7394) Aug 16, 2018
.babel-preset.js Merge v2 in master making it the default branch (#5954) Jun 17, 2018
.babelrc.js Merge v2 in master making it the default branch (#5954) Jun 17, 2018
.dockerignore [v2] WIP merge in master (#4061) Feb 15, 2018
.editorconfig [1.0] Fixes 1317 Google Analytics plugin; updates attachHistory liste… Jul 1, 2017
.eslintrc.json [v2] merge master into v2 (#5451) May 17, 2018
.flowconfig Merge v2 in master making it the default branch (#5954) Jun 17, 2018
.gitignore Merge v2 in master making it the default branch (#5954) Jun 17, 2018
.prettierignore prettier: ignore package.json (#5686) Jun 2, 2018
.prettierrc Use absolute links in remark toc (#2856) Nov 14, 2017
.travis.yml Disable (#7127) Aug 8, 2018
.yarnrc clean up dup packages and use yarn as client (#1939) Aug 30, 2017 Merge v2 in master making it the default branch (#5954) Jun 17, 2018 [v2] merge master into v2 (#5451) May 17, 2018
Dockerfile Skip libvips and builds tools as sharp v0.20.0 now downloads binaries ( Mar 5, 2018
LICENSE Update copyright Mar 28, 2016 Remove redundant "the" (#7329) Aug 14, 2018
appveyor.yml Fix bootstrap missing files in gatsby-cli (#2658) Oct 30, 2017 Merge v2 in master making it the default branch (#5954) Jun 17, 2018
jest-transformer.js Merge v2 in master making it the default branch (#5954) Jun 17, 2018
jest.config.js Fixes Jest localstorage bug (#7160) Aug 10, 2018
lerna.json don't force new release after running prettier on CHANGELOG (#6336) Jul 9, 2018
netlify.toml arg (#2747) Nov 2, 2017
package.json Update collectPackages to getPackages for new lerna rc (#7126) Aug 8, 2018
plopfile.js [v2] merge master into v2 (#5451) May 17, 2018
yarn.lock Remove unused deps (#7389) Aug 17, 2018


Gatsby v2 [beta] · (see v1)

⚛️ 📄 🚀

Blazing fast site generator for React
Go beyond static sites: build blogs, ecommerce sites, full-blown apps, and more with Gatsby.

Gatsby is released under the MIT license. Current TravisCI build status. Current npm package version. Downloads per month on npm. PRs welcome!

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

Gatsby is a modern 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 ecommerce 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 back-end.

  • 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 three steps:

  1. Create a Gatsby site from a Gatsby starter.

    Get your Gatsby blog set up in a single command:

    # install the Gatsby CLI globally
    npm install -g gatsby-cli
    # create a new Gatsby site using the default starter
    gatsby new my-blazing-fast-site

    Want to try v2 beta? Run this instead: gatsby new my-blazing-fast-site

  2. 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
  3. 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!

🤝 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 contributor onboarding docs for ideas on contributing and setup steps for getting our repos up and running on your local machine.

Read the Contributing Guide

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. 💪💜

Read the Code of Conduct

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.

💜 Thanks to Our Contributors and Sponsors

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