A modern, responsive personal website showcasing my software engineering experience, skills, and technical blog. Built with pure HTML, CSS, and JavaScript - no framework dependencies!
- Responsive Design - Optimized for all devices
- Modern UI/UX - Clean, professional design with smooth animations
- Technical Blog - Full-featured blog with syntax highlighting
- Performance Optimized - Fast loading and smooth interactions
- SEO Friendly - Optimized for search engines
- No Build Process - Pure static site, works everywhere
Visit the live website: https://m-sayed.github.io
# Run the Ruby server
ruby server.rb
# Or make it executable and run directly
chmod +x server.rb
./server.rb
# Python 3
python3 -m http.server 8000
# Python 2
python -m SimpleHTTPServer 8000
Simply open index.html
in your web browser!
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Styling: CSS Grid, Flexbox, CSS Variables
- Syntax Highlighting: Highlight.js
- Fonts: Inter (Google Fonts)
- Deployment: GitHub Pages
- CI/CD: GitHub Actions
βββ index.html # Main homepage
βββ blog.html # Blog listing page
βββ assets/ # Static assets
β βββ css/
β β βββ styles.css # Main stylesheet
β βββ js/
β βββ script.js # JavaScript functionality
βββ posts/ # Markdown blog posts
β βββ new-blog-template.md
β βββ *.md # Your blog posts
βββ generate-blog.py # Blog generator script
βββ server.rb # Ruby development server
βββ .nojekyll # GitHub Pages config
βββ CNAME # Custom domain (optional)
βββ .github/
β βββ workflows/
β βββ deploy.yml # GitHub Actions deployment
βββ README.md # This file
-
Push to GitHub:
git init git add . git commit -m "Initial commit" git remote add origin https://github.com/[username]/[username].github.io.git git push -u origin main
-
Enable GitHub Pages:
- Go to Settings β Pages
- Source: GitHub Actions (the workflow will auto-deploy)
- Push to GitHub (same as above)
- Enable GitHub Pages:
- Go to Settings β Pages
- Source: Deploy from a branch
- Branch: main / folder: / (root)
- Create repository named
[username].github.io
- Upload all files via GitHub web interface
- Enable Pages in settings
The site will be live at https://[username].github.io
in 5-10 minutes!
- Purchase a domain from any registrar
- Update CNAME file with your domain:
yourdomain.com
- Configure DNS at your registrar:
- Add CNAME record pointing to
[your-username].github.io
- Add CNAME record pointing to
- Enable custom domain in GitHub Pages settings
Update the following files with your information:
- index.html - Update hero section, experience, skills, projects
- styles.css - Customize colors, fonts, or layout
No more writing HTML! Create blog posts using simple Markdown files:
-
Create a new Markdown file in the
posts/
directory:cp posts/new-blog-template.md posts/my-new-post.md
-
Edit the frontmatter (metadata at the top):
--- title: Your Awesome Blog Post date: December 25, 2024 category: Technology readTime: 5 min read excerpt: A brief description of your post ---
-
Write your content using Markdown:
- Headers:
# H1
,## H2
,### H3
- Bold:
**text**
- Italic:
*text*
- Links:
[text](url)
- Images:

- Code blocks: ``` language
- Headers:
-
Generate HTML:
python3 generate-blog.py
That's it! The script will:
- Convert your Markdown to HTML
- Generate individual blog post pages
- Update the blog listing automatically
- Apply syntax highlighting to code blocks
- Headers (H1, H2, H3)
- Bold and italic text
- Links and images
- Code blocks with syntax highlighting
- Blockquotes
- Unordered lists
- Inline code
See posts/new-blog-template.md
for a complete example with all supported features.
Modify CSS variables in styles.css
:
:root {
--primary-color: #2563eb; /* Main brand color */
--secondary-color: #1e40af; /* Secondary brand color */
--text-primary: #1f2937; /* Main text color */
--text-secondary: #6b7280; /* Secondary text color */
}
- Lazy loading for images
- Optimized animations with CSS transforms
- Efficient JavaScript with event delegation
- Compressed assets for faster loading
- Mobile-first responsive design
- Semantic HTML structure
- Meta tags for social sharing
- Structured data markup
- Optimized images with alt text
- Fast loading performance
- Open index.html in your browser
- Use live server extension in VS Code for hot reload
- Test responsiveness using browser dev tools
- All links work correctly
- Images load properly
- Responsive design works on all devices
- Blog posts display correctly
- Syntax highlighting works
- Contact links are accurate
- Use meaningful headings (H2, H3)
- Include code examples with proper syntax highlighting
- Add relevant images with alt text
- Keep paragraphs concise and readable
- Include back-to-blog navigation
- Use high-quality images (preferably 1200px+ width)
- Optimize file sizes for web
- Include descriptive alt text
- Use consistent aspect ratios
Feel free to fork this repository and customize it for your own use. If you find bugs or have suggestions for improvements, please open an issue.
This project is open source and available under the MIT License.
- LinkedIn: mahmoudsayed15
- GitHub: m-Sayed
- Website: https://m-sayed.github.io
Built with β€οΈ by Mahmoud Sayed