HackMyResume Deployment and Usage Guide
Prerequisites
- Node.js (version 4.x or higher)
- NPM (Node Package Manager)
- Optional PDF engines (for PDF generation):
- Phantom.js
- wkhtmltopdf
- WeasyPrint
Installation
Installing HackMyResume
Install the latest stable version using NPM:
[sudo] npm install hackmyresume -g
Or install the bleeding-edge version (updated daily):
[sudo] npm install hacksalot/hackmyresume#dev -g
Installing PDF Support (Optional)
HackMyResume supports multiple PDF engines. Install one of the following:
- Phantom.js:
npm install -g phantomjs-prebuilt - wkhtmltopdf: Install via your package manager or download from wkhtmltopdf.org
- WeasyPrint:
pip install WeasyPrint
Installing Themes
HackMyResume supports both FRESH and JSON Resume themes.
FRESH themes come preinstalled with HackMyResume.
JSON Resume themes can be installed from NPM or GitHub:
# Install with NPM
npm install jsonresume-theme-[theme-name]
# Install with GitHub
git clone https://github.com/[user-or-org]/[repo-name]
Configuration
No specific environment variables or API keys are required for HackMyResume. However, you may need to configure:
- PDF engine path: Ensure the PDF engine binary is accessible on your PATH
- Theme paths: Specify the location of installed themes when generating resumes
Build & Run
Creating a New Resume
Create a new resume in FRESH or JSON Resume format:
# Create a new FRESH resume
hackmyresume new resume.json
# Create a new JSON Resume
hackmyresume new resume.json -f jrs
Building a Resume
Generate resumes in multiple formats:
# Basic build command
hackmyresume build resume.json TO out/resume.all
# Build with specific theme
hackmyresume build resume.json TO out/resume.all -t node_modules/jsonresume-theme-classy
# Build multiple resumes
hackmyresume build r1.json r2.json TO out/rez.html out/rez.md foo/rez.all
Analyzing a Resume
Analyze your resume for keywords, gaps, and metrics:
# Analyze a single resume
hackmyresume analyze resume.json
# Analyze multiple resumes
hackmyresume analyze r1.json r2.json
Converting Between Formats
Convert between FRESH and JSON Resume formats:
# Convert to JSON Resume format
hackmyresume convert resume.json TO resume-jrs.json
# Convert multiple resumes
hackmyresume convert 1.json 2.json 3.json TO out/1.json out/2.json out/3.json
Validating a Resume
Validate your resume against the schema:
# Validate a single resume
hackmyresume validate resume.json
# Validate multiple resumes
hackmyresume validate r1.json r2.json r3.json
Peeking at Resume Data
Echo specific fields or paths from your resume:
# Echo the entire resume
hackmyresume peek rez.json
# Echo a specific field
hackmyresume peek rez.json info.brief
# Echo a specific job
hackmyresume peek rez.json employment.history[1]
# Compare values between resumes
hackmyresume peek rez.json rez2.json info.brief
Deployment
HackMyResume is a command-line tool that runs locally. No server deployment is required. However, you can:
- Share your generated resumes: Upload the generated HTML, PDF, or Word documents to job boards or email them directly
- Version control your resume data: Store your JSON/YAML resume files in Git repositories
- Automate resume generation: Set up CI/CD pipelines to generate updated resumes on schedule
Troubleshooting
Common Issues and Solutions
1. PDF Generation Fails
- Issue: PDF generation fails with errors about missing engines
- Solution: Install one of the supported PDF engines (Phantom.js, wkhtmltopdf, or WeasyPrint) and ensure it's accessible on your PATH
2. Theme Not Found
- Issue: "Theme not found" error when specifying a theme
- Solution: Verify the theme path is correct and the theme is properly installed
3. Invalid Resume Format
- Issue: "Invalid resume format" error when loading a resume
- Solution: Ensure your resume follows either the FRESH or JSON Resume schema. Use the
validatecommand to check your resume
4. Permission Denied
- Issue: Permission errors when installing globally
- Solution: Use
sudofor global installations or install locally without-gflag
5. Missing Dependencies
- Issue: Missing module errors
- Solution: Run
npm installin the HackMyResume directory to install all dependencies
Debug Mode
Enable debug mode to get more detailed output:
hackmyresume --debug build resume.json TO out/resume.all
Silent Mode
Run in silent mode to suppress output:
hackmyresume --silent build resume.json TO out/resume.all