Tech Stack | Setup | Development | Deployment
Thanks for checking out my site. This is the complete code for my website and blog, featuring articles on distributed systems, machine learning, and brain-computer interfaces.
- Framework: Gatsby v5
- UI Library: React v18
- Content: MDX (Markdown + JSX)
- Styling: styled-components
- Syntax Highlighting: Prism React Renderer
- Deployment: Netlify
- CI/CD: GitHub Actions
- Node.js: v22.x
Install dependencies:
npm installOr use clean install for CI/CD:
npm ciStart the development server:
npm startThe site will be available at http://localhost:8000
npm run build- Build the production sitenpm run lint- Run ESLintnpm run serve- Serve the production build locally
For convenience, common tasks are available via Make commands. Run make help to see all available commands:
make helpDevelopment:
make install # Install dependencies
make dev # Start development server (alias: make start)
make build # Build production site
make serve # Serve production build locallyCode Quality:
make lint # Run ESLint
make lint-fix # Auto-fix linting issues
make test # Run all tests (lint + build)Maintenance:
make clean # Clean build artifacts (.cache, public)
make clean-all # Clean everything including node_modules
make fresh # Fresh install (clean-all + install)
make rebuild # Clean rebuild (clean + build)Dependencies:
make audit # Run npm security audit
make audit-fix # Auto-fix security issues
make upgrade # Update all dependenciesUtilities:
make version # Show current version
make info # Show project informationMy site uses a comprehensive CI/CD pipeline with GitHub Actions and Netlify:
Every pull request triggers automated checks:
- Linting: ESLint checks for code quality
- Build Verification: Ensures the site builds successfully
- Node.js: Tests run on Node 22.x
- Preview Deploys: Every PR gets a preview URL for testing
- Production Deploys: Merges to
masterautomatically deploy to production - Static Generation: Gatsby builds optimized static HTML/CSS/JS
While Netlify handles builds and deploys excellently, GitHub Actions provides critical quality gates:
- Linting enforcement ensures code adheres to consistent standards
- Build verification catches issues before deployment
- Automated testing maintains long-term stability and cleanliness
- Required status checks prevent broken code from reaching production
This dual approach ensures both deployment automation and code quality.
This website was originally based on gatsby-starter-minimal-blog by LekoArts, and has been extensively customized and modernized.