← Back to hacksalot/HackMyResume

How to Deploy & Use hacksalot/HackMyResume

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:

  1. Share your generated resumes: Upload the generated HTML, PDF, or Word documents to job boards or email them directly
  2. Version control your resume data: Store your JSON/YAML resume files in Git repositories
  3. 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 validate command to check your resume

4. Permission Denied

  • Issue: Permission errors when installing globally
  • Solution: Use sudo for global installations or install locally without -g flag

5. Missing Dependencies

  • Issue: Missing module errors
  • Solution: Run npm install in 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