forked from mitchelloharawild/vitae
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.Rmd
146 lines (110 loc) · 6.99 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
# vitae <img src="man/figures/logo.png" align="right" />
*/ˈviːteɪ/*
[![CRAN status](https://www.r-pkg.org/badges/version/vitae)](https://cran.r-project.org/package=vitae)
![Check status](https://github.com/mitchelloharawild/vitae/workflows/R-CMD-check/badge.svg)
[![Lifecycle: maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://lifecycle.r-lib.org/articles/stages.html#maturing)
[![Downloads](https://cranlogs.r-pkg.org/badges/vitae)](https://cran.r-project.org/package=vitae)
## Templates and tools for making a Résumé/CV
```{r list-previews, echo = FALSE}
template_preview <- list.files(file.path("man", "figures"), pattern = "^preview",
full.names = TRUE)
template_name <- stringr::str_match(basename(template_preview), "preview-(.+?)\\.png")[,2]
```
The *vitae* package makes creating and maintaining a Résumé or CV with R Markdown simple. It provides a collection of LaTeX and HTML templates, with helpful functions to add content to the documents.
## Installation
You can install the **release** version from CRAN.
```{r cran-installation, eval = FALSE}
install.packages('vitae')
```
You can install the **development** version from
[GitHub](https://github.com/mitchelloharawild/vitae).
```{r gh-installation, eval = FALSE}
# install.packages("devtools")
devtools::install_github("mitchelloharawild/vitae")
```
This package requires LaTeX to be installed on your computer. If you're encountering issues, please check that LaTeX is installed. The [tinytex package](https://github.com/yihui/tinytex) makes it easy to setup LaTeX within R:
```{r tinytex-installation, eval = FALSE}
install.packages('tinytex')
tinytex::install_tinytex()
```
## Getting started
The *vitae* package currently supports `r length(list.dirs("inst/rmarkdown/templates/", recursive = FALSE))` popular CV templates. You can see some previews of the available templates [below](#templates).
If you prefer a guided introduction in video form, check out [Bryan Jenks](https://github.com/tallguyjenks)' [freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp) [tech talk](https://youtu.be/cMlRAiQUdD8):
[![](man/figures/freecodecamp.jpg)](https://youtu.be/cMlRAiQUdD8)
Creating a new CV with `vitae` can be done using the RStudio R Markdown template selector:
![](man/figures/template_gui.png)
These templates leverage the strength of rmarkdown to include common information in the YAML header (name, position, social links...) and extended information in the main body. The main body of the CV is written using markdown, and allows for data-driven generation of entries using the [`*_entries` functions](https://pkg.mitchelloharawild.com/vitae/reference/cventries.html). This allows you to import your working history from other sources (such as ORCID, Google Scholar, or a maintained dataset), and include them programmatically into your CV.
For example, the [rorcid package](https://github.com/ropensci/rorcid) can be used to extract [Rob Hyndman](https://orcid.org/0000-0002-2140-5352)'s education history:
```{r rorcid}
orcid_data <- do.call("rbind",
rorcid::orcid_educations("0000-0002-2140-5352")$`0000-0002-2140-5352`$`affiliation-group`$summaries
)
```
```{r education-table, echo = FALSE}
library(dplyr)
orcid_data %>%
select(
`education-summary.role-title`,
`education-summary.start-date.year.value`,
`education-summary.end-date.year.value`,
`education-summary.organization.name`,
`education-summary.organization.address.city`
)
```
The package provides two types of entries from data, which are `detailed_entries` and `brief_entries`. Both functions provide sections for `what`, `when`, and `with`, and the `detailed_entries` additionally supports `where` and `why`. These arguments support operations, so for this example, we have used `glue` to combine the start and end years for our `when` input. Excluding any inputs is also okay (as is done for `why`), it will just be left blank in the CV.
```{r education, eval = FALSE}
orcid_data %>%
detailed_entries(
what = `education-summary.role-title`,
when = glue::glue("{`education-summary.start-date.year.value`} - {`education-summary.end-date.year.value`}"),
with = `education-summary.organization.name`,
where = `education-summary.organization.address.city`
)
```
![](man/figures/education.png)
Additional examples of using this package can be found in the slides presented at [ozunconf2018](https://ozunconf18.ropensci.org/): [https://slides.mitchelloharawild.com/vitae/](https://slides.mitchelloharawild.com/vitae/)
## Templates
There are currently `r length(template_name)` templates available in this package:
```{r show-previews, echo = FALSE, results='asis'}
preview_url <- sprintf("https://pkg.mitchelloharawild.com/vitae/reference/%s.html", template_name)
preview_title <- sprintf("[**vitae::%s**](%s)", template_name, preview_url)
preview_image <- sprintf("[![Preview of %s](%s){width=415px}](%s)", template_name, template_preview, preview_url)
preview_row <- (seq_along(preview_title)+1)%/%2
for(i in split(seq_along(preview_title), preview_row)) {
print(
knitr::kable(
tibble::new_tibble(setNames(as.list(preview_image[i]), preview_title[i]), nrow = 1),
escape = FALSE
)
)
}
```
Extending the package to add new templates is a somewhat simple process (details in the [creating vitae templates](https://pkg.mitchelloharawild.com/vitae/articles/extending.html) vignette).
## Examples of using vitae
- [Mitchell O'Hara-Wild](https://github.com/mitchelloharawild/CV)
- [Rob Hyndman](https://github.com/robjhyndman/CV)
- [Eric R. Scott](https://github.com/Aariq/curriculum-vitae)
- [Chris Umphlett](http://chrisumphlett.com/posts/vitae-package/)
- [Nat Price](https://github.com/natbprice/cv)
- [Sam Abbott](https://github.com/seabbs/cv) (automatic deployment!)
- [JooYoung Seo](https://github.com/jooyoungseo/jy_CV) (printing multiple bibliographic entries according to a given csl file)
- [Diogo M. Camacho](https://github.com/diogocamacho/CV)
- [Han Zhang](https://github.com/HanZhang-psych/CV) (custom csl files)
- [Bryan Jenks](https://github.com/tallguyjenks/CV)
- [Lorena Abad](https://github.com/loreabad6/R-CV)
- [Lampros Sp. Mouselimis](https://github.com/mlampros/My.CVitae) (using Github Actions and a docker image to programmatically generate the CV file)
- [Adam Kirosingh](https://github.com/akirosingh/CV)
Add your vitae to the list using a PR.
---
Please note that the 'vitae' project is released with a [Contributor Code of Conduct](https://github.com/mitchelloharawild/vitae/blob/master/.github/CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms.
The vitae project began as at [rOpenSci](https://ropensci.org/)'s [OzUnconf 2018](https://ozunconf18.ropensci.org/). A big thank you to rOpenSci and the event organisers for their work, which has played a big role in the formation of this package.