Skip to main content

Gatsby.js Tutorial


Welcome to Gatsby! We’re glad you’re here. The goal of this tutorial is to guide you through setting up and deploying your first Gatsby site using a starter template. As we walk through that process, we’ll introduce some more general web development topics, and go over the underlying structure of a Gatsby site.

The full tutorial is intended to be as accessible as possible to people without much web development experience (yet!) — no need to be an expert. If you prefer to jump straight to code, feel free to skip the step-by-step tutorial and see the quick start page.

  1. Set Up Your Development Environment: We’ll introduce you to core technologies that power Gatsby, and guide you through setting up your development environment.
  2. Get to know Gatsby building blocks: Starting new projects, developing, and deploying sites.
  3. Introduction to using CSS in Gatsby: Explore libraries like Typography.js and CSS Modules.
  4. Building nested layouts in Gatsby: Layouts are sections of your site that are reused across multiple pages like headers and footers.

Advanced tutorials

In these advanced tutorials, you’ll learn how to pull data from almost anywhere into your Gatsby site with GraphQL.

  1. Querying for data in a blog: Create a blog and use a GraphQL query to pull your site title into the blog header.
  2. Source plugins and rendering queried data: Use a source plugin to pull Markdown blog posts into your site and create an index page with a list of blog posts.
  3. Transformer plugins: Use a transformer plugin to transform your Markdown blog posts into a form the blog can render.
  4. Programmatically create pages from data: Learn how to programmatically create a set of pages for your blog posts.
  5. Preparing a site to go live: Learn how to audit your site for performance and best practices for accessibility, SEO, and more.