| Gatsby | React | Blog | contentful | Gatsby-plugin-file | Helmet |
| image-plugin-sharp | SPA | Netlify | Hosting | CSS | SCSS | JSX |
| Filesystem | JS | GraphQL | Playground | Node.js | createNode | slug |
- 1: Go to terminal & type:
-
npm install -g gatsby-cli -
gatsby new bootcamp https://github.com/gatsbyjs/gatsby-starter-hello-world -
cd bootcamp
We have Installed Gatsby, Now We will run in dev mode & start coding
- 2: Go to terminal & type:
-
npm run develop - 3: Go To index.js @
/src/pages/index.js& follow inst [1-2] - 4: Create blog.js @
/src/pages/blog.js& follow inst [3-5] - 5: Create about @
/src/pages/about.js& follow inst [6-8] - 6: Create contacts @
/src/pages/contacts.js& follow inst [9-11] - 7: Go To index.js @
/src/pages/index.js& create contacts PageLinks, follow inst [12-13] - 8: Go To contacts.js @
/src/pages/contacts.js& create Home PageLinks, follow inst [14-15] - 9: Go To about.js @
/src/pagabout.js& create Home & Contacts PageLinks, follow inst [16-17] - 10: Create components directory @
/src/components - 11: Create footer @
/src/components/footer.js& follow inst [18-20] - 12: Go To index.js @
/src/pages/index.js& import Footer ComponentLinks, follow inst [21.1-21.2] - 13: Similarly Go To all other Pages add Footer ComponentLinks
- 14: Create header @
/src/components/header.js& follow inst [22-24] - 15: Go To index.js @
/src/pages/index.js& import header ComponentLinks, follow inst [25.1-25.2] - 16: Similarly Go To all other Pages add header ComponentLinks
- 17: Create layout @
/src/components/layout.js& follow inst [26-28] - 18: Go To index.js @
/src/pages/index.js& Delete header & footer components & then import layout ComponentLinks, follow inst [29.1-29.2] - 19: Similarly Go To all other Pages add layout ComponentLinks
- 20: Create styles directory @
/src/styles& In terminal installgatsby-plugin--sass: -
Ctrl+c -
npm install --save node-sass gatsby-plugin-sass - 21: Create gatsby-config.js directory @
/gatsby-config.js& follow inst [30] - 22: Create index.scss directory @
/src/index.scss - 23: Restart the server, using the terminal cmd:
-
npm run develop - 24: Now go to link
http://links.mead.io/gatsbystyles& copy the raw code & paste in/src/styles/index.scss - 25: Create header.module.scss @
/src/components/header.module.scss& follow inst [31] - 26: Go To header.js @
/src/pages/header.js&import header.scss - 27: Go to
/gatsby-config.js& follow inst [32] - 28: Go to link
localhost:8000/___graphql& type query: -
query { site { siteMetadata { title}}} - 29: Go To header.js @
/src/components/header.js& follow inst [33] - 30: Go To footer.js @
/src/components/footer.js& follow inst [34] - 31: Now for installing the
new GraphQl playground IDE, go to terminal: -
Ctrl+c - 32: Create .env.dev @
/.env.dev& follow inst [35] -
npm i --save-dev env-cmd - 33: Now go to
/package.json& change underscripts/develop/"env-cmd .env.dev gatsby develop", type:GATSBY_GRAPHQL_IDE=playground -
npm run develop - 34: Now Create Posts directory @
/src/posts - 35: Create gatsby.md @
/src/posts/gatsby.md - 36: Create react.md @
/src/posts/react.md - 37: Now Install gatsby
plugin for filesystem, go to terminal: -
Ctrl+c -
npm i gatsby-source-filesystem@2.0.28 - 38: Go to
/gatsby-config.js& follow inst [36]``` -
npm run develop - 39: Go to link
localhost:8000/___graphql& type query: -
query { allFile { edges { node { name, dir, extension }}}} - 40: Now Install gatsby
plugin for prarsing filesystem, go & -
Ctrl+c -
npm i gatsby-transformer-remark@2.3.8 - 41: Go to
/gatsby-config.js& follow inst [37] -
npm run develop - 42: o to link
localhost:8000/___graphql& type query: -
query { allMarkdownRemark { edges { node { frontmatter { title date }, html, excerpt, wordCount { paragraphs sentences words } }}}} - 43: Go To blog.js @
/src/pages/blog.js& follow inst [38] - 44: Create gatsby-node.js @
/gatsby-node.js& follow inst [39] - 45: Now Create templates directory @
/src/templates - 46: Create blog.js @
/src/templates/blog.js& follow inst [40] - 47: Go To gatsby-node.js @
/gatsby-node.js& follow inst [41] - 48: Go To blog.js @
/src/pages/blog.js& follow inst [42] - 49: Now Install gatsby
plugin for fetching, prarsing, linking images, go & -
Ctrl+c -
npm i gatsby-plugin-sharp@2.0.32 gatsby-remark-images@3.0.10 gatsby-remark-relative-images@0.2.2 - 50: Go to
/gatsby-config.js& follow inst [43]``` -
npm run develop - 51: create a
folderforeach postinpost directoryfor structuring - 52: Now create footer.module.scss @
/src/components/footer.module.scss& follow inst [44] - 53: Now import footer.module.scss @
/src/components/footer.js, inst [44.1] - 54: Now create blog.module.scss @
/src/pages/blog.module.scss& follow inst [45] - 55: Now import blog.module.scss @
/src/pages/blog.js, inst [45.1] - 56: Now for
cms, we will usecontentful, so go to linkwww.contentful.com& create an account. - 57: Now Install
gatsby plugin for contentful, go & -
Ctrl+c -
npm i gatsby-source-contentful - 58: Go to
/gatsby-config.js& follow inst [46] -
npm run develop - 59: Go to link
localhost:8000/___graphql& type query: -
query { allContentfulBlogPost(sort: { fields: publishedDate, order: DESC }) { edges { node { title slug publishedDate(formatString: "DD-MMM-YYYY")}}}} - 60: Go To blog.js @
/src/pages/blog.js& follow inst [47] - 61: Go To gatsby-node.js @
/gatsby-node.js& follow inst [48] - 62: Go To blog.js @
/src/templates/blog.js& follow inst [49] - 63: Install
plugintoparse bodyfromcontentful -
ctrl+c -
npm i @contentful/rich-text-react-renderer - 64: Go To blog.js @
/src/templates/blog.js& follow inst [50] - 65: Create 404.js @
/src/pages/404.js& follow inst [51] - 66: Now install
Helmet pluginfor configuringhead of page -
ctrl+c -
npm i gatsby-plugin-react-helmet@3.0.12 react-helmet@5.2.0 - 67: Go to
/gatsby-config.js& follow inst [52] - 68: Create head @
/src/components/head.js& follow inst [53] - 69: Go To index.js @
/src/pages/index.js& import head ComponentLinks, follow inst [54] - 70:
SimilarlyGo Toall other Pagesadd head ComponentLinks
Done--- Now Let us Push it to git
- 71:
git status: Check the status of the git repo. - 72:
git add .: Add all the required changes to git repo. - 73:
git commit -m "final gatsby-site": Commit - Save all changes with a message. - 74:
git remote add origin https://* github.com/Ajesh777/* gatsby-bootcamp.git: Connecting to your created repo @ github site, copy your link @ create repo, option. - 75:
git push -u origin master: Now finally push all contents to this github repo.
Done--- Now we are ready fo Deploying to Netlify
- 76: Go to the link
https://www.netlify.com/& sign up forfree - 77: Give access to your github account.
- 78: Go to your email, inbox & then Verify your email account.
- 79: Now go back hit
create a new site - 80: Select your github repo we just created
- 81: Select Advanced Build Settings
- 82: Click on variables & add the neccesary .env variables we created for contentful.
- 83: Finaly Click Deploy Site
Done---