- Install dependencies
npm install
- Fill up the environment variables
cp .env.example .env
An .env
file should consist of publicly available included in .env
as well as private ones:
ALGOLIA_ADMIN_KEY=
Environment variables
section.
npm run start
npm run build
npm run serve
npm run clean
โโโ src
โ โโโ components
โ โ โโโ pages โ React components that are being used specifically on a certain page
โ โ โโโ shared โ React components that are being used across the whole website
โ โโโ constants
โ โโโ hooks
โ โโโ icons
โ โโโ images
โ โโโ pages
โ โโโ styles
โ โโโ templates
โ โโโ utils
โ โโโ html.jsx โ HTML template for all generated pages. Read more about it here โ gatsbyjs.org/docs/custom-html
โโโ static
โ โโโ fonts
โ โโโ images
โโโ gatsby-browser.js โ Usage of the Gatsby browser APIs
โโโ gatsby-config.js โ Main configuration file for a Gatsby site
โโโ gatsby-node.js โ Usage of the Gatsby Node APIs
โโโ gatsby-ssr.js โ Usage of the Gatsby server-side rendering APIs
- Main JavaScript File
- Index File
- Folder with images and icons
- Folder with data
Also, each component may include another component that follows all above listed rules.
component
โโโ nested-component
โ โโโ data
โ โ โโโ nested-component-lottie-data.json
โ โโโ images
โ โ โโโ nested-component-image.jpg
โ โ โโโ nested-component-inline-svg.inline.svg
โ โ โโโ nested-component-url-svg.url.svg
โ โโโ nested-component.js
โ โโโ index.js
โโโ data
โ โโโ component-lottie-data.json
โโโ images
โ โโโ component-image.jpg
โ โโโ component-inline-svg.inline.svg
โ โโโ component-url-svg.url.svg
โโโ component.js
โโโ index.js
ESLint helps find and fix code style issues and force developers to follow same rules. Current configuration is based on Airbnb style guide.
Additional commands:
npm run lint
Run it to check the current status of eslint issues across project.
npm run lint:fix
Run it to fix all possible issues.
Prettier helps to format code based on defined rules. Difference between Prettier and ESLint.
Additional commands:
npm run format
Run it to format all files across the project.
Following extensions required to simplify the process of keeping the same code style across the project:
After installation enable "ESLint on save" by adding to your VS Code settings.json the following line:
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
You can navigate to settings.json by using Command Pallete (CMD+Shift+P) and then type "Open settings.json".
To enable Prettier go to Preferences -> Settings -> type "Format". Then check that you have esbenp.prettier-vscode as default formatter, and also enable "Format On Save".
Reload VS Code and auto-format will work for you.