Skip to main content

Blog & Website Contributions

We wholeheartedly welcome contributions to the Gatsby blog and website!

Here are some things to keep in mind when deciding where to contribute to Gatsby:

  • Blog posts work best for case studies and time-sensitive storytelling (see the blog post format).
  • Docs are continually relevant and discoverable learning materials that go beyond any one case study or situation.
  • Website changes that improve either of these are always welcome!

Contributing to the blog

Note: Before adding a blog post, ensure you have approval from a member of the Gatsby team. You should open an issue or contact @gatsbyjs on Twitter before opening a PR with your blog post. Check out past blog posts for examples of posted content.

To add a new blog post to the blog:

  • Clone the Gatsby repo and navigate to /www.
  • Run yarn to install all of the website’s dependencies. (Why Yarn?)
  • Run npm run develop to preview the blog at http://localhost:8000/blog.
  • The content for the blog lives in the /docs/blog folder. Make additions or modifications here.
  • Add your avatar image to /docs/blog/avatars.
  • Add your name to /docs/blog/author.yaml.
  • Add a new folder following the pattern /docs/blog/yyyy-mm-dd-title. Within this newly created folder, add an file.
  • Add title, date, author, excerpt, and tags to the frontmatter of your You can view existing tags, or add a new one if you feel your tag merits being its own tag, though we encourage you to use existing tags.
  • If you are cross posting your post, you can add canonicalLink for SEO benefits. You can check the other blog posts in /docs/blog for examples.
  • If your blog post contains images, add them to your blog post folder and reference them in your post’s
  • Ensure any links to are relative links - /contributing/how-to-contribute/ instead of
  • Follow the Style Guide to make sure you’re using the appropriate wording.
  • Double check your grammar and capitalize correctly.
  • Commit and push to your fork.
  • Create a pull request from your branch.
    • We recommend using a prefix of docs, e.g. docs/your-change or docs-your-change. (PR example)

Blog post format

The following format can help you in creating your new blog content. At the top is “frontmatter”: a fancy name for metadata in Markdown. The frontmatter for your post should include a title, date, singular author name (for now, we would welcome issues/PRs for this), and one or more tags. Your content will follow after the second set of dashes (---).

Making changes to the website

If you want to make changes, improvements, or add new functionality to the website, you don’t have to set up the full Gatsby repo to contribute. You can spin up your own instance of the Gatsby website with these steps:

  • Clone the Gatsby repo and navigate to /www
  • Run yarn to install all of the website’s dependencies.
  • Run npm run develop to preview the site at http://localhost:8000/.

Note: If you are experiencing issues on a Linux machine, run sudo apt install libvips-dev, to install a native dependency. You can also reference Gatsby guide on Linux for other Linux-specific requirements.

Now you can make and preview your changes before raising a pull request!

For full repo setup instructions, visit the code contributions page.

Edit this page on GitHub