docs: Update Docs: Guides “gatsby” (#3860)

This commit is contained in:
Favour 2020-06-07 13:25:05 +01:00 committed by GitHub
parent 53cba02244
commit 2b7a3c38d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,13 +5,13 @@ weight: 20
--- ---
This guide will help you get started using Netlify CMS and Gatsby. This guide will help you get started using Netlify CMS and Gatsby.
To get up and running with Gatsby, youll need to have [Node.js](https://nodejs.org/) installed on your computer. _Note: Gatsby's minimum supported Node.js version is Node 8._ To get up and running with Gatsby, youll need to have [Node.js](https://nodejs.org/) installed on your computer. *Note: Gatsby's minimum supported Node.js version is Node 8.*
## Create a new Gatsby site ## Create a new Gatsby site
Let's create a new site using the default Gatsby Starter Blog. Run the following commands in the terminal, in the folder where you'd like to create the blog: Let's create a new site using the default Gatsby Starter Blog. Run the following commands in the terminal, in the folder where you'd like to create the blog:
```sh ```bash
npm install -g gatsby-cli npm install -g gatsby-cli
gatsby new blog https://github.com/gatsbyjs/gatsby-starter-blog gatsby new blog https://github.com/gatsbyjs/gatsby-starter-blog
cd blog cd blog
@ -36,13 +36,11 @@ Consonantia, there live the blind texts.
We can see above that each blog post has a title, a date, a description and a body. Now, let's recreate this using Netlify CMS. We can see above that each blog post has a title, a date, a description and a body. Now, let's recreate this using Netlify CMS.
**Note:** each existing blog post in `gatsby-starter-blog` is stored in its own directory. Netlify CMS doesn't work with files that are stored this way ([feature request here](https://github.com/netlify/netlify-cms/issues/1472)), so you won't be able to see or edit the starter's included sample blog posts in Netlify CMS, but you will be able to create and edit new posts.
## Add Netlify CMS to your site ## Add Netlify CMS to your site
First let's install some dependencies. We'll need `netlify-cms-app` and `gatsby-plugin-netlify-cms`. Run the following command in the terminal at the root of your site: First let's install some dependencies. We'll need `netlify-cms-app` and `gatsby-plugin-netlify-cms`. Run the following command in the terminal at the root of your site:
```sh ```bash
npm install --save netlify-cms-app gatsby-plugin-netlify-cms npm install --save netlify-cms-app gatsby-plugin-netlify-cms
``` ```
@ -52,7 +50,7 @@ For the purpose of this guide we will deploy to Netlify from a GitHub repository
Create a `config.yml` file in the directory structure you see below: Create a `config.yml` file in the directory structure you see below:
```sh ```bash
├── static ├── static
│ ├── admin │ ├── admin
│ │ ├── config.yml │ │ ├── config.yml
@ -69,18 +67,34 @@ media_folder: static/img
public_folder: /img public_folder: /img
collections: collections:
- name: "blog" - name: 'blog'
label: "Blog" label: 'Blog'
folder: "content/blog" folder: 'content/blog'
create: true create: true
slug: "{{year}}-{{month}}-{{day}}-{{slug}}" slug: 'index'
media_folder: ''
public_folder: ''
path: '{{title}}/index'
editor: editor:
preview: false preview: false
fields: fields:
- { label: "Title", name: "title", widget: "string" } - { label: 'Title', name: 'title', widget: 'string' }
- { label: "Publish Date", name: "date", widget: "datetime" } - { label: 'Publish Date', name: 'date', widget: 'datetime' }
- { label: "Description", name: "description", widget: "string" } - { label: 'Description', name: 'description', widget: 'string' }
- { label: "Body", name: "body", widget: "markdown" } - { label: 'Body', name: 'body', widget: 'markdown' }
```
**Note:** The above configuration allows assets to be stored relative to their content. Therefore posts would be stored in the format below as it is in `gatsby-starter-blog`.
```bash
content/
├── blog
│ ├── first-post-title
│ │ ├── index.md
│ │ └── post-image.jpg
└── └── second-post-title
├── index.md
└── post-image.jpg
``` ```
Finally, add the plugin to your `gatsby-config.js`. Finally, add the plugin to your `gatsby-config.js`.