Skip to content

funsaized/s11a.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

s11a.com - Personal Blog

Modern Gatsby v5 blog built with TypeScript, Tailwind CSS v3, and shadcn/ui components. Features technical articles, project showcases, and optimized performance.

πŸš€ Features

  • 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

πŸ“ Project Structure

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

πŸ› οΈ Development

Prerequisites

  • Node.js 18+
  • npm 9+

Setup

# Install dependencies
npm install

# Start development server
npm run develop

# Build for production
npm run build

# Serve production build
npm run serve

Available Scripts

npm 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

πŸ“ Content Management

Adding Articles

  1. Create a new MDX file in src/content/articles/
  2. 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'
---
  1. Write your content using MDX syntax
  2. The article will automatically appear on the articles page

Apple Notes Exporter

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.md for detailed instructions

Supported Categories

  • Backend
  • Frontend
  • Healthcare
  • Architecture
  • DevOps
  • Database
  • Cloud
  • Security

🎨 Customization

Theming

The site uses CSS custom properties for theming. Modify src/styles/globals.css to customize:

  • Colors
  • Typography
  • Spacing
  • Border radius
  • Animations

Components

All UI components are built with shadcn/ui and can be customized in src/components/ui/.

πŸ“Š Performance

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

Performance Testing

# Run full performance test suite
npm run perf

# Individual tests
npm run lighthouse    # Lighthouse audit
npm run analyze      # Bundle analysis

πŸ” SEO Features

  • 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

πŸš€ Deployment

Netlify (Recommended)

  1. Connect Repository: Link your GitHub repository to Netlify

  2. Build Settings:

    • Build command: npm run build
    • Publish directory: public
    • Node version: 18
  3. Environment Variables (Optional):

    GA_MEASUREMENT_ID=your-google-analytics-id
    
  4. Deploy: Push to your main branch

Manual Deployment

# Run deployment script
./scripts/deploy/deploy.sh

# Or manually
npm run build
# Upload 'public' directory to your server

Performance Monitoring

Set up monitoring for:

  • Core Web Vitals
  • Lighthouse CI
  • Bundle size tracking
  • Error tracking

πŸ“ˆ Analytics

Google Analytics 4

  1. Create a GA4 property
  2. Update gatsby-config.ts with your Measurement ID:
    trackingIds: ["G-XXXXXXXXXX"]

Performance Monitoring

The site includes performance monitoring setup for:

  • Real User Monitoring (RUM)
  • Core Web Vitals tracking
  • Error boundary reporting

πŸ”§ Configuration

Key Configuration Files

  • gatsby-config.ts - Gatsby configuration and plugins
  • tailwind.config.js - Tailwind CSS configuration
  • netlify.toml - Netlify deployment configuration
  • tsconfig.json - TypeScript configuration

Environment Variables

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

πŸ§ͺ Testing

Performance Testing

# Full performance audit
npm run lighthouse:ci

# Individual page testing
npm run lighthouse

Type Checking

npm run typecheck

πŸ“¦ Technology Stack

  • 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

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and type checking
  5. Submit a pull request

πŸ“„ License

MIT License - see LICENSE file for details

πŸ”— Links


Built with ❀️ by Sai Nimmagadda

About

πŸ“ Personal website - Gatsby, React, and NodeJS

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •