Skip to content

Pandoc-ModernCV is a Pandoc fa­cil­i­ties for type­set­ting mod­ern cur­ricu­lums vi­tae. Inspired by the well known Latex ModernCV, it is fairly cus­tomiz­able, al­low­ing you to use predefined themes and to define your own style by changing colors, fonts, etc.

Notifications You must be signed in to change notification settings

sgrimault/pandoc-moderncv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pandoc-ModernCV provides Pandoc fa­cil­i­ties for type­set­ting modern cur­ricu­lums vi­tae in markdown. Inspired by the well known Latex ModernCV, it is fairly cus­tomiz­able, al­low­ing you to use predefined themes and to define your own style by changing colors, fonts, etc.

With Pandoc-ModernCV simply write your CV in Markdown, compile it and publish it in a snap!

Pandoc-ModernCV currently supports pdf and html5 export formats. The html5 output is responsive and supports rendering for small to large screens.

Features

Writing a CV has never been so simple!

  • write your CV in Markdown
  • choose between themes
  • customize your style
  • export to HTML5
    • responsive layout (mobile, tablet, desktop)
    • print layout
  • export to PDF
    • A4 format ready
    • PDF tags (title, author, etc.)
  • publish public & private CV

Preview & Screenshots

HTML5

Live html5 preview here

Pandoc-ModernCV large-screen preview
Screenshot of the HTML scaffold CV taken for a large screen.
See also medium-screen preview or small-screen preview

PDF

Live pdf preview here

Pandoc-ModernCV PDF export preview
Screenshot of the PDF scaffold CV. Notice the QR-Code

Requirements

For building your CV in html you need:

For exporting your CV to pdf you need:

Installation

Install Compass and Susy:

$ gem install compass
$ gem install susy

Install wkhtmltopdf.

Install Pandoc by using your package manager or by using the provided installer http://johnmacfarlane.net/pandoc/installing.html (or using cabal)

Install ExifTool by using your package manager (use brew on Mac)

rsync should already be installed... if not, install it using your package manager.

You are done!

Getting Started

The simplest way to get started with pandoc-moderncv is to use the provided scaffold. In a terminal just do:

$ make scaffold
$ make html

What it does it that it creates a scaffold cv located in the /cv directory and builds an html version of it. To open the generated cv just do:

$ open dist/cv.html

To export the CV to pdf just do:

on MacOS X
$ make pdf

on Linux/Windows
$ make pdf HTMLTOPDF=wkhtmltopdf

Hit the link to preview the generated pdf

There you are!

Customize

Metadata

Your CV can be customized with metadata. Metadata are located between two --- separators at the top of the cv.md file and are formated using the YAML format:

---
lang: en
title: Résumé Title
firstname: Firstname
lastname: Lastname
photo: images/picture.png
email: [email protected]
mobile: '+1 (234) 567 890'
address:
  city: City
  country: Country
settings:
  protect-mobile: true
  protect-email: true
---

put here your *CV* data

Currently Pandoc-ModernCV supports the following metadata:

key type value
lang string en
title string Résumé Title
subject string Subject
firstname string Firstname
lastname string Lastname
age string YourAge
photo url path/to/photo.png
qrcode url images/qrcode.png
contact url http://contact.yoursite.com
homepage url http://yoursite.com
email email [email protected]
mobile string '+1 (234) 567 890'
phone string '+2 (345) 678 901'
fax string '+3 (456) 789 012'
header markdown custom markdown text
footer markdown custom markdown text
address map
city string City
country string Country
settings map
protect-age boolean true/false (default: false)
protect-email boolean true/false (default: false)
protect-mobile boolean true/false (default: false)
protect-phone boolean true/false (default: false)
protect-fax boolean true/false (default: false)
protect-address boolean true/false (default: false)
display-lastupdate boolean true/false (default: false)

Private & Public CV

It is often handy to hide/show specific informations in your CV depending on where it is published/sent. Pandoc-ModernCV supports public and private cv:

  • when public:
    • protected metadata are removed.
    • cv/public.md is displayed just after the header and before the CV body.
  • when private:
    • protected metadata are displayed.
    • cv/private.md is displayed just after the header and before the CV body.

Protecting Metadata

Currently Pandoc-ModernCV can protect the following metadata:

  • age
  • email
  • mobile
  • phone
  • fax
  • address

Metadata can be (un)protected independently as follow:

---
...
settings:
  protect-mobile: true # this protect *mobile*
  protect-email: false # this unprotect *email*
---

Building Private/Public CV

To build a public CV just do:

$ make html public-cv=true
or
$ make pdf public-cv=true

To build a private CV just do:

$ make html private-cv=true
or
$ make pdf private-cv=true

Themes

Currently pandoc-moderncv supports a single theme: classic.

Feel free to contribute and send me your custom theme!

Colors, Fonts, Icons

All themes can be customized through variables defined in styles/sass/_settings.scss. Currently the variables are:

// variables for Vertical Rhythm
$base-font-size:    18px;
$base-line-height:  24px;
$rhythm-unit:       "em";

// max width for photo and QR code
$photo-width:   128px;
$qrcode-width:  100px;

// default size
$h1-font-size:      $base-font-size * 2;
$h1-line-multiple:  2;
$h2-font-size:      $base-font-size * 1.5;
$h2-line-multiple:  1.5;
$h3-font-size:      $base-font-size * 1.2;
$h3-line-multiple:  1;

// default colors
$firstname-color:           rgb(0, 0, 0);
$familyname-color:          rgb(0, 0, 0);
$title-color:               rgb(89, 89, 89);
$address-color:             rgb(0, 0, 0);
$quote-color:               rgb(0, 0, 0);
$section-rectangle-color:   rgb(191, 191, 191);
$section-title-color:       rgb(89, 89, 89);
$subsection-color:          rgb(0, 0, 0);
$hint-color:                rgb(0, 0, 0);
$external-link-color:       rgb(113, 122, 145);

Troubleshooting

Cannot load such file -- sass/script/node (LoadError)

For some reasons there is a bug when installing the latest version of Compass... your install of Sass get messed up (I didn't have time to investigate: if you have a better workaround/explanation let me know).

To get over it just uninstall sass and install it again:

$ gem uninstall sass
$ gem install sass

About

Pandoc-ModernCV is a Pandoc fa­cil­i­ties for type­set­ting mod­ern cur­ricu­lums vi­tae. Inspired by the well known Latex ModernCV, it is fairly cus­tomiz­able, al­low­ing you to use predefined themes and to define your own style by changing colors, fonts, etc.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CSS 52.3%
  • HTML 29.4%
  • Makefile 13.8%
  • Ruby 4.5%