The code base for the Codemanufacture
- Gatsby - a static site generator with following plugins:
- Canonical urls
- Copy linked files
- Google Tag Manager
- Robots.txt
- Sitemap
- Styled Components - CSS in JS
- Tailwindcss - Utility first css framework
- Twin.macro - Bridge between Styled components and Tailwindcss
- Typescript
- Development, QA Tools and automation
- CircleCI - a deployment pipeline
- Commitlint - commit message linter
- GraphQL Code Generator
- Husky - git hook management
- Jest - Jest testing framework
- Lint staged - lint runner against staged git files
- Prettier - an opinionated code formatter
- Renovate - automated dependency updates
- Stylelint - a modern linter for styles
- Typescript - a typed superset of JavaScript
- tslint - linter for TypeScript
- Marketing & SEO
.
├── .circleci // CircleCI automated deployment configuration
├── .huskyrc // husky configuration
├── .lintstagedrc // lint-staged configuration
├── .nvmrc // Node Version Manager configuration
├── .prettierignore // prettier ignored files configuration
├── .prettierrc // prettier configuration
├── .stylelintrc // stylelint configuration
├── codegen.yml // GraphQL code generator configuration
├── content // content
│ ├── blog // markdown blog posts
│ └── pages // markdown pages
├── gatsby // gatsby node api hooks
├── gatsby-config.ts // gatsby configuration
├── gatsby-node.ts // gatsby node hooks
├── gatsby-ssr.tsx // gatsby server-side rendering api
├── package.json // node.js application manifest
├── public // output folder (in .gitignore)
├── README.md // this file
├── src // sources
│ ├── components // all react components
│ ├── declarations.d.ts // declarations for no typescript modules/files
│ ├── gatsby-types.d.ts // gatsby types
│ └── pages // pages
├── static // static files automatically copied to output folder
├── renovate.json // renovate configuration
├── tailwind.config.js // tailwind configuration
├── tsconfig.json // typescript configuration
├── tslint.json // tslint configuration
└── yarn.lock // yarn lock file
- Clone the repo
git clone [email protected]:codemanufacture/codemanufacture.com.git
cd codemanufacture.com
to go into the project root directory- Run
yarn
to install dependencies
- Run
yarn develop
to start the hot-reloading development server open http://localhost:8000
to view the site in your the browser
In the project directory, you can run:
Generates HTML, JavaScript and other static files used for the site in production.
Runs linters and formatters to verify make sure code follows standards.
Wipes the local environment including built assets and cache
Runs the site in the development mode.
Open http://localhost:8000 to view the site in the browser.
Open http://localhost:8000/___graphql to view the interactive GraphQL editor.
Reformats code
Generates types for GraphQL queries
Runs linters against staged files
Runs stylelint on source files
Runs tslint on source files
Runs prettier on markdown files to print differences from formatting standards
Runs prettier on source files to print differences from formatting standards
Runs previously built site in the production mode.
Runs tests
Shows test coverage
Update test snapshots
Watch files for changes and rerun tests related to changed files
Runs type check against source files