My goal: To write a CV in one format and in a way so that it can be rendered in multiple formats
I have been trying to write my CV once and have it be displayed/rendered as HTML (for this website), a PDF (for sharing), and a Word document (also for sharing - as some folks require it to be in this format).
I have something that seems to work and so thought I would share what I did as a first attempt. In part, I hoped doing so would spark other folks sharing better ways (or suggesting improvements to me).
Just as a sidenote, using blogdown to create my website was essential.
The results
Here’s what I did; all of the source files are available here; the final versions are available in the following formats from different URLs:
My process
All of the file locations refer to the source here.
- Treated the file at
content/about-source.md
as the one file in which I wrote (and will update) my CV - Added a file (in a new directory),
r/build.R
, which containscv-utils.R
- This script (
cv-utils.R
) does most of the work:- copies
content/about-source.md
tostatic/cv
with the name (and file type) changed torosenberg-cv.Rmd
(and which) - reads
content/about-source.md
- then removes the LaTeX tags
- writes the file to to
static/cv
with the name (and file type) changed torosenberg-cv.Rmd
- and renders the Word document using
Rosenberg-CV-template.docx
as the document template (created by using the “Incremental style editing” described here)
- does essentially the steps taken to render the Word document again to render the HTML version
- but with a line added after the front matter with a link to the PDF version
- and with the result being saved to
content/about.md
to serve as basis for the HTML file rendered with that file name (i.e., the file here)
- copies
That’s basically it. It’s a bit clunky; but, it seems to mostly work.
To do
For the CV to be (more) useful in Word document and HTML format, there is a change/improvement that need to be made:
- Need to center the contact information at the beginning of the file
And probably others that you see. Let me know through an issue in the GitHub repository, by email (jmrosenberg [at] utk [dot] edu), or via Twitter.