Skip to content

ntnr32/blogportal

Repository files navigation

Gatsby

Peronal Blog Portal

github pages build

🚀 Quick start

  1. Start developing.

    navigate to blog-portal directory and start it up.

    cd blog-portal/
    gatsby develop
  2. Open the source code and start editing!

    Your site is now running at http://localhost:8000!

    Note: You'll also see a second link: 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.

🎁 Technical Stack

  1. Gatsby - Generate Static Site
  2. React JS - Gatsby is based on React JS
  3. GraphQL - Query Language
  4. TailwindCSS - CSS Utility
  5. Hasky JS - Git Hooks for dev environment.
  6. Github Actions - Test and Deploy

🛠 Gatsby Plugins

  1. gatsby-plugin-manifest
  2. gatsby-source-filesystem
  3. gatsby-plugin-react-helmet
  4. gatsby-plugin-mdx
  5. gatsby-plugin-purgecss
  6. gatsby-plugin-sharp
  7. gatsby-transformer-sharp
  8. gatsby-plugin-postcss
  9. gatsby-remark-classes

🧐 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
├── package-lock.json
├── package.json
└── README.md
  1. /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”.

  2. .prettierrc: This is a configuration file for Prettier. Prettier is a tool to help keep the formatting of your code consistent.

  3. gatsby-browser.js: This file is where Gatsby expects to find any usage of the Gatsby browser APIs (if any). These allow customization/extension of default Gatsby settings affecting the browser.

  4. 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 for more detail).

  5. gatsby-node.js: This file is where Gatsby expects to find any usage of the Gatsby Node APIs (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.

  6. gatsby-ssr.js: This file is where Gatsby expects to find any usage of the Gatsby server-side rendering APIs (if any). These allow customization of default Gatsby settings affecting server-side rendering.

  7. 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).

  8. 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.

👩‍💻 Development Steps

  1. Clone the repository.

    git clone https://github.com/ntnr32/blogportal.git

  2. Install NPM dependencies

    npm install

  3. Create a new branch for development (ex. feature/f1 or fix/issue01 etc.)

    git checkout -b <<branch-name>>

  4. Make changes in code and commit & push it to remote.

    • git add --a .

      Note: command will stage all the files (i.e., tracked and untracked)

    • git commit -m <<commit message>>

      Note: use conventional commit strategy

    • git push origin

  5. Raise a Pull Request from github protal

  6. Review and Approve the PR and delete the branch.

  7. Checkout to main branch.

    git checkout main

  8. Clean local branches

    • git branch -a

      List all local branches

    • git branch -d <<branch-name>>

      Delete local development branch

    • git remote prune origin

      Clean remote branches