Wrote an article
https://blog.logrocket.com/how-to-build-a-custom-gatsbyjs-theme-e9b9529f217b/