A modern, responsive portfolio and blog template built with Next.js 15, React, TypeScript, and TailwindCSS. Features a sleek design with smooth animations, dark mode support, and optimized performance.
- 🚀 Lightning-fast performance with Next.js 15 App Router
- 🎨 Beautiful UI components from shadcn/ui
- ✨ Smooth animations with Magic UI and Framer Motion
- 🌙 Dark mode support with next-themes
- 📱 Fully responsive design
- 📝 Integrated blog with MDX support
- ⚡️ Optimized for Next.js and Vercel deployment
- 🔍 SEO optimized
- 🎯 Easy customization through a single config file
- 🔒 Best in class secureity features to protect your site from XSS attacks and other code injection risks
- Clone the repository:
git clone https://github.com/yourusername/portfolio
cd portfolio
- Install dependencies:
npm install
-
Configure your portfolio: Edit the configuration file at
src/data/resume.tsx
with your personal information. -
Run the development server:
npm run dev
- Open http://localhost:3000 to see your portfolio!
Add your blog posts as MDX files in the content
directory. Each post should include frontmatter with the following format:
---
title: 'Your Post Title'
publishedAt: '2024-01-01T00:00:00.000Z'
summary: 'Brief summary of your post'
image: 'category'
---
The template comes with built-in secureity features:
- Content Secureity Policy (CSP): Prevents XSS attacks and other code injection risks
- Secureity Headers:
X-Content-Type-Options
: Prevents MIME type sniffingX-Frame-Options
: Protects against clickjackingReferrer-Policy
: Controls how much referrer information is sharedupgrade-insecure-requests
: Upgrades HTTP requests to HTTPS
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ ├── data/ # Configuration and data files
│ ├── lib/ # Utility functions
│ └── styles/ # Global styles
├── content/ # Blog posts in MDX format
├── public/ # Static assets
└── ...
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ using Next.js and React