This project creatively showcases how awesome I am, and it dynamically generates my resume! written in Ruby, it is a professional PDF and markdown resume generator, interactive shell, and text adventure game inspired by classic Infocom games like Zork. Take a look at vincent_vanhaaff_resume.rb to see how it all comes together!
The project consists of several Ruby files, each with a specific purpose:
vincent_vanhaaff_resume.rb
: The core file that defines theVincentVanHaaff
class, managing skills, experience, and other resume-related data.support/resume_pdf.rb
: Handles the PDF generation using thePrawn
library.support/interactive_shell.rb
: Provides an interactive command-line interface for users to interact with the resume.support/text_adventure_game.rb
: A text-based adventure game that lets users explore Vincent's office and interact with the resume content in a playful way.support/generate_markdown.rb
: Generates a Markdown version of the resume for use as a static website.support/resume_actions.rb
: Contains shared methods for rendering PDFs, opening links, and other actions used across the application.
- Resume PDF Generation: Generate a PDF version of the resume with the latest data.
- Interactive Shell: Allows users to interact with the resume data through a command-line interface.
- Text Adventure Game: Explore Vincent's office and interact with objects in a text-based game.
- Markdown Resume Generation: Convert the resume data into a Markdown file for use as a static website.
- Hyperlinks: The generated PDF includes clickable links for email, website, and LinkedIn.
- Customizable Content: Easily update skills, experience, and acknowledgements.
We will ensure you have the following installed:
- Ruby 3.0 or later
- Bundler gem for installing packages
To quickly install Ruby on macOS (system Ruby requires sudo now, ew), you can use Homebrew, which is a popular package manager for macOS.
-
Install Homebrew if you haven't already. Follow the instructions here if you need help.
-
Install Ruby using Homebrew:
brew install ruby
-
Add Ruby to your
PATH
:echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
-
Verify the installation:
ruby -v
For more detailed instructions and alternative installation methods for other OSes, visit the official Ruby installation guide.
-
Clone the repository:
git clone https://github.com/flyingoctopus/resume.git cd resume
-
Install bundler:
gem install bundler
-
Install the required gems:
bundle install
You can run the resume project using the following command:
ruby vincent_vanhaaff_resume.rb
After running the script, you will be presented with an interactive shell:
🎉 Welcome to Vincent van Haaff's Interactive Resume! 🎉
Summary:
I am a passionate technical creative and engineer...
🔍 What would you like to do? Please choose an option and press enter:
1. 📄 Render PDF
2. ✉️ Get in touch!
3. 🌐 View website
4. 💼 View LinkedIn Profile
5. 🧭 Explore
6. 🎮 Let's Play A Text Adventure Game
7. 🚪 Exit
- Render PDF: Generates a PDF of the resume and opens it automatically.
- Get in touch: Opens your default email client with a pre-filled "mailto" link.
- View website: Opens the default web browser to your personal website.
- View LinkedIn Profile: Opens the default web browser to your LinkedIn profile.
- Explore: Dive deeper into the resume content by exploring personal details, acknowledgements, and objectives.
- Text Adventure Game: Engage in a fun, text-based adventure game set in Vincent's office.
- Exit: Exits the interactive shell.
To generate a Markdown version of the resume for use as a static website, run the following command:
ruby support/generate_markdown.rb
The generated Markdown file will be saved in the build/
directory.
You can customize the resume content by editing the vincent_vanhaaff_resume.rb
file. Here, you can update:
- Personal Information: Name, website, phone number, etc.
- Skills: Programming languages, tools, and other competencies.
- Experience: Job history, including companies, roles, and descriptions.
- Acknowledgements & Affiliations: Special recognitions and affiliations.
This project relies on the following Ruby gems:
prawn
: For PDF generation.mini_magick
: For image processing in PDF generation.active_support
: For various utility methods and extensions.active_model
: For object modeling.
These are automatically installed when you run bundle install
.
Feel free to fork this repository and submit pull requests if you have any improvements or additional features you would like to add.
This project is licensed under the MIT License. See the LICENSE
file for more details.
Special thanks to the open-source community for providing the tools and libraries used in this project.
Technical resume: vincent_vanhaaff_resume.rb
Site: https://vvh.io
Old boring resume: http://resume.linkedinlabs.com/6lz5adls