CLAUDE.md - Portfolio Website Development Guide

Project Overview

This is a Jekyll-based personal portfolio website for Abhivadan Sharma, deployed on GitHub Pages. The site showcases professional background, experience, and achievements with a modern, responsive design.

Technology Stack

Project Structure

├── _config.yml          # Jekyll configuration with SEO, plugins, collections
├── _layouts/            # Page templates
│   └── default.html     # Main layout with theme toggle, scroll-to-top
├── _includes/           # Reusable components
│   ├── header.html      # Site header
│   ├── navigation.html  # Navigation menu (includes Personal Projects link)
│   ├── education.html   # Education section
│   ├── experience.html  # Work experience
│   ├── competencies.html # Skills display
│   ├── business-impact.html # Professional projects/achievements
│   └── personal-projects.html # Personal development projects
├── _data/               # Content data (YAML files)
│   ├── profile.yml      # Personal info, bio, links
│   ├── education.yml    # Educational background
│   ├── experience.yml   # Work experience
│   ├── competencies.yml # Technical skills
│   ├── business_impact.yml # Professional projects and achievements
│   └── personal_projects.yml # Personal development projects
├── assets/
│   ├── css/main.css     # Main stylesheet (13.8KB)
│   └── js/main.js       # JavaScript functionality (10KB)
├── _sass/               # Sass partials (currently empty)
├── src/                 # Images and media files
├── index.md             # Main page content
└── index.html           # Alternative main page (currently empty)

Key Features

Development Commands

# Install dependencies
bundle install

# Serve locally
bundle exec jekyll serve
# Access at: http://localhost:4000

# Build for production
bundle exec jekyll build

Content Management

All content is managed through YAML files in _data/:

profile.yml

education.yml

experience.yml

competencies.yml

business_impact.yml

personal_projects.yml

Jekyll Configuration

Key settings in _config.yml:

Styling Architecture

JavaScript Features

Git Status

Deployment

Development Notes

Common Tasks

  1. Update Content: Modify YAML files in _data/
  2. Style Changes: Edit assets/css/main.css
  3. Layout Changes: Modify files in _includes/ or _layouts/
  4. New Features: Add to assets/js/main.js
  5. SEO Updates: Modify _config.yml social/author settings

Testing

Performance Considerations