πŸ§ͺ Local Testing Guide

This guide will help you test all the modern features locally before deploying to GitHub Pages.

πŸš€ Quick Start

1. Install Dependencies

# Install Ruby dependencies
bundle install

# Install Node.js dependencies
npm install

2. Start Development Server

# Option 1: Using npm script
npm run dev

# Option 2: Using Jekyll directly
bundle exec jekyll serve --livereload --port 4000

# Option 3: Using Jekyll with draft posts
bundle exec jekyll serve --livereload --drafts --port 4000

3. Open in Browser

Navigate to: http://localhost:4000


βœ… Feature Testing Checklist

πŸŒ™ Dark Mode Toggle

Location: Fixed button in top-right corner

Test Steps:

  1. βœ… Click the moon icon to toggle dark mode
  2. βœ… Refresh the page - theme should persist
  3. βœ… Check system preference (if dark mode enabled in OS)
  4. βœ… Test on mobile devices

Expected Behavior:

  • Smooth transition between themes
  • Icon changes (moon/sun)
  • Theme persists across page reloads
  • Mobile browsers update theme-color

πŸ“Š Reading Progress Bar

Location: Fixed bar at top of page

Test Steps:

  1. βœ… Open any blog post or long page
  2. βœ… Scroll down the page
  3. βœ… Observe progress bar filling
  4. βœ… Scroll back up - bar should decrease

Expected Behavior:

  • Progress bar appears at top
  • Smooth gradient animation
  • Real-time progress tracking
  • Resets on new page

Location: Search icon in navigation

Test Steps:

  1. βœ… Click search icon in navigation
  2. βœ… Type search query
  3. βœ… Press Escape to close
  4. βœ… Test keyboard navigation

Expected Behavior:

  • Modern overlay with blur effect
  • Search input focuses automatically
  • Escape key closes overlay
  • Click outside to close

πŸ“§ Newsletter Subscription

Location: Newsletter section (if added to page)

Test Steps:

  1. βœ… Enter email address
  2. βœ… Click subscribe button
  3. βœ… Observe validation
  4. βœ… Check form submission feedback

Expected Behavior:

  • Email validation works
  • Animated button feedback
  • Success message on submission
  • Form resets after submission

πŸ“± Table of Contents

Location: Sidebar on blog posts (desktop only)

Test Steps:

  1. βœ… Open a blog post with multiple headings
  2. βœ… Scroll through the post
  3. βœ… Observe TOC highlighting
  4. βœ… Click TOC links

Expected Behavior:

  • TOC appears on desktop (1200px+)
  • Active section highlights
  • Smooth scroll to sections
  • Hidden on mobile/tablet

πŸ’Ό Skills Showcase

Location: Skills section (if added to page)

Test Steps:

  1. βœ… Scroll to skills section
  2. βœ… Hover over skill cards
  3. βœ… Test responsive layout
  4. βœ… Verify dark mode styling

Expected Behavior:

  • Card hover animations
  • Grid layout adjusts for screen size
  • Dark mode colors apply
  • Smooth transitions

🎨 Visual Design

Test Across Devices:

Desktop (1200px+):

  • βœ… Navigation mega-menu
  • βœ… Sticky table of contents
  • βœ… Hover effects on cards
  • βœ… Large hero sections

Tablet (768px-1199px):

  • βœ… Responsive navigation
  • βœ… Card grid adjustments
  • βœ… Touch-friendly buttons
  • βœ… Optimized typography

Mobile (< 768px):

  • βœ… Hamburger menu
  • βœ… Single-column layout
  • βœ… Touch-optimized UI
  • βœ… Readable typography

πŸ”§ Browser Testing

  • βœ… All features supported
  • βœ… CSS backdrop-filter works
  • βœ… Modern JavaScript features
  • βœ… DevTools available

Firefox

  • βœ… Full feature support
  • βœ… CSS grid/flexbox
  • βœ… ES6+ JavaScript
  • βœ… Responsive design mode

Safari

  • βœ… Webkit prefixes added
  • βœ… backdrop-filter supported
  • βœ… Mobile Safari tested
  • βœ… iOS compatibility

