A paginated blog
A customizable tagline and hero image
A customizable coffee and bakery menu
An editorial workflow
We achieved this by using the functionality available with Netlify CMS and Gatsby plugins. Netlify CMS saves all its content in Markdown format, which is processed by Gatsby using the gatsby-source-filesystem and gatsby-transformer-remark plugins and added to the GraphQL data structure. This data was then used in page queries and also to dynamically create new pages from data.
Hopefully you have seen the power of Netlify CMS as a flexible and easy-to-use backend for any kind of website.
Further learning
We have covered a lot of topics in this book, but there is more information about Netlify CMS available to continue your learning.
Integration with other frameworks
Hugo: A framework for building websites using the Go programming language
Nuxt.js: A framework for building Vue.js applications
Jekyll: A static site generator powered by the Ruby programming language
Next.js: A framework for React applications
Example projects for integrating Netlify CMS with these tools, and more, can be found at https://netlifycms.org/docs/examples/.
Netlify Identity OAuth
For the example project, we used Netlify Identity’s built-in identity management solution. However, Netlify Identity also supports integration with OAuth providers so that you can build a more customized authentication solution.
Beta features
At the time of writing, these Netlify CMS features are in a beta testing phase but are still worth learning about.
Open authoring
Open authoring allows other users who do not have access to your GitHub repository to contribute content to your Netlify CMS-powered site. This works in combination with the editorial workflow that we covered in Chapter 13.
This works by creating a fork of your site’s GitHub repository for the contributor. The contributor makes their proposed changes and submits a pull request against your site’s repository. The changes can then be accepted and merged into the main site.
Local Git repository support
As we’ve seen, when publishing content with Netlify CMS, it uses the GitHub API to commit the changes in the remote repository, where it will immediately rebuild the site and go live.
Netlify CMS now supports working with a local Git repository instead. This is done by using a proxy server that emulates the Git Gateway backend APIs but instead makes commits to your local Git repository.
Netlify CMS resources
Netlify CMS has extensive documentation which can be found at https://netlifycms.org/docs. You can find more information there on many of the topics covered in this book.
Another great resource is the Netlify Support Community, which can be found at https://community.netlify.com/. This is a general support forum that covers all of Netlify; however, there is a specific Netlify CMS area of the forum that is fairly active.
Lastly, there is a netlify-cms tag on Stack Overflow that you can post questions under. You can see tagged questions at https://stackoverflow.com/questions/tagged/netlify-cms.
Armed with the knowledge in this book and these resources, you are well on your way to building a fully featured site using Gatsby, powered by Netlify CMS. Good luck!