Resuby
Overview
Resuby is a gem that takes a YAML
or JSON
configuration file that contains all of your resume information, and turns
it into a resume you can actually use to find your next job. The data file is converted into an HTML file, and the
accompanying CSS styles, which you can then view in a browser. From there, you can print your resume, save it as a PDF,
or do anything else you can do to a web page.
This project was inpired by my need to get away from awkward tables in Word, and my desire to be able to version control
my resume. With Resuby, you only need to store the JSON
, or YAML
file, as the HTML and CSS can easily be generated
again (although you could certainly save that too).
Table of Contents
- Resuby
- Overview
- Table of Contents
- Installation
- Usage
- CLI
- Generating Resume
- Generating Resume Data Template
- CLI
- Compatibility
Installation
To install, simply run gem install resuby
.
In addition to resuby, it will install SASS, which is a common CSS pre-compiler that is used by resuby to generate the CSS file for your resume, and Optimist, which is used to handle CLI interactions.
Usage
CLI
By default, the resuby
executable will look for a file called resume.yaml
in your current working directory (you can
pass it a different path). The YAML
or JSON
file needs to contain all of the information you want in your resume.
The table below summarizes the keys that resuby
expects to find in the data file.
Key | Class | Required | Description |
---|---|---|---|
name |
String | * | Your name |
contact |
Array | * | Any contact information (i.e. phone, email) |
profile |
String | A small paragraph that describes you | |
Any other key | Array | These will become the headers for your other resume sections (i.e. education -> Education , projects_&_experience -> Projects & Experience
|
Each array element under the headers you create is expected to be a hash. All of the array elements under those sections will become a new row under that header. Below are the expected key values for each array element.
Key | Class | Required | Description |
---|---|---|---|
desc |
String | * | Description for that section (i.e. dates), will be displayed to the left of that section |
title |
String | Main point for that row, will have slightly larger font than the rest of the values | |
subtitle |
String | Will be displayed right under the title, will be in italics | |
data |
Array | * | Any other info, such as accomplishments, each array element will be a new bullet |
default.yaml
contains a sample YAML
structure. default.json
contains a sample JSON
structure.
Generating Resume
Once you have a data file, you can run the following command from the same directoy:
resuby generate
Running this command will generate a file called resume.html
, and a css/
directory in your current workspace. Now
you can simply open this in a browser, and print it (make sure that the printed page has no margins, as the HTML
generated will have its own margins set).
Generating Resume Data Template
Think converting your resume to YAML
or JSON
will take too long? Well, the resuby
CLI can help take some of that
burden off of your shoulders by generating a data template. Once you have the template, simply fill in the file with
your information, and you should be ready to go. To create a template just do:
resuby generate -o <path/to/template> -y
This will generate the template in YAML
format, however, you can make it output JSON
just as easily if that's more
your style.
You can run resuby generate --help
to get additional information about the executable.
Compatibility
The generated HTML and styling has only been tested in Chrome and Safari. This doesn't mean it won't work on other browsers, but it is not guaranteed to look as designed.