Mobile Browsers

  • βœ… Chrome Mobile
  • βœ… Safari iOS
  • βœ… Samsung Internet
  • βœ… Firefox Mobile

πŸ“± Mobile Testing

iOS Testing

  1. Open Safari on iPhone/iPad
  2. Navigate to http://localhost:4000
  3. Test touch interactions
  4. Verify responsive layout

Android Testing

  1. Open Chrome on Android device
  2. Navigate to http://localhost:4000
  3. Test touch gestures
  4. Verify mobile navigation

🎯 Performance Testing

Lighthouse Audit

  1. Open Chrome DevTools (F12)
  2. Go to Lighthouse tab
  3. Run audit for:
    • βœ… Performance
    • βœ… Accessibility
    • βœ… Best Practices
    • βœ… SEO

Target Scores:

  • Performance: 95+
  • Accessibility: 90+
  • Best Practices: 95+
  • SEO: 95+

Network Testing

  1. Open DevTools Network tab
  2. Throttle to β€œSlow 3G”
  3. Test page load time
  4. Verify lazy loading

πŸ› Common Issues & Solutions

Dark Mode Not Working

Symptoms: Toggle doesn’t change theme Solutions:

  • Check JavaScript console for errors
  • Verify localStorage is accessible
  • Clear browser cache
  • Check CSS is loading

Search Not Opening

Symptoms: Clicking search does nothing Solutions:

  • Verify JavaScript is enabled
  • Check for console errors
  • Ensure Font Awesome is loading
  • Test keyboard shortcut (Ctrl/Cmd + K)

Progress Bar Not Showing

Symptoms: No progress indicator Solutions:

  • Check if reading-progress.html is included
  • Verify JavaScript is loaded
  • Test on blog post pages
  • Check z-index conflicts

Responsive Issues

Symptoms: Layout breaks on mobile Solutions:

  • Test viewport meta tag
  • Check CSS media queries
  • Verify Bootstrap grid
  • Test on actual devices

πŸ” Testing Commands

Build and Test

# Build for production
npm run build:prod

# Serve built site
cd _site && python -m http.server 4000

# Test production build locally
open http://localhost:4000

Lint JavaScript

# Check JavaScript syntax
npm run lint

# Fix common issues
npm run lint -- --fix

Jekyll Build Test

# Test Jekyll build
bundle exec jekyll build

# Check for build errors
bundle exec jekyll doctor

# Serve with drafts
bundle exec jekyll serve --drafts

πŸ“‹ Feature Verification

Visual Features

  • βœ… Dark/light mode toggle
  • βœ… Modern typography
  • βœ… Card-based layouts
  • βœ… Smooth animations
  • βœ… Responsive design

Functional Features

  • βœ… Search functionality
  • βœ… Reading progress
  • βœ… Newsletter form
  • βœ… Table of contents
  • βœ… Skills showcase

Technical Features

  • βœ… CSS variables
  • βœ… Modern JavaScript
  • βœ… Performance optimizations
  • βœ… Accessibility features
  • βœ… SEO enhancements

πŸš€ Next Steps After Testing

If All Tests Pass:

  1. βœ… Commit changes to Git
  2. βœ… Push to GitHub repository
  3. βœ… Enable GitHub Pages
  4. βœ… Configure LinkedIn API (optional)
  5. βœ… Deploy to production

If Issues Found:

  1. πŸ” Check browser console
  2. πŸ”§ Review error messages
  3. πŸ“± Test on multiple devices
  4. πŸ§ͺ Verify file paths
  5. πŸ”„ Clear cache and retry

πŸ“ž Support Resources

Documentation

  • Jekyll: https://jekyllrb.com/docs/
  • Bootstrap: https://getbootstrap.com/docs/
  • Font Awesome: https://fontawesome.com/docs/

Debug Tools

  • Chrome DevTools
  • Firefox Developer Tools
  • Safari Web Inspector
  • VS Code Live Server

Testing Tools

  • Lighthouse
  • WebPageTest
  • GTmetrix
  • BrowserStack

Happy Testing! πŸŽ‰

Your website is now feature-packed and ready for local testing. All modern features work without external API dependencies.