forked from apreshill/apreshill-cv
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 6d99d6f
Showing
11 changed files
with
1,723 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
.Rproj.user/ | ||
*Rproj | ||
.Rhistory | ||
resume_files/ | ||
.secrets | ||
.DS_Store | ||
README.html | ||
.Rproj.user | ||
.Rdata | ||
.httr-oauth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
## My pagedown rendered CV | ||
|
||
__Switch to googlesheets__ | ||
|
||
As I get older and more crotchety I find it more and more difficult to manually update a CSV. In response to this, I have moved the data-storing mechanism from a plain CSV to google sheets using the wonderful [`googlesheets4` package.](https://googlesheets4.tidyverse.org/index.html) This allows for a much more easy updating system and also makes it easy to store all the other info that didn't feel write to put into a CSV before (like the intro and aside text) right with everything as separate pages/sheets within the main sheet. | ||
|
||
I have attempted to keep the whole thing as easy as possible to understand and modify by using a publically available sheet and preserving the old CSV driven way behind a boolean variable that can be set in the setup chunk. | ||
|
||
|
||
## Structure | ||
|
||
This repo contains the source-code and results of my CV built with the [pagedown package](https://pagedown.rbind.io) and a modified version of the 'resume' template. | ||
|
||
The main files are: | ||
|
||
- `index.Rmd`: Source template for the cv, contains a variable `PDF_EXPORT` in the header that changes styles for pdf vs html. | ||
- `index.html`: The final output of the template when the header variable `PDF_EXPORT` is set to `FALSE`. View it at [nickstrayer.me/cv](http://nickstrayer.me/cv). | ||
- `strayer_cv.pdf`: The final exported pdf as rendered by Chrome on my mac laptop. Links are put in footer and notes about online version are added. | ||
- `resume.Rmd`: Source template for single page resume. | ||
- `resume.html`/`strayer_resume.pdf`: Result for single page resume. | ||
- `parsing_functions.R`: A series of small functions for parsing a position entry into the proper HTML format. Includes logic for removing links if needed etc.. | ||
- `gather_data.R`: Loads the data that makes up the body of both the CV and resume. Either pulls from a specified google sheet with info or multiple csvs. (Examples of both are provided in repo.) | ||
- `csvs/*.csv`: A series of CSVs containing the information CV and resume. Included as examples if the non-googlesheets method of storing data is prefered. | ||
- `css/`: Directory containing the custom CSS files used to tweak the default 'resume' format from pagedown. | ||
|
||
## Want to use this to build your own CV/resume? | ||
|
||
1. Fork, clone, download the zip of this repo to your machine with RStudio. | ||
2. Make a copy of my [info-holding google sheet](https://docs.google.com/spreadsheets/d/14MQICF2F8-vf8CKPF1m4lyGKO6_thG-4aSwat1e2TWc/edit#gid=1730172225) and fill in your personal info for all the sheets (`positions`, `language_skills`, `text_blocks`, and `contact_info`). | ||
a. If you want to use CSV's instead of google sheets, update the contents of the CSVs stored in the `csvs/` folder. | ||
3. Go through and personalize the supplementary text in the Rmd you desire (`index.Rmd` for CV, `resume.Rmd` for resume). | ||
4. Print each unique `section` (as encoded in the `section` column of `positions.csv`) in your `.Rmd` with the command `position_data %>% print_section('education')`. | ||
5. Get the PDF out by viewing in your browser and then doing `control/command + P` and selecting "print to pdf". Alternatively use `pagedown::chrome_print()` or `knit: pagedown::chrome_print` in RMD header. See [pagedown docs on printing](https://pagedown.rbind.io/#print-to-pdf) for more details. | ||
6. Let the world know how awesome you are! (Also send me a tweet/email if you desired and I will broadcast your version of the CV on this repo and or twitter.) | ||
|
||
## Looking for the old version with just a single CSV? | ||
|
||
The [blog post I originally wrote about this process](https://livefreeordichotomize.com/2019/09/04/building_a_data_driven_cv_with_r/) used an older version of this document. I think that the new googlesheets method is easier to maintain and extend, however the old version is alive and well [here.](https://github.com/nstrayer/cv/releases/tag/1.0) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
|
||
* { | ||
/* Override default right margin for sidebar*/ | ||
--pagedjs-margin-right: 0.2in !important; | ||
--pagedjs-margin-left: 0; | ||
--pagedjs-margin-top: 0.2in; | ||
--pagedjs-margin-bottom: 0.2in; | ||
} | ||
|
||
[data-id="main"] { | ||
padding: 0 0.05in 0 0.05in; | ||
} | ||
|
||
/*[data-id="title"] { | ||
margin: 0 0.5in 0.08in -0.5in; | ||
}*/ | ||
|
||
.main-block { | ||
margin-top: 0; | ||
margin-left: -0.1in; | ||
} | ||
|
||
/* Customize some of the sizing variables */ | ||
:root { | ||
--sidebar-width: 12rem; /* Shrink sidebar width */ | ||
--sidebar-horizontal-padding: 0.02in; /* Reduce sidebar padding */ | ||
} | ||
|
||
[data-id="main"]{ | ||
width: calc(var(--main-width) + 0.2in); | ||
} | ||
|
||
[data-id="subtitle"]{ | ||
width: calc(var(--main-width) + 0.2in); | ||
} | ||
/* | ||
.aside { | ||
height: 100%; | ||
width: var(--sidebar-width) !important; | ||
padding-left: 0.75rem; | ||
padding-right: 0; | ||
padding-top: 0rem; | ||
}*/ | ||
|
||
.aside .level2 { | ||
margin-top: 0.315in; | ||
} | ||
|
||
.aside p { | ||
margin-block-start: 0.75em; | ||
margin-block-end: 0; | ||
} | ||
|
||
[data-id="skills"] ul { | ||
margin: 0.05in 0 0.05in; | ||
} | ||
|
||
[data-id="contact"] ul { | ||
padding-left: 0 !important; | ||
margin-top: 0.75rem; | ||
} | ||
|
||
[data-id="disclaimer"] p { | ||
margin-block-start: 0.15em; | ||
margin-block-end: 0.15em; | ||
} |
Oops, something went wrong.