Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/proustibat/recipes-gatsby-contentful
https://github.com/proustibat/recipes-gatsby-contentful
contentful gatsby i18next react react-i18next typescript
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/proustibat/recipes-gatsby-contentful
- Owner: proustibat
- License: 0bsd
- Created: 2020-09-24T14:29:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-20T23:49:20.000Z (3 months ago)
- Last Synced: 2024-11-21T00:27:02.718Z (3 months ago)
- Topics: contentful, gatsby, i18next, react, react-i18next, typescript
- Language: CSS
- Homepage:
- Size: 1.63 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Gatsby Contentful Recipes π
## β¨ Demo
[https://prstbt-recipes.netlify.app/](https://prstbt-recipes.netlify.app/)
## π Quick start
1. **CMS Configuration**
1. Create an account and a space on [Contentful](https://www.contentful.com/).
2. Create a `.env` locally with your credentials as follows:
```shell
export CONTENTFUL_SPACE_ID=xxx000xxx0x0
export CONTENTFUL_DELIVERY_API=xXXXXxxXXxXx0XxXXXx0xxxxxXxxxXxXxX00xxxXXxX
export CONTENTFUL_PREVIEW_API=0XxXx0xxX0XxxXXxXxxxX0xxxx0xXxxxxx0Xx0xxx0x
export DEBUG=true
```I suggest you tu use [direnv](https://direnv.net/) to manage your environment variables.
3. Be sure contentful-cli (read [Contentful-cli](https://www.contentful.com/developers/docs/tutorials/cli/installation/) documentation) is installed and you're logged-in (read [Contenful Authentication](https://www.contentful.com/developers/docs/tutorials/cli/authentication/) documentation).
4. Import content model provided :
```shell
yarn import-cms-data
```Read [Importing and exporting content with the Contentful CLI](https://www.contentful.com/developers/docs/tutorials/cli/import-and-export/) documentation)
You can export data later if you want:
```shell
yarn export-cms-data
```2. **Client Installation.**
Be sure you installed [Gatsby](https://www.gatsbyjs.com/) (`yarn global add gatsby-cli`).
Then install project's packages:
```shell
yarn
```3. **Start developing.**
```shell
yarn start
```4. **Open the source code and start editing!**
Your site is now running at [`http://localhost:8000`](http://localhost:8000)!
Note: You'll also see a second link: [`http://localhost:8000/___graphql`](http://localhost:8000/___graphql). This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-five/#introducing-graphiql).
## π§ What's inside?
A quick look at the top-level files and directories you'll see in a Gatsby project.
.
βββ node_modules
βββ src
βββ .gitignore
βββ .prettierrc
βββ gatsby-browser.js
βββ gatsby-config.js
βββ gatsby-node.js
βββ gatsby-ssr.js
βββ LICENSE
βββ package-lock.json
βββ package.json
βββ README.md1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for βsource codeβ.
3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.
5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins youβd like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail).
7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license.
10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You wonβt change this file directly).**
11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the projectβs name, author, etc). This manifest is how npm knows which packages to install for your project.
12. **`README.md`**: A text file containing useful reference information about your project.
## π Learning Gatsby
Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start:
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
## π« Deploy
Auto publishing is on.
Deploys from master are published automatically [here](https://prstbt-recipes.netlify.app/fr-FR/).