Skip to content

Category: Gatsby

  • How to setup a Gatsby themes monorepo
    I manage a Gatsby themes monorepo that currently has 11 themes and 8 starters with over 1500 commits - lots of moving parts to keep organized. At the end of this tutorial you will have a Gatsby themes monorepo setup with automated testing, automated dependency management, automated publishing…

  • Geocoding with Gatsby and SANITY.io
    Geocoding is the process of turning a regular address into latitude and longtitude coordinates that can be used in a mapping application like Google Maps or LeafletJS . I am going to walk through setting up a SANITY.io schema, querying the SANITY.io API via gatsby-node.js , passing the query…

  • How to use Theme UI variants
    I am a big fan of using Theme UI to style Gatsby projects. For me one of the standout features is the less well known - but very powerful - API called variants . Variants allow you, as a theme developer, to enable a happy path for users to customize their visual design without having to shadow…

  • Decoupling data and presentation components in Gatsby themes
    When building a Gatsby theme it is best practice to separate data queries from presentation components. This separation of concerns enables a happy path for component shadowing in the finished production site. Keep in mind that to do this you also need to control the page creation process in…

  • 10 reasons to use Theme UI in your next Gatsby project
    Combining Theme UI with Gatsby has been a huge productivity win for me; design tokens, quick mobile styles, a robust component library and more. I am building every new project using Theme UI and here are 10 reasons I think you should consider it too. Consistent design system At the heart of…

  • Building a sub-menu with Gatsby
    You have a great Gatsby site! You followed all the tutorials and it is blazing fast. But wait, you need a sub-menu (or dropdown menu) in your navigation? It is not as easy as it sounds if you want to keep a modern component architecture and use things like the javascript .map method. This is a…

  • Examples of using options in Gatsby themes
    The ability to define options for Gatsby themes unlocks a powerful set of development opportunities. You may have already used an option like contentPath before but there is so much more you can do! Before you go any further, you need to pause and read Chris Biscardi's excellent post about…

  • Getting Started With Gatsby-Theme-Catalyst-Writer
    This theme has been depreciated, instead use gatsby-theme-catalyst-hydrogen , which is an updated version of this theme with an improved API. There is a complete tutorial for this updated theme you can follow. This Gatsby theme is for freelance writers and journalists who want a fast, easy to…

  • Understanding latent component shadowing in Gatsby themes
    As I worked on building themes for Gatsby I went through a number of different iterations trying to find an approach that would allow for easy composition and clear separation of concerns. The lightbulb went off for me when I read John Otander’s blog post on the topic of latent component shadowing…

  • How to display alternate content in dark mode using Theme UI
    Theme UI provides a great pattern for implementing dark mode on your Gatsby website. If your site is primarily text, this can be as straightforward as changing a few colors in your theme and off you go. Most websites are not so minimal and include images, icons, background patterns, etc. If you…

  • Introduction to Gatsby Theme Catalyst
    Gatsby Theme Catalyst v1.0 has been launched along with a new website and docs . Some of the content in this post is outdated. Gatsby Theme Catalyst is my opinionated view of a modern tech stack relying on a combination of Gatsby , MDX , and Theme UI . I built this series of themes to…

Illustrations by Diana Valeanu
Design inspired by Gatsby-Absurd
© 2020 Eric Howey