md-cv is a Jekyll-based markdown CV template that converts a plain Markdown résumé into a styled HTML page and a print-ready PDF, forked from elipapa's markdown-cv and maintained by Ben Moore (blmoore).
What is md-cv?
md-cv takes a Markdown file as input and produces a static HTML site under _site when built with Jekyll. It includes two stylesheets: media/cv-screen.css for screen display and media/cv-print.css for PDF output. The template is demonstrated at blm.io/cv and was derived from elipapa/markdown-cv.
Key Features
- Jekyll-based build — Clone the repo and run
jekyll serveto generate the site locally; output lands in_site. - Markdown input — The CV content is written in Markdown, making it easy to version-control with Git.
- Separate screen and print stylesheets —
media/cv-screen.cssstyles the HTML version, whilemedia/cv-print.cssis tuned for PDF printing. - Font Awesome icons and Open Sans — The HTML version imports Font Awesome icons and the Open Sans webfont to control typography and icons.
- Three-column layout for lists — List items (
ul) are arranged in a three-column layout in the HTML version. - Explicit page-break control — Add a CSS rule such as
#education { page-break-before: always; }to force a page break before any section heading. - Horizontal scrolling fix — The fork fixes the horizontal scrolling issue present in the original template caused by heavy CSS positioning.
Who is it for?
- Academics and researchers who want to maintain a CV in plain Markdown and generate an elegant HTML version for their personal site.
- Developers and tech professionals comfortable with Jekyll and the command line who want a version-controlled résumé.
- Anyone who needs both a web and PDF CV — the print stylesheet produces a clean PDF when printed through Firefox.
What can you do with it?
- Maintain your CV as Markdown: Edit a single Markdown file with your experience, education, and skills, then rebuild the site to reflect changes.
- Host the generated HTML on any static host: The
_siteoutput can be deployed to GitHub Pages or any static server. - Generate a PDF for job applications: Use Firefox's Print-to-PDF with the print stylesheet to create a submission-ready résumé.
How does it work?
- Clone the repository:
git clone git://github.com/blmoore/md-cv - Change into the directory and run
jekyll serve(Jekyll must be installed). - Open
http://0.0.0.0:4000in your browser to view the generated CV.
Pros and cons
- Pros: Simple Markdown workflow; separate CSS for screen and print; easy to customize via CSS.
- Cons: Building requires Jekyll and Ruby; as of March 2015, CSS3 columns in some sections do not print correctly under Chrome/Blink or Safari/WebKit, so Firefox is recommended for PDF output.
Alternatives
- elipapa/markdown-cv — the original project this template was forked from.
- davidhampgonsalves/resume — another Markdown résumé template that inspired the 3-column layout.
FAQ
Is md-cv free?
Yes, md-cv is open-source and free to use, forked from the MIT-licensed markdown-cv project (check the repo for exact license terms).
Do I need Jekyll to use md-cv?
Yes, md-cv is a Jekyll theme/template. You need to install Jekyll to build the site from the Markdown source.
How do I create a PDF from md-cv?
Run the Jekyll server, open the page in Firefox, and use the browser's Print dialog to save as PDF. The print stylesheet (media/cv-print.css) is applied automatically.
Why doesn't my PDF look right in Chrome?
As noted in the README, CSS3 multi-column layouts in the template do not print correctly under Blink/WebKit engines (as of March 2015). Using Firefox for printing is recommended.
How can I add a page break before a section?
Give the section's h2 heading an id (by default the id is the heading text), then add CSS like #education { page-break-before: always; } to media/cv-print.css.





