One thing that always bugged me about writing resume's was the medium of creation. I've never felt comfortable using Microsoft Word or Google Docs. Don't get me wrong, I am competent at using both however I try to avoid it when I can and use Markdown instead because there is a level of granular control I get with Markdown that I simply do not have in a word processor. Furthermore, I'm just more comfortable with a Markdown, git, workflow as it includes tools I use on a daily basis, as opposed to a workflow involving a word processor, software I seldomly use.
Create the document.
The first part of this workflow is of course creating a resume in markdown. I used VSCode with a Spellchecker and Markdown extensions and combined makes the workflow seamless.
Converting the document
Unlike other workflows similar to this one. Mine does not involve using Pandoc. I tried it and found the setup too complicated for what value I got out of it so I opted to go with markdown-pdf
, a Node JS package that can convert markdown to PDF.
Styling everything
The next challenge is markdown can either look beautiful of like complete garbage depending on what CSS you use. This is because under the hood, markdown is simply CSS and thus, you can add CSS and even inline HTML into your documents. To style the document, I added a resume.css
file to the root of the project and passed it to markdown-pdf
.
Tying it all together
Create a new directory and run npm init
to create a new js project. After that add markdown-pdf
and add a script to your package.json
to convert your markdown resume to PDF:
{
...
"scripts": {
"build": "markdown-pdf -s resume.css -o markdown.pdf markdown.md"
}
...
}
Finally after you finish editing the markdown document. Simply run npm run build
and your markdown will be styled and converted to PDF.
(Extra) SASS Support
You can also ass SASS/SCSS support pretty easily using node-sass
.
{
...
"scripts": {
"build:markdown": "markdown-pdf -s resume.css -o markdown.pdf markdown.md",
"build:css": "node-sass resume.scss resume.css",
"build": "npm run build:css && npm run build:markdown"
}
...
}
Then convert resume.css
to resume.scss
and you're ready to SASS!
What about DOCX Support?
I am still trying to figure out how to properly convert Markdown to DOC and DOCX. While I could do it with Pandoc, DOCX is hard to work with in general and keeping document margins and styling cosistent is harder than it is with PDF. Once I figure out a reliable way of doing this I will update my guide.
Example
You can check out my resume on Github for an implementation of this workflow.
Top comments (0)