- Node (I recommend using v8.2.0 or higher)
- Gatsby CLI
- Netlify CLI
Fork the repository
$ cd <sites-folder>
$ git clone <your-forked-repo>
Make sure you have Gatsby installed globally
$ npm i -g gatsby
Install your packages
$ npm install
Start the server
$ npm start
Read more about contributing and keeping your fork up to date on our CONTRIBUTING
http://localhost:8000/__graphql
Note: This theme uses Gatsby v2 and Netlify CMS
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 stories functionality built with Netlify CMS
- Editabe Pages: Landing, About, Stories-Collection and Contact page with Netlify Form support
- Create Stories posts from Netlify CMS
- Tags: Separate page for posts under each tag
- Basic directory organization
- Blazing fast loading times thanks to pre-rendered HTML and automatic chunk loading of JS files
- Uses
gatsby-image
with Netlify-CMS preview support - Separate components for everything
- Netlify deploy configuration
- Netlify function support, see
lambda
folder - Perfect score on Lighthouse for SEO, Accessibility and Performance (wip:PWA)
- ..and more
Media Libraries have been included in this starter as a default. If you are not planning to use Uploadcare
or Cloudinary
in your project, you can remove them from module import and registration in src/cms/cms.js
. Here is an example of the lines to comment or remove them your project.
import CMS from 'netlify-cms-app';
// import uploadcare from 'netlify-cms-media-library-uploadcare'
// import cloudinary from 'netlify-cms-media-library-cloudinary'
import AboutUsPagePreview from './preview-templates/AboutUsPagePreview';
import StoriesPostPreview from './preview-templates/StoriesPostPreview';
import IndexPagePreview from './preview-templates/IndexPagePreview';
// CMS.registerMediaLibrary(uploadcare);
// CMS.registerMediaLibrary(cloudinary);
CMS.registerPreviewTemplate('index', IndexPagePreview);
CMS.registerPreviewTemplate('about-us', AboutUsPagePreview);
CMS.registerPreviewTemplate('stories', StoriesPostPreview);
Note: Don't forget to also remove them from package.json
and yarn.lock
/ package-lock.json
using yarn
or npm
. During the build netlify-cms-app will bundle the media libraries as well, having them removed will save you build time.
Example:
yarn remove netlify-cms-media-library-uploadcare
OR
yarn remove netlify-cms-media-library-cloudinary
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
MacOS users might also encounter some errors, for more info check node-gyp. We recommend using the latest stable node version.
Thanks goes to these wonderful people (emoji key):
Daniel Huerta 🤔 📆 📖 💬 |
Joshua Wu 💻 👀 📖 |
Paul Mendoza 🐛 💻 📖 🤔 🚧 💬 👀 🛡️ |
Miles Thompson 🤔 💻 👀 💬 🐛 💼 🖋 📆 |
Karen 🎨 🤔 📆 💬 |
Tuan Nguyen 🐛 💻 📖 🤔 🚧 📆 💬 👀 |
lauramei 🤔 🎨 👀 |
sarahjagrowski 🎨 🤔 |
Sarah 📖 🎨 🤔 💬 |
Marek Dano 💻 📖 🐛 |
Amy 🐛 💻 📖 🤔 🚧 💬 👀 🛡️ |
Jacob Garlick 🐛 |
Chase Lee 💻 |
Yoonah Bae 🎨 🤔 |
sd33m 🤔 💬 ️️️️♿️ |
Courtney Beadel 🎨 📖 🤔 💬 |
Azmain Amin 🐛 💻 📖 🤔 🚧 💬 👀 🛡️ |
Jessica Ellis 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!