A modern, responsive resume website that can be easily customized through a configuration file. Features multiple color themes, dynamic content loading, and a clean, professional design.
- π Parameterized Content: All information stored in
config.json - π¨ Multiple Themes: 5 built-in color themes (Default, Dark, Nature, Ocean, Sunset)
- π± Responsive Design: Works perfectly on all devices
- β‘ Fast Loading: Static HTML generation for optimal performance
- π¨οΈ Print Friendly: Optimized for printing
- π§ Easy Customization: Simple JSON configuration
Edit config.json with your personal information:
{
"personal": {
"name": "Your Name",
"title": "Software Engineer",
"email": "[email protected]",
"phone": "+1 (555) 123-4567",
"location": "San Francisco, CA",
"linkedin": "https://linkedin.com/in/yourprofile",
"github": "https://github.com/yourusername"
}
}# Install dependencies (optional, for development)
npm install
# Build the static HTML
npm run build# Start a local server
npm run dev
# Or build and preview
npm run previewUpdate the personal section in config.json:
{
"personal": {
"name": "Your Name",
"title": "Your Professional Title",
"email": "[email protected]",
"phone": "+1 (555) 123-4567",
"location": "City, State",
"linkedin": "https://linkedin.com/in/yourprofile",
"github": "https://github.com/yourusername",
"website": "https://yourwebsite.com" // Optional
}
}Organize your skills into categories:
{
"skills": {
"programming_languages": [
"JavaScript",
"Python",
"Go"
],
"frameworks_tools": [
"React",
"Node.js",
"Docker"
],
"soft_skills": [
"Team Leadership",
"Problem Solving"
]
}
}Add your work experience:
{
"experience": [
{
"title": "Senior Software Engineer",
"company": "Tech Company Inc.",
"start_date": "2022",
"end_date": "Present",
"achievements": [
"Led development of microservices architecture",
"Mentored junior developers",
"Improved team productivity by 25%"
]
}
]
}Showcase your projects:
{
"projects": [
{
"name": "E-commerce Platform",
"description": "Full-stack e-commerce platform with payment processing.",
"link": "https://github.com/yourusername/project",
"technologies": ["React", "Node.js", "PostgreSQL"]
}
]
}Customize colors and fonts:
{
"styling": {
"primary_color": "#667eea",
"secondary_color": "#764ba2",
"accent_color": "#f093fb",
"text_color": "#333333",
"background_color": "#fafafa",
"header_gradient": "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
}
}- Default: Professional blue gradient
- Dark: Modern dark theme
- Nature: Green and earthy tones
- Ocean: Blue and teal colors
- Sunset: Warm orange and red tones
βββ config.json # Your personal information
βββ build.js # Build script
βββ resume.css # Styling with themes
βββ index.html # Static version (generated)
βββ index-dynamic.html # Dynamic version with theme switcher
βββ README.md # This file
- Edit
config.jsonwith your information - Run
npm run build - Upload
index.html,resume.css, andconfig.jsonto GitHub Pages
- Use
index-dynamic.htmlinstead - Includes a theme switcher
- Loads content dynamically from
config.json
# Watch for changes and auto-rebuild
npm run watch- Create a new repository on GitHub
- Upload your files:
index.html(orindex-dynamic.html)resume.cssconfig.json
- Go to Settings β Pages
- Select "Deploy from a branch"
- Choose your main branch
- Your resume will be available at
https://yourusername.github.io/repository-name
Option 1: Single Source of Truth (Recommended)
- Edit only
config.json:{ "styling": { "theme": "ocean", // Change this "font_family": "Open Sans", // Change this "accent_font": "Poppins" // Change this } } - Run sync command:
npm run sync # or make sync - Build for production:
npm run build
Option 2: Interactive Testing
- Open
index-test.htmlin browser - Use dropdowns to test themes/fonts
- When satisfied, update
config.jsonand runnpm run sync
Option 3: Manual Updates If you prefer manual control, update these files:
config.json- Main configurationbuild.js- Build script defaultsindex-test.html- Test file defaults
- Update the template in
build.js - Add corresponding data to
config.json - Style the new section in
resume.css
Add new theme classes to resume.css:
.theme-custom {
--primary-color: #your-color;
--secondary-color: #your-color;
/* ... other variables */
}The layout uses CSS Grid. Main containers:
.container: Main grid layout.sidebar: Left sidebar with contact and skills.main-content: Right content area
- Chrome/Edge: Full support
- Firefox: Full support
- Safari: Full support
- Mobile browsers: Full support
MIT License - feel free to use and modify as needed.
Feel free to submit issues and enhancement requests!