Modern Gatsby v5 blog built with TypeScript, Tailwind CSS v3, and shadcn/ui components. Features technical articles, project showcases, and optimized performance.
- Modern Stack: Gatsby v5, TypeScript, Tailwind CSS v3, 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 18+
- npm 9+
# 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 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
The exporter/ directory contains a Python tool for converting Apple Notes to MDX format:
- Purpose: Export Apple Notes with smart AI-powered frontmatter generation
- Features: Automatic image extraction, category organization, kebab-case filenames
- Output: Web-ready MDX files with
/images/articles/image paths - Usage: See
exporter/README.mdfor detailed instructions
- 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: Optimized LCP, FID, CLS
- Image Optimization: gatsby-plugin-image with WebP
- 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:
18
- Build command:
-
Environment Variables (Optional):
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 v3
- 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