A modern, responsive portfolio website built with Next.js, showcasing my professional experience, projects, and blog posts.
- Responsive Design: Fully responsive layout that works on all devices
- Modern UI: Clean and professional design with smooth animations
- Blog Platform: Integrated blog with Markdown support
- Portfolio Showcase: Highlighted projects with detailed case studies
- Skills Grid: Visual representation of technical skills and expertise
- Contact Form: Direct way to get in touch
- Dark/Light Mode: Color scheme following system preferences
- Framework: Next.js 14
- Language: JavaScript/React
- Styling: CSS3 with modern features
- Content: Markdown for blog posts
- Icons: Font Awesome
- Deployment: Vercel
portfolio/
├── components/ # Reusable React components
│ └── layout/ # Layout components
├── lib/ # Utility functions
├── pages/ # Next.js pages
│ ├── blog/ # Blog pages
│ └── projects/ # Project pages
├── posts/ # Markdown blog posts
├── public/ # Static assets
│ ├── css/ # Global CSS files
│ └── images/ # Image assets
└── styles/ # Component-specific styles
-
Clone the repository
git clone https://github.com/yourusername/portfolio.git cd portfolio
-
Install dependencies
npm install
-
Run the development server
npm run dev
Blog posts are written in Markdown format and stored in the posts
directory. Each post should include frontmatter with the following fields:
---
title: 'Post Title'
date: 'YYYY-MM-DD'
excerpt: 'Brief description of the post'
author: 'Your Name'
category: 'Category'
readTime: X
tags: ['tag1', 'tag2']
---
The project uses a consistent color palette:
- Primary Color (Navy): #14213D
- Secondary Color (Orange): #FCA311
- Background: #FFFFFF
- Text: #000000
- Gray: #E5E5E5
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
Key configuration files:
next.config.js
- Next.js configurationpackage.json
- Project dependencies and scriptslib/posts.js
- Blog post utilities
This project is licensed under the MIT License - see the LICENSE file for details.
Ryan Guidry
- Website: ryanguidry.com
- LinkedIn: @rmguidry
- GitHub: @rguid31
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- The blog system uses static site generation for optimal performance
- Images should be optimized before adding to the project
- Keep blog post images in the
public/images/blog
directory - Project images should be stored in
public/images/projects