Skip to content
Example gatsby + netlify cms project
Branch: master
Clone or download
Latest commit 0706a8f Mar 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Added gatsby info command Jan 28, 2019
src Remove static query useSiteMetadata() Mar 15, 2019
static [ImgBot] Optimize images Mar 15, 2019
.gitignore Integrate CMS build system and create initial preview templates Dec 7, 2017 Added code of coduct Jan 28, 2019 Basic contribution guide (init. version) Mar 4, 2019
LICENSE first commit Oct 18, 2017 Create Jan 8, 2019 Changed run command Mar 5, 2019
_headers Added netlify _header settings for static folder Feb 15, 2019
gatsby-config.js Merge pull request #214 from ZoltanVeres/yarn-formatting Mar 14, 2019
gatsby-node.js Gatsby image w/preview compat (#122) Nov 1, 2018
netlify.toml Netlify function support (init. version) Feb 28, 2019
package-lock.json Lock file maintenance Mar 18, 2019
package.json update react and gatsby Mar 15, 2019
renovate.json Update Renovate to keep netlify cms up to date (#148) Dec 7, 2018
yarn.lock Lock file maintenance Mar 18, 2019

Gatsby + Netlify CMS Starter

Netlify Status

Note: This starter uses Gatsby v2.

This repo contains an example business website that is built with Gatsby, and Netlify CMS: Demo Link.

It follows the JAMstack architecture by using Git as a single source of truth, and Netlify for continuous deployment, and CDN distribution.


  • A simple landing page with blog functionality built with Netlify CMS
  • Editabe Pages: Landing, About, Product, Blog-Collection and Contact page with Netlify Form support
  • Create Blog posts from Netlify CMS
  • Tags: Separate page for posts under each tag
  • Basic directory organization
  • Uses Bulma for styling, but size is reduced by purge-css-plugin
  • Blazing fast loading times thanks to pre-rendered HTML and automatic chunk loading of JS files
  • Uses gatbsy-image with Netlify-CMS preview support
  • Separate components for everything
  • Netlify deploy configuration
  • Netlify function support, see src/lambda folder
  • Perfect score on Lighthouse for SEO, Accessibility and Performance (wip:PWA)
  • ..and more


  • Node (I recommend using v8.2.0 or higher)
  • Gatsby CLI

Getting Started (Recommended)

Netlify CMS can run in any frontend web environment, but the quickest way to try it out is by running it on a pre-configured starter site with Netlify. The example here is the Kaldi coffee company template (adapted from One Click Hugo CMS). Use the button below to build and deploy your own copy of the repository:

Deploy to Netlify

After clicking that button, you’ll authenticate with GitHub and choose a repository name. Netlify will then automatically create a repository in your GitHub account with a copy of the files from the template. Next, it will build and deploy the new site on Netlify, bringing you to the site dashboard when the build is complete. Next, you’ll need to set up Netlify’s Identity service to authorize users to log in to the CMS.

Access Locally

$ git clone[GITHUB_USERNAME]/[REPO_NAME].git
$ cd [REPO_NAME]
$ yarn
$ npm run start

To test the CMS locally, you'll need run a production build of the site:

$ npm run build
$ npm run serve

Getting Started (Without Netlify)

$ gatsby new [SITE_DIRECTORY_NAME]
$ npm run build
$ npm run serve

Setting up the CMS

Follow the Netlify CMS Quick Start Guide to set up authentication, and hosting.


Windows users might encounter node-gyp errors when trying to npm install. To resolve, make sure that you have both Python 2.7 and the Visual C++ build environment installed.

npm config set python python2.7
npm install --global --production windows-build-tools

Full details here


This plugin uses gatsby-plugin-purgecss and bulma. The bulma builds are usually ~170K but reduced 90% by purgecss.


Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.

You can’t perform that action at this time.