A template to create a Data Driven CV or Resume using R, YAML, LaTeX, and Github Actions
-
Create your own CV or Resume by selecting the green button in the upper right-hand corner of the repository
- Select
Use this template - Select
Create a new repository
- Select
-
Give your new repository a name like
CVandCreate repository
This will allow you to make changes locally to the Rmarkdown scripts in the scripts directory and update the data.r file in the data directory.
- Clone the repository to your local computer
git clone git@github.com:<username>/CV.git
- Install the packages necessary for the scripts to run:
vitae, tibble, magrittr, here, readr, glue
A Helpful Script
# List of all the packages used
packages <- c('vitae' # The CV's LaTeX Template
,'tinytex' # Vitea's LaTeX Tool in R
,'xfun' #
,'rmarkdown' #
,'tibble' # Data structure for tribbles
,'magrittr' # The Pipe %>%
,'here' # Relative File Paths
,'readr' # Data Loading
,'glue' # String Manipulation
)
# Find and install any packages not yet installed
installed <- rownames(installed.packages())
to_install <- setdiff(packages, installed)
if (length(to_install) > 0) {
install.packages(to_install)
}
# If tinytex is being installed, run:
# tinytex::install_tinytex()
-
Add your changes to the
data/data.rfile and the two rmarkdown scripts inscripts/scripts/awesome-cv/awesome-cv.Rmdwrites out aPDFfile.scripts/markdowncv/markdowncv.Rmdwrites out anHTMLfile.
-
Knitthe documents to see the changes
- In your local repo, replace
your-namewith your actual name by changingyour-nameto<your-actual-name>
git grep 'your-name' .github/workflows/build_CV_action.yaml | xargs sed -i 's/your-name/<your-actual-name>/g'
git grep 'your-name' .github/workflows/build_CV_action.yaml. Add-lto list every file in the repository that contains the stringyour-name.xargs sed -i 's/your-name/<your-actual-name>/g'will replace theyour-nametext with<your-actual-name>text for every file listed by the previousgit grepcommand.
-
In Github, for a stand-alone, static webpage of your CV/resume
Settings>Pages>Branch>main>/docs>Savea. To include this in the description section of the repo: Select the gear icon in the upper right, under
Websiteclick and unclick the box forUse your GitHub Pages website. Now add the html file name to the end -your-name.htmlThe final link should look something likehttps://ccbaumler.github.io/CV-example/your-name.html -
The GitHub actions require permission to push changes to the files. Do so by navigating to:
Settings>Actions>General>Workflow permissions>Read and write permissions
"If I do it three time or more, it should be automated"
- C. Titus Brown
Resume and CV construction can be a tedious endevour when using industry standard software like Microsoft Word. Add a new bullet point or volunteer experience, watch the entire document shift in unsightly ways.
This template follows the rule of destroying obstacles with overwhelming force. In this case, standardizing the resume/CV writing process with very powerful statistical software! 🎉
The goal of this repo is to eliminate the tedium of fine-tuning resume/CV documents whenever new information is added. Now, whenever and wherever you are, you will be able to update this document by updating the data/data.r file. The repo will do the rest.
- Clone this repo
- Make some changes
- Create a pull request
- Request a review when completed
Colton Baumler