π§ͺ 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:
- β Click the moon icon to toggle dark mode
- β Refresh the page - theme should persist
- β Check system preference (if dark mode enabled in OS)
- β 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:
- β Open any blog post or long page
- β Scroll down the page
- β Observe progress bar filling
- β Scroll back up - bar should decrease
Expected Behavior:
- Progress bar appears at top
- Smooth gradient animation
- Real-time progress tracking
- Resets on new page
π Advanced Search
Location: Search icon in navigation
Test Steps:
- β Click search icon in navigation
- β Type search query
- β Press Escape to close
- β 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:
- β Enter email address
- β Click subscribe button
- β Observe validation
- β 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:
- β Open a blog post with multiple headings
- β Scroll through the post
- β Observe TOC highlighting
- β 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:
- β Scroll to skills section
- β Hover over skill cards
- β Test responsive layout
- β 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
Chrome/Edge (Recommended)
- β 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
- Open Safari on iPhone/iPad
- Navigate to
http://localhost:4000 - Test touch interactions
- Verify responsive layout
Android Testing
- Open Chrome on Android device
- Navigate to
http://localhost:4000 - Test touch gestures
- Verify mobile navigation
π― Performance Testing
Lighthouse Audit
- Open Chrome DevTools (F12)
- Go to Lighthouse tab
- Run audit for:
- β Performance
- β Accessibility
- β Best Practices
- β SEO
Target Scores:
- Performance: 95+
- Accessibility: 90+
- Best Practices: 95+
- SEO: 95+
Network Testing
- Open DevTools Network tab
- Throttle to βSlow 3Gβ
- Test page load time
- 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:
- β Commit changes to Git
- β Push to GitHub repository
- β Enable GitHub Pages
- β Configure LinkedIn API (optional)
- β Deploy to production
If Issues Found:
- π Check browser console
- π§ Review error messages
- π± Test on multiple devices
- π§ͺ Verify file paths
- π 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.