A sophisticated portfolio website built with Next.js 13+, TypeScript, and Tailwind CSS, featuring a blog, project showcase, and dynamic content management.
src/
āāā app/ # Next.js app directory
ā āāā about/ # About page
ā ā āāā page.tsx # About page component
ā āāā articles/ # Blog articles section
ā ā āāā [article]/ # Dynamic article routes
ā ā ā āāā page.mdx # Article content
ā ā āāā page.tsx # Articles list page
ā āāā projects/ # Projects section
ā ā āāā page.tsx # Projects list page
ā āāā feed.xml/ # RSS feed
ā ā āāā route.ts # Feed generator
ā āāā layout.tsx # Root layout with providers
ā āāā page.tsx # Home page
ā
āāā components/ # Reusable components
ā āāā Layout/ # Layout components
ā ā āāā ArticleLayout.tsx # Blog post layout
ā ā āāā Header.tsx # Navigation header
ā ā āāā Footer.tsx # Site footer
ā āāā UI/ # UI components
ā ā āāā Button.tsx # Reusable button
ā ā āāā Card.tsx # Card component
ā ā āāā Container.tsx # Container wrapper
ā āāā SocialIcons.tsx # Social media icons
ā
āāā lib/ # Utility functions
ā āāā articles.ts # Article management
ā āāā formatDate.ts # Date formatting
ā
āāā styles/ # Styling
ā āāā prism.css # Code highlighting
ā āāā tailwind.css # Tailwind imports
ā
āāā images/ # Static assets
āāā logos/ # Logo images
āāā photos/ # Content images
Clone the repository
git clone <repository-url>
cd portfolio
Install dependencies
npm install
# or
yarn install
Create environment variables
cp .env.example .env.local
Start development server
npm run dev
# or
yarn dev
Add new blog posts in src/app/articles/
as MDX files:
---
title: "Article Title"
date: "2024-01-19"
description: "Article description"
---
Content goes here...
Add new projects in src/app/projects/page.tsx
:
const projects = [
{
name: "Project Name",
description: "Project description",
link: {
href: "https://project-url.com",
label: "project.com"
}
}
// ...
]
Customize Tailwind configuration in tailwind.config.ts
:
module.exports = {
theme: {
extend: {
// Custom configurations
}
}
}
The project is optimized for deployment on Vercel:
src/app/articles/
projects/page.tsx
src/images/
This project is licensed under the MIT License.
For questions or suggestions, please open an issue or reach out through the contact form on the website.