Skip to content

Org exporter for curriculum vitae or cover letter using moderncv

License

Notifications You must be signed in to change notification settings

DCsunset/org-moderncv

Repository files navigation

Org exporter for curriculum vitae using moderncv

This project is forked from https://gitlab.com/Titan-C/org-cv. It keeps only moderncv export and improves and fix bugs in it.

Installation

To install it, you can clone this git repository and add it to your load-path:

git clone https://github.com/DCsunset/org-moderncv.git
(use-package org-moderncv
    :load-path "path_to_repository/org-moderncv/"
    :init (require 'org-moderncv))

If you are using Nix flake, you can add this repo to your inputs directly.

This package is also available in Nix NUR: nur.repos.dcsunset.moderncv.

Basic Org file

The basic structure of an org file containing your CV is shown next.

Personal contact information

TITLE, AUTHOR and EMAIL are standard org options. But on TITLE you put your foreseen job.

FieldDescription
CVKINDKind: “cv” or “letter”. (default: “cv”)
CVSTYLEModerncv style
CVCOLORModerncv color
NOITALICMake subtitles non-italic in cventry if set
TITLEDesired job
AUTHORWho are you?
EMAILYour contact email
ADDRESSMailing address, this can span over multiple lines
HOMEPAGEURL of your website
MOBILEMobile phone
SOCIALSocial items
PHOTOpath to photo file

The social items correspond to the \social command in moderncv. Each item consists of kind, content, and an optional url, separated by |. (e.g. github | <user>| https://github.com/<user> or just gitlab | <user>).

There are some options that only apply to the cover letter, as listed below. You don’t need to set them if you are not using the cover letter.

FieldDescription
recipientRecipient in cover letter. Need to specify it twice for recipient and company
openingOpening line
closingClosing line
#+TITLE: My dream job
#+AUTHOR: Test
#+email: Test

#+ADDRESS: My Awesome crib
#+ADDRESS: Fantastic city -- Planet Earth
#+MOBILE: (+9) 87654321
#+HOMEPAGE: example.com
#+GITHUB: Test
#+SOCIAL: github | <user>
#+SOCIAL: linkedin | <name> | <url>
#+PHOTO: smile.png

You can use org-modes hierarchical structure to describe your CV. To make a specific subtree an item describing an experience point (Job you have, degree you pursued, etc.) you use the org properties drawer and with the :CV_ENV: cventry property. You should also include the FROM and TO properties defining the span of the event, as LOCATION and EMPLOYER.

* Employement
** One job
:PROPERTIES:
:CV_ENV: cventry
:FROM:     <2014-09-01>
:TO:     <2017-12-07>
:TITLE: The employer
:SUBTITLE: a city, a country
:END:

I write about awesome stuff I do.
** Other job
:PROPERTIES:
:CV_ENV: cventry
:FROM:     <2013-09-01>
:TO:     <2014-08-07>
:TITLE: The employer
:SUBTITLE: a city, a country
:END:

I write about awesome stuff I do.

* Other stuff I do
- I work a lot
- I sleep a lot
- I eat a lot