Skip to content

sayedmahmoud266/sayedmahmoud266.website

Repository files navigation

sayedmahmoud266.website

My personal portfolio website showcasing projects, blog posts, and professional experience. Built with Next.js 14, TypeScript, and Tailwind CSS v4, featuring a unique terminal-inspired dark theme.

πŸš€ Features

  • Terminal-Inspired Design: Minimalist dark theme with Linux terminal aesthetics
  • Static Site Generation (SSG): Optimized for performance and SEO
  • Markdown Content Management: Easy-to-manage blog posts and project details
  • Fully Responsive: Mobile-first design that works on all devices
  • Dark Mode Only: Pure black background with terminal color palette
  • SEO Optimized: Meta tags, Open Graph, and semantic HTML

πŸ› οΈ Tech Stack

πŸ“ Project Structure

sayedmahmoud266.website/
β”œβ”€β”€ app/                      # Next.js App Router pages
β”‚   β”œβ”€β”€ about/               # About page
β”‚   β”œβ”€β”€ blog/                # Blog listing and posts
β”‚   β”‚   └── [slug]/         # Dynamic blog post pages
β”‚   β”œβ”€β”€ contact/            # Contact page
β”‚   β”œβ”€β”€ projects/           # Projects listing and details
β”‚   β”‚   └── [slug]/        # Dynamic project pages
β”‚   β”œβ”€β”€ globals.css         # Global styles with Tailwind
β”‚   β”œβ”€β”€ layout.tsx          # Root layout with SEO
β”‚   β”œβ”€β”€ not-found.tsx       # Custom 404 page
β”‚   └── page.tsx            # Home page
β”œβ”€β”€ components/              # Reusable React components
β”‚   β”œβ”€β”€ Footer.tsx          # Site footer
β”‚   └── Header.tsx          # Navigation header
β”œβ”€β”€ content/                 # Markdown content
β”‚   β”œβ”€β”€ blog/               # Blog posts (.md)
β”‚   └── projects/           # Project details (.md)
β”œβ”€β”€ lib/                     # Utility functions
β”‚   └── markdown.ts         # Markdown processing utilities
β”œβ”€β”€ public/                  # Static assets
β”œβ”€β”€ .github/                 # GitHub-specific files
β”‚   β”œβ”€β”€ docs/               # Documentation
β”‚   β”‚   β”œβ”€β”€ MAINTENANCE.md # Complete maintenance guide
β”‚   β”‚   └── AI-INSTRUCTIONS.md # AI assistant guidelines
β”‚   β”œβ”€β”€ instructions/       # AI coding instructions
β”‚   └── prompts/            # Project prompts
β”œβ”€β”€ next.config.js          # Next.js configuration (SSG)
β”œβ”€β”€ package.json            # Dependencies
β”œβ”€β”€ postcss.config.mjs      # PostCSS + Tailwind v4 config
β”œβ”€β”€ tsconfig.json           # TypeScript configuration
β”œβ”€β”€ CHANGELOG.md            # Version history
└── README.md               # This file

🚦 Getting Started

Prerequisites

  • Node.js: v20.0.0 or higher
  • npm: v10.0.0 or higher (or yarn/pnpm)

Installation

  1. Clone the repository
git clone https://github.com/sayedmahmoud266/sayedmahmoud266.website.git
cd sayedmahmoud266.website
  1. Install dependencies
npm install
  1. Start development server
npm run dev
  1. Open your browser

Navigate to http://localhost:3000

πŸ“ Available Scripts

Command Description
npm run dev Start development server on port 3000
npm run build Build for production (static export)
npm start Start production server
npm run lint Run ESLint to check code quality

✍️ Adding Content

Adding a New Blog Post

  1. Create a new .md file in content/blog/
  2. Add frontmatter with required fields:
---
title: "Your Post Title"
description: "A brief description"
date: "2025-10-10"
tags: ["tag1", "tag2"]
author: "Sayed Mahmoud Sayed"
featured: false
---

## Your Content Here

Write your blog post content in markdown...

Adding a New Project

  1. Create a new .md file in content/projects/
  2. Add frontmatter with required fields:
---
title: "Project Name"
description: "Project description"
tech: ["TypeScript", "React", "Node.js"]
github: "https://github.com/username/repo"
demo: "https://demo.example.com"
status: "completed"
featured: true
date: "2025-10-10"
---

## Project Details

Describe your project here...

Frontmatter Field Definitions

Blog Posts:

  • title: Post title (required)
  • description: SEO description (required)
  • date: Publication date in YYYY-MM-DD format (required)
  • tags: Array of tags (required)
  • author: Author name (required)
  • featured: Boolean, shows in featured section (required)

Projects:

  • title: Project name (required)
  • description: Brief description (required)
  • tech: Array of technologies used (required)
  • github: GitHub repository URL (optional)
  • demo: Live demo URL (optional)
  • status: "completed", "in-progress", or "planning" (required)
  • featured: Boolean, shows in featured section (required)
  • date: Project date in YYYY-MM-DD format (required)

🎨 Customization

Colors

Terminal-inspired colors are defined in app/globals.css:

@theme {
  --color-terminal-green: #00ff00;
  --color-terminal-blue: #0099ff;
  --color-terminal-cyan: #00ffff;
  --color-terminal-yellow: #ffff00;
  --color-terminal-magenta: #ff00ff;
  --color-terminal-red: #ff0000;
}

Fonts

The site uses Ubuntu Mono (loaded from Google Fonts) with fallback to Cascadia Code and system monospace fonts.

To change fonts, edit app/layout.tsx:

import { Ubuntu_Mono } from 'next/font/google'

const ubuntuMono = Ubuntu_Mono({
  weight: ['400', '700'],
  subsets: ['latin'],
  variable: '--font-ubuntu-mono',
})

πŸš€ Deployment

The site is configured for static export. You can deploy to:

Vercel (Recommended)

npm run build
# Vercel will automatically detect and deploy

Netlify

npm run build
# Upload the `out` directory

GitHub Pages

npm run build
# Deploy the `out` directory to gh-pages branch

Any Static Host

npm run build

The out directory contains the static site ready for deployment.

πŸ“Š Performance

  • Lighthouse Score: 100/100 (Performance, Accessibility, Best Practices, SEO)
  • Static Generation: All pages pre-rendered at build time
  • Image Optimization: Disabled (for static export compatibility)
  • Bundle Size: Optimized with tree-shaking and code splitting

πŸ“š Documentation

For detailed information about maintaining and updating this website:

Quick Links

🀝 Contributing

This is a personal portfolio website, but suggestions and feedback are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ‘¨β€πŸ’» Author

Sayed Mahmoud Sayed

πŸ™ Acknowledgments

  • Design inspired by Linux terminal aesthetics
  • Built with modern web technologies
  • Powered by the amazing Next.js and Tailwind CSS communities

Built with ❀️ by Sayed Mahmoud Sayed

About

Personal Website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors