Donovan Kelly - Portfolio
A clean, responsive portfolio website.
Quick Start (Local)
Option 1: Python (quickest)
cd donovan-portfolio
python3 -m http.server 8080
# Open http://localhost:8080
Option 2: Node.js
npx serve .
# or
npx http-server -p 8080
Option 3: Docker
docker build -t donovan-portfolio .
docker run -p 8080:80 donovan-portfolio
# Open http://localhost:8080
Structure
donovan-portfolio/
├── index.html # Main page
├── css/
│ └── style.css # Styles (edit colors in :root)
├── js/
│ └── main.js # Smooth scroll, nav effects
├── assets/ # Images, favicon (add yours)
├── Dockerfile # For container deployment
└── README.md
Setup
Contact Form
Uses Formspree for static hosting compatibility.
- Create a free account at formspree.io
- Create a new form and copy the form ID
- Replace
YOUR_FORM_IDinindex.html:<form action="https://formspree.io/f/YOUR_FORM_ID" method="POST">
Social Links
Update the GitHub link in index.html with your username:
<a href="https://github.com/YOUR_USERNAME" ...>
Customization
Colors
Edit CSS variables in css/style.css under :root:
:root {
--color-primary: #2563eb; /* Accent color */
--color-bg: #fafafa; /* Background */
--color-text: #1a1a1a; /* Text */
/* ... */
}
Content
Edit index.html directly:
- Hero section: name, title, description
- About: bio, skills tags
- Projects: copy a
.project-cardblock to add more
Deployment
Dokploy
Use the Dockerfile - deploy as a container.
Static Hosting (Netlify, Vercel, GitHub Pages)
Just push/upload - no build step needed.
Manual
Copy files to any web server's document root.
Built with ❤️ by Hammer
Description
Languages
HTML
46.1%
CSS
42.9%
JavaScript
10.6%
Dockerfile
0.4%