Modular Resume System with JSON Resume Integration
Modular Resume System with JSON Resume Integration
This system transforms your Jekyll resume into a modular, JSON Resume-compatible format that can be exported to various professional themes.
Overview
The resume system consists of:
- Structured Data:
_data/resume.json
(JSON Resume standard) - Modular Templates:
_includes/resume/
(Jekyll partials) - Custom Styling:
assets/css/resume.css
- Export Tools: JSON endpoint and theme manager script
- Layout:
_layouts/resume.html
File Structure
├── _data/
│ └── resume.json # JSON Resume data (primary source)
├── _includes/resume/
│ ├── header.html # Name, contact, summary
│ ├── skills.html # Core competencies
│ ├── work.html # Professional experience
│ ├── projects.html # Representative clients/projects
│ ├── education.html # Education & certifications
│ └── awards.html # Awards & recognition
├── _layouts/
│ └── resume.html # Main resume layout
├── assets/css/
│ └── resume.css # Resume-specific styles
├── scripts/
│ └── resume-manager.sh # JSON Resume theme manager
├── pages/
│ └── resume.md # Resume page (uses resume layout)
└── resume.json # JSON export endpoint
JSON Resume Standard
The _data/resume.json
file follows the JSON Resume Schema v1.0.0, making it compatible with 100+ professional themes.
Key Sections:
- basics: Personal info, contact, summary
- work: Professional experience with highlights
- education: Degrees and certifications
- skills: Categorized technical and soft skills
- projects: Client work and representative projects
- awards: Recognition and achievements
Using the System
1. Updating Your Resume
Edit _data/resume.json
to update any resume content. The Jekyll includes automatically pull from this data.
2. Building the Site
bundle exec jekyll build
# or
bundle exec jekyll serve
Your resume will be available at /resume
with the custom styling.
3. Exporting to JSON Resume Themes
First, install the resume CLI:
npm install -g resume-cli
Use the resume manager script:
# Validate your resume data
./scripts/resume-manager.sh validate
# List available themes
./scripts/resume-manager.sh themes
# Export with a specific theme
./scripts/resume-manager.sh export jsonresume-theme-elegant
# Serve locally with a theme for preview
./scripts/resume-manager.sh serve jsonresume-theme-paper
4. JSON Export
Your resume data is available as JSON at:
/resume.json
- Direct download endpoint_data/resume.json
- Source file
Popular JSON Resume Themes
- jsonresume-theme-elegant - Clean, professional
- jsonresume-theme-paper - Print-optimized
- jsonresume-theme-even - Modern, balanced
- jsonresume-theme-class - Classic styling
- jsonresume-theme-spartan - Minimal design
- jsonresume-theme-kendall - Creative layout
- jsonresume-theme-flat - Flat design aesthetic
- jsonresume-theme-modern - Contemporary styling
Browse all themes at: https://registry.jsonresume.org/themes
Customization
Adding New Sections
- Create a new include file in
_includes/resume/
- Add the data structure to
_data/resume.json
- Include the new section in
_layouts/resume.html
- Add corresponding CSS styles in
assets/css/resume.css
Styling Modifications
Edit assets/css/resume.css
to customize:
- Colors and typography
- Layout and spacing
- Responsive behavior
- Print styles
Terminal Integration
The resume page maintains terminal theming compatibility with your existing site structure through the frontmatter settings.
Benefits
- Single Source of Truth: All resume data in one JSON file
- Multiple Outputs: Jekyll site + 100+ JSON Resume themes
- Easy Maintenance: Update once, reflects everywhere
- Professional Export: PDF/HTML with professional themes
- Structured Data: Machine-readable format for applications
- Version Control: Track resume changes in Git
- Modular Design: Easy to modify individual sections
Workflow
- Edit: Update
_data/resume.json
- Validate:
./scripts/resume-manager.sh validate
- Preview:
bundle exec jekyll serve
for Jekyll version - Export:
./scripts/resume-manager.sh export <theme>
for other formats - Deploy: Commit and push (Jekyll site auto-deploys)
Integration with Existing Site
The resume system integrates seamlessly with your existing Jekyll site:
- Maintains terminal theme consistency
- Uses existing navigation structure
- Follows same content organization patterns
- Compatible with your current build process
This modular approach gives you the flexibility of custom Jekyll styling while maintaining compatibility with the broader JSON Resume ecosystem.