A modern, responsive personal portfolio website built with Next.js 14, TypeScript, Tailwind CSS, and Framer Motion. Features a clean design with smooth animations, blog support, and project showcases.
git clone https://github.com/srishilesh/srishilesh.github.io.git
cd srishilesh.github.io
npm install
# or
yarn install
# or
pnpm install
cp .env.example .env.local
# Edit .env.local with your values
npm run dev
# or
yarn dev
# or
pnpm dev
├── app/ # Next.js 14 app directory
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ ├── projects/ # Projects pages
│ └── writing/ # Blog pages
├── components/ # React components
│ ├── layout/ # Layout components
│ ├── sections/ # Page sections
│ └── ui/ # UI components
├── data/ # Static data
├── types/ # TypeScript types
└── public/ # Static assets
Edit data/projects.ts to add new projects:
{
slug: 'project-slug',
title: 'Project Title',
description: 'Project description',
image: '/projects/project-image.jpg',
tech: ['Next.js', 'TypeScript', 'Tailwind CSS'],
github: 'https://github.com/username/repo',
demo: 'https://demo-url.com',
featured: true,
date: '2024-01-01',
}
Edit data/blog.ts to add new blog posts:
{
slug: 'post-slug',
title: 'Post Title',
excerpt: 'Post excerpt',
content: 'Full post content',
date: '2024-01-01',
readTime: 5,
tags: ['Tag1', 'Tag2'],
featured: true
}
Edit tailwind.config.js to customize colors, fonts, and other design tokens.
This portfolio is configured for multiple deployment platforms. Choose the one that best fits your needs:
Automatic Deployment (Recommended):
main branchhttps://yourusername.github.ioManual Deployment:
# Build the project for GitHub Pages
npm run build:github
# The static files will be in the 'out' directory
# Upload the contents of 'out' to your GitHub Pages repository
Custom Domain Setup:
CNAME file in the root directoryAutomatic Deployment:
Manual Deployment:
# Install Vercel CLI
npm i -g vercel
# Deploy (Vercel will use standard Next.js build)
vercel --prod
Automatic Deployment:
npm run build:githuboutManual Deployment:
# Build the project for static hosting
npm run build:github
# Install Netlify CLI
npm install -g netlify-cli
# Deploy
netlify deploy --prod --dir=out
The project can generate static files for other hosting services:
npm run build:github
out directory to your hosting provider:
Note: For Vercel deployment, use the standard npm run build command or let Vercel handle the build automatically.
Create a .env.local file based on .env.example:
# Required
NEXT_PUBLIC_SITE_URL=https://yourdomain.com
NEXT_PUBLIC_SITE_NAME="Your Name"
NEXT_PUBLIC_EMAIL=your@email.com
# Optional
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX
NEXT_PUBLIC_GITHUB_URL=https://github.com/yourusername
NEXT_PUBLIC_LINKEDIN_URL=https://linkedin.com/in/yourusername
Type: CNAME
Name: www (or @)
Value: yourusername.github.io
public/images/profile.jpgCNAME file with your domainnpm run buildnpm run type-checknpm run lintpublic/images/Use the included deployment script for easy setup:
# Make executable (first time only)
chmod +x deploy.sh
# Run deployment preparation
./deploy.sh
The portfolio is fully responsive and optimized for:
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint errors
npm run type-check # Run TypeScript type checking
npm run clean # Clean build artifacts
Build Errors:
# Clear cache and reinstall
npm run clean
rm -rf node_modules package-lock.json
npm install
Image Loading Issues:
public directory/)Deployment Issues:
next.config.js is configured for static exportStyling Issues:
npm run build to check for Tailwind CSS purge issuesThis project is open source and available under the MIT License.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Made with ❤️ by Srishilesh