Code Monkey home page Code Monkey logo

resume's Introduction

Resume | Jason Yao

Build Status

Imagine what I could do if I wasn't doing this

The following respo contains all the code required in automatically generating, distributing, and service-ifying my resume data.

Link to Resume

To see the pdf version of this resume, please click the image below: Even this thumbnail is automatically generated

Resume Data API

I'm a big fan of data-driven architectures, so even my resume data is in a machine and human readable form through the following commands below.

JSON-LD Schema.org JSON Payload

  • This data payload format is a JSON-LD schema.org markup for metadata content data
  • The data payload can be found here, and can be accessed over curl with:
# The jq just adds in some pretty-formatting, feel free to omit if you don't want it
curl https://www.jasonyao.com/resume/json-schema.json | jq '.'

JSON Data

  • This data payload format is a more complete and human-readable version of the resume data in JSON form, without having any of the metadata annotations from the JSON-LD version
  • The data payload can be found here, and can be accessed over curl with:
# The jq just adds in some pretty-formatting, feel free to omit if you don't want it
curl https://www.jasonyao.com/resume/raw-data.json | jq '.'

Raw Biography Data

  • This is just a raw text file with the latest version of my linkedin bio
  • The raw biography text can be found here, and can be accessed over curl with:
curl https://www.jasonyao.com/resume/biography.txt

Pipeline Overview

look at all the pwetty lines

  1. We use Python 3 for pre-processing and templating of data
  2. LaTeX, and in particular Xe(La)TeX is used to actually generate the PDF version of the resume, which is used for its UTF-8 goodness and implicit access to system-wide fonts.

Install (macOS)

# Installs pdf generation dependencies
brew cask install mactex

# Install the FontAwesome font by double clicking on it

# [OPTIONAL] Installs a good pdf viewer and IDE
brew cask install texmaker

Usage

To generate the pdf from the command-line:

bin/build
# OR
xelatex Resume_Jason_Yao.tex

Testing

To run the automated tests:

bin/test
# OR
pytest

License

This repo is licensed under the terms of the MIT license, a copy of which may be found here

resume's People

Contributors

jasonyao avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

lacoperon

resume's Issues

Change email

Old NYU email is still on resume, change to Hello @JasonYao [dot]] com instead

FontAwesome

Background

  • Currently, font awesome 4 is being used in the travis environment and locally to add in icon support in the header
  • version 5.5 is out now, so this is to see if it's worth switching over

Fix fonts

  • Add in good serif font in general
  • Make \workplace use a block lettering, and possibly remove bolding
  • Make section headers a particular colour that's non-blue (green or red?)

Fix sections to be correct

Current tree seems to be:

├── Education
│   └── New York University
├── Skills
│       ├── Programming
│       └── Languages
├── Activities
├── Experience
└── Projects (optional, commented out for space)

Tree should be:

├── Education
│   └── New York University
├── Skills
│       ├── Programming
│       └── Languages
├── Activities
├── Experience
│       ├── MediaMath
│       │    ├── Software Engineer II
│       │    └── Software Engineer I
│       ├── Ivy Tech Capital
│       │   └── Software Engineer Intern
│       └── Phi Kappa Sigma, Delta Phi Chapter
│             └── Technology Chair
└── Projects (optional, commented out for space)

Separate out data and presentation via JSON-LD format

Right now the resume's pretty much "hard coded", with content intermixed with presentation in the .tex file.

This is to look into separating out content from presentation, and such as by using JSON-LD as the content form, and a JSON-LD -> pdf converter for generating the PDFs.

This also enables generating a JSON-LD "about me" format, which could then be used to generate a .html that's automatically served by github pages as a mechanism for showing structured data about me in search engines

Add in image processing pipeline to generate multiple thumbnail dimensions

Background

  • When displaying the resume over at jasonyao.com/resume, the img value there is just the raw .png file that's ~2 MB.
  • Since this is the web, there are two requirements:
    • Convert this to generate multiple .jpgs at different resolutions so they can all be included in a srcset
    • Retain the original high quality .png as the fallback source for any browsers that don't support srcset

Refactor of README

  • Add in travis build badge
  • Reformat README following standard README
    • Add in installation instructions
    • Add in commandline generation instructions

Add in automatic dates for length of period

Since this resume's autogenerated every once in a while thanks to travis's CI/CD cron-style, we can change the resume to dynamically show how long I've been at the company (x months)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.