Project

resuby

0.0
No commit activity in last 3 years
No release in over 3 years
Resuby generates an HTML and CSS resume that you can access with your browser. You simply define the content of your resume in a YAML file, and resuby will take care of creating a resume that you can use.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

< 4.0.0, >= 3.0.0
< 4.0.0, >= 3.5.0
 Project Readme

Resuby

Gem GitHub issues Gem

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
    • 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.