/resume.md

Write your resume in Markdown, style it with CSS, output to HTML and PDF

Primary LanguageHTMLMIT LicenseMIT

forked from: https://raw.githubusercontent.com/mikepqr/resume.md

resume.md

Write your resume in Markdown, style it with CSS, output to HTML and PDF.

Instructions

  1. Get a copy of this repository by using the template, forking, or cloning

  2. Install the dependencies:

    pip install markdown weasyprint
    

    Note weasyprint has additional non-python dependencies (cairo, Pango and GDK-PixBuf). See the weasyprint documentation for details.

  3. Edit resume.md (the placeholder text is taken with thanks from the JSON Resume Project)

  4. Run make resume to build resume.html and resume.pdf. If make is not available (e.g. Windows) run python resume.py then weasyprint resume.html resume.pdf instead.

Optionally, run make watch while you are working on your resume to rebuild it whenever resume.md or resume.css change (requires entr).

Customization

Edit resume.css to change the appearance of your resume. The default style is extremely generic, which is perhaps what you want in a resume, but CSS gives you a lot of flexibility. See, e.g. The Tech Resume Inside-Out for good advice about what a resume should look like (and what it should say).

Change the appearance of the PDF version (without affecting the HTML version) by adding rules under the @media print CSS selector.

Change the margins and paper size of the PDF version by editing the @page CSS rule.

python-markdown is by default a very basic markdown compiler, but it has a number of optional extensions that you may want to enable (by adding to the list of extensions here). attr_list in particular may by useful if you are editing the CSS.

Tips

The simplest way to maintain multiple versions of your resume is to comment bits of text in or out based on the audience. This can be done with standard HTML comment syntax (e.g. <!-- Skills: Microsoft Word -->) but beware that commented out text will be included in the HTML source that you are presumably going to put online or share.

An alternative is to keep snippets of Markdown (or CSS) in separate files, and collect them into a single file for each version of your resume using a templating tool, makefile or shell script.

Use, e.g. git tag to record which version of the resume you sent to which person.

Use git diff --word-diff to make git diff more legible (this applies any time you run git diff on natural language).