{"id":13858471,"url":"https://github.com/jaredlander/resumer","last_synced_at":"2025-10-22T03:16:57.337Z","repository":{"id":56935256,"uuid":"44022634","full_name":"jaredlander/resumer","owner":"jaredlander","description":"Package for building resumes with R","archived":false,"fork":false,"pushed_at":"2022-03-18T01:50:51.000Z","size":402,"stargazers_count":67,"open_issues_count":0,"forks_count":23,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-11-20T15:05:15.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaredlander.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-10T18:22:38.000Z","updated_at":"2023-04-29T22:41:25.000Z","dependencies_parsed_at":"2022-08-21T05:50:12.330Z","dependency_job_id":null,"html_url":"https://github.com/jaredlander/resumer","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredlander%2Fresumer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredlander%2Fresumer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredlander%2Fresumer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredlander%2Fresumer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredlander","download_url":"https://codeload.github.com/jaredlander/resumer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225929965,"owners_count":17547085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-05T03:02:09.984Z","updated_at":"2025-10-22T03:16:52.309Z","avatar_url":"https://github.com/jaredlander.png","language":"R","readme":"---\noutput:\n  md_document:\n    variant: markdown_github\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"README-\"\n)\n```\n```{r load-data,echo=FALSE}\ndata(jobs)\n```\n\n\u003c!-- badges: start --\u003e\n  [![R build status](https://github.com/jaredlander/resumer/workflows/R-CMD-check/badge.svg)](https://github.com/jaredlander/resumer/actions)\n[![Coverage Status](https://img.shields.io/codecov/c/github/jaredlander/resumer/master.svg)](https://codecov.io/github/jaredlander/resumer?branch=master)\n[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/resumer)](https://cran.r-project.org/package=resumer)\n[![Downloads from the RStudio CRAN mirror](https://cranlogs.r-pkg.org/badges/resumer)](https://cran.r-project.org/package=resumer)\n\u003c!-- badges: end --\u003e\n\n# resumer\n\nThis package stores information for your CV in a CSV and compiles a nicely formatted LaTeX CV.\n\n## Data\n\nYour jobs should be stored in a CSV with these names:  `r names(jobs)`.\n\nAn example file can be found in [`inst/examples/Jobs.csv`](https://github.com/jaredlander/resumer/blob/master/inst/examples/Jobs.csv) or by running\n\n```{r show-jobs,eval=FALSE}\ndata(jobs)\nhead(jobs)\n```\n\n```{r show-jobs-do,echo=FALSE}\nknitr::kable(head(jobs))\n```\n\nA helper function, `createJobFile`, creates a CSV with the correct headers.\n\nEach row represents a detail about a job.  So a job may take multiple rows.\n\nThe columns are:\n\n- `JobName`: Name identifying this job.  This is identifying information used when selecting which jobs to display.\n- `Company`: Name of company.\n- `Location`: Physical location of job.\n- `Title`: Title held at job.\n- `Start`: Start date of job, usually represented by a year.\n- `End`: End date of job.  This would ordinarily by a year, 'Present' or blank.\n- `Bullet`: The detail about the job.\n- `BulletName`: Identifier for this detail, used when selecting which details to display.\n- `Type`: Should be either `Job` or `Research`.\n- `Description`: Used for a quick blurb about research roles.\n\n## Usage\n\nIn order to make this package as universal as possible it is designed for some information to be input in the yaml header and some in R code.  Creating a new file using the template through RStudio will be easiest.\n\n### yaml header\n\nHere you put your name, address, the location of the jobs CSV, education information and any highlights.  Remember, proper indenting is required for yaml.\n\nThe `name` and `address` fields are self explanatory.  `output` takes the form of `package::function` which for this package is `resumer::resumer`.\n\nThe location of the jobs CSV is specified in the `JobFile` slot of the `params` entry.  This should be the absolute path to the CSV.\n\nThese would look like this.\n```yaml\n---\nname: \"Generic Name\"\naddress: \"New York\"\noutput: resumer::resumer\nparams:\n    JobFile: \"examples/jobs.csv\"\n---\n```\n\nSupplying education information is done as a list in the `education` entry, with each school containing slots for `school`, `dates` and optionally `notes`.  Each slot of the list is started with a `-`.  The `notes` slot starts with a `|` and each line (except the last line) must end with two spaces.\n\nFor example:\n\n```yaml\n---\neducation:\n-   school: \"Hudson University\"\n    dates: \"2007--2009\"\n    notes: |\n        GPA 3.955  \n        Master of Arts in Statistics\n-   school: \"Smallville College\"\n    dates: \"2000--2004\"\n    notes: |\n        Cumulative GPA 3.838 Summa Cum Laude, Honors in Mathematics  \n        Bachelor of Science in Mathematics, Journalism Minor  \n        The Wayne Award for Excellence in Mathematics  \n        Member of Pi Mu Epsilon, a national honorary mathematics society\n---\n```\n\nProviding a `highlights` section and confirming that they should be displayed with `doHighlights.\n\nEach `bullet` in the `highlights` entry should be a list slot started by `-`.  For example.\n\n```yaml\n---\ndoHighlights: yes\nhighlights:\n-   bullet: Author of \\emph{Pulitzer Prize} winning article\n-   bullet: Organizer of \\textbf{Glasses and Cowl} Meetup\n-   bullet: Analyzed global survey by the \\textbf{Surveyors Inc}\n-   bullet: Professor of Journalism at \\textbf{Hudson University}\n-   bullet: Thesis on \\textbf{Facial Recognition Errors}\n-   bullet: Served as reporter in \\textbf{Vientiane, Laos}\n---\n```\n\nThe exact structure of the yaml section will change as tweaks are made to the underlying template.\n\n### R Code\n\nJobs and details are selected for display by building a list of lists named `jobList`.  Each inner list represents a job and should have three unnamed elements:\n- `CompanyName`\n- `JobName`\n- Vector of `BulletName`s\n\nAn example is:\n\n```{r list-jobs,eval=FALSE}\njobList \u003c- list(\n    list(\"Pied Piper\", \"Tech Startup\", c(1, 3)),\n    list(\"Goliath National Bank\", \"Large Bank\", 1:2),\n    list(\"Goliath National Bank\", \"Bank Intern\", 1:3),\n    list(\"Surveyors Inc\", \"Survery Stats\", 1:2),\n    list(\"Daily Planet\", \"Reporting\", 2:4),\n    list(\"Hudson University\", \"Professor\", c(1, 3:4)),\n    list(\"Hooli\", \"Coding Intern\", c(1:3))\n)\n```\n\nResearch is specified similarly in `researchList`.\n\n```{r list-research,eval=FALSE}\n# generate a list of lists of research that list the company name, job name and bullet\nresearchList \u003c- list(\n    list(\"Hudson University\", \"Oddie Research\", 4:5),\n    list(\"Daily Planet\", \"Winning Article\", 2)\n)\n```\n\nThe job file is read into the `jobs` variable using `read.csv2`.\n\n```{r read-jobs,eval=FALSE}\nlibrary(resumer)\njobs \u003c- read.csv2(params$JobFile, header=TRUE, sep=',', stringsAsFactors=FALSE)\n```\n\nThe jobs and details are written to LaTeX using a code chunk with `results='asis'`.\n```{r generatejob-section,results='asis',echo=FALSE,dependson=c('list-research', 'read-jobs'),eval=FALSE}\ncat(generateSection(jobs, jobList))\n```\n\nSame with research details.\n\n```{r generate-research-section,results='asis',echo=FALSE,eval=TRUE,dependson=c('list-research','read-jobs'),eval=FALSE}\n#cat('\\\\clearpage')\ncat(generateSection(jobs, researchList, sectionName='Research Experience', type='Research'))\n```\n\n### LaTeX\n\nRegular LaTeX code can be used, such as in specifying an athletics section.  Note that this uses a special `rSection` environment.\n\n```LaTeX\n\\begin{rSection}{Athletics}\n\\textbf{Ice Hockey} \\emph{Goaltender} | \\textbf{Hudson University} | 2000--2004 \\\\\n\\textbf{Curling} \\emph{Vice Skip} | \\textbf{Hudson University} | 2000--2004\n\\end{rSection}\n```\n\n## Resources\n\n### LaTeX Templates\n\n- https://www.overleaf.com/learn/latex/How_to_write_a_LaTeX_class_file_and_design_your_own_CV_(Part_1)\n\n### Pandoc\n\n- https://pandoc.org/\n- https://pandoc.org/MANUAL.html#heading-identifiers\n- https://github.com/jgm/pandocfilters/blob/master/pandocfilters.py\n","funding_links":[],"categories":["R"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredlander%2Fresumer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredlander%2Fresumer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredlander%2Fresumer/lists"}