Modern Gatsby v5 blog built with React 18, TypeScript, Tailwind CSS v4, and shadcn/ui components. Features technical articles, project showcases, and optimized performance.
- Modern Stack: Gatsby v5, React 18, TypeScript, Tailwind CSS v4, shadcn/ui
- Content Management: MDX support with syntax highlighting and table of contents
- Performance Optimized: Lighthouse scores >90, image optimization, code splitting
- SEO Ready: Structured data, Open Graph, Twitter Cards, sitemap
- Dark/Light Theme: System preference aware theme switching
- Responsive Design: Mobile-first approach with beautiful UI components
src/
βββ components/ # Reusable UI components
β βββ ui/ # shadcn/ui base components
β βββ layout/ # Layout components (Header, Footer, SEO)
β βββ home/ # Home page specific components
β βββ articles/ # Article-related components
β βββ mdx/ # MDX custom components
βββ content/ # MDX content files
β βββ articles/ # Blog articles
βββ pages/ # Gatsby pages
βββ templates/ # Page templates
βββ styles/ # Global styles and themes
βββ utils/ # Utility functions
- Node.js 22
- npm 10+
# Install dependencies
npm install
# Start development server
npm run develop
# Build for production
npm run build
# Serve production build
npm run servenpm run develop # Start development server
npm run build # Build for production
npm run serve # Serve production build
npm run clean # Clean Gatsby cache
npm run typecheck # Run TypeScript checks
npm run validate:content # Validate MDX metadata and local images
npm run lighthouse # Run Lighthouse performance tests
npm run lighthouse:ci # Build and test performance
npm run analyze # Analyze bundle size
npm run perf # Full performance testing suite- Create a new MDX file in
src/content/articles/ - Add frontmatter with required fields:
---
title: "Your Article Title"
slug: your-article-slug
excerpt: "Brief description of the article"
date: "2024-01-01"
category: "Technology"
tags: ["React", "TypeScript"]
readingTime: "5 min read"
featured: false
author: "Sai Nimmagadda"
---- Write your content using MDX syntax
- The article will automatically appear on the articles page
- Backend
- Frontend
- Healthcare
- Architecture
- DevOps
- Database
- Cloud
- Security
The site uses CSS custom properties for theming. Modify src/styles/globals.css to customize:
- Colors
- Typography
- Spacing
- Border radius
- Animations
All UI components are built with shadcn/ui and can be customized in src/components/ui/.
The site is optimized for performance with:
- Lighthouse Scores: >90 for all metrics
- Core Web Vitals: Tracks LCP, INP, and CLS
- Code Splitting: Automatic route-based splitting
- Caching: Optimized cache headers
- Bundle Analysis: webpack-bundle-analyzer integration
# Run full performance test suite
npm run perf
# Individual tests
npm run lighthouse # Lighthouse audit
npm run analyze # Bundle analysis- Structured Data: JSON-LD for articles and author
- Meta Tags: Complete Open Graph and Twitter Card support
- Sitemap: Automatically generated
- Robots.txt: SEO-friendly configuration
- Canonical URLs: Prevent duplicate content issues
- Performance: Fast loading times improve SEO rankings
-
Connect Repository: Link your GitHub repository to Netlify
-
Build Settings:
- Build command:
npm run build - Publish directory:
public - Node version:
22.4.1
- Build command:
-
Environment Variables (Optional):
GATSBY_GA_MEASUREMENT_ID=your-google-analytics-id -
Deploy: Push to your main branch
# Run deployment script
./scripts/deploy/deploy.sh
# Or manually
npm run build
# Upload 'public' directory to your serverSet up monitoring for:
- Core Web Vitals
- Lighthouse CI
- Bundle size tracking
- Error tracking
- Create a GA4 property
- Update
gatsby-config.tswith your Measurement ID:trackingIds: ["G-XXXXXXXXXX"];
The site includes performance monitoring setup for:
- Real User Monitoring (RUM)
- Core Web Vitals tracking
- Error boundary reporting
gatsby-config.ts- Gatsby configuration and pluginstailwind.config.js- Tailwind CSS configurationnetlify.toml- Netlify deployment configurationtsconfig.json- TypeScript configuration
Create a .env file for local development:
# Optional: Google Analytics
GA_MEASUREMENT_ID=G-XXXXXXXXXX
# Optional: Site URL (for sitemap)
GATSBY_SITE_URL=https://s11a.com# Full performance audit
npm run lighthouse:ci
# Individual page testing
npm run lighthousenpm run typecheck- Framework: Gatsby v5
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: shadcn/ui (Radix UI + Tailwind)
- Content: MDX with remark/rehype plugins
- Icons: Lucide React
- Deployment: Netlify
- Analytics: Google Analytics 4
- Performance: Lighthouse CI
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and type checking
- Submit a pull request
MIT License - see LICENSE file for details
- Live Site: s11a.com
- GitHub: Repository
- Author: Sai Nimmagadda
Built with β€οΈ by Sai Nimmagadda