Editing a CV in markdown with pandoc

CV maintainance is one of these painful and repetitive tasks that you don't want to burn too much time on. For a while, I have been using latex with the excellent moderncv class, but the pdf format has annoying limitations:

I thus decided to switch to the markdown syntax, and to generate various formats with pandoc. The code of my résumé now looks like this:

Cave Johnson
============

----

>  Science isn't about WHY. It's about WHY NOT!

----

Corporate Experience
--------------------

1940-1980
:   *CEO of Aperture Science* (Upper Michigan, USA).

    Supervised the development of various gels, and of a Portable
    Quantum Tunneling Device.

Hobbies
-------

Interests
:   Refining moon rocks

The file can then be compiled in various formats. To obtain the html version:

pandoc --standalone --from markdown --to html -o index.html index.md

But the default ouptut is rather ugly. That is why I wrote a CSS to go with the html generated by pandoc. It is inspired by moderncv, and specially adapted for this use case. The command line becomes:

pandoc --standalone -c style.css --from markdown --to html -o index.html index.md

Now that you are at it, you can also generate a word document or even some plain text file. No need to build a new one in a hurry!

pandoc --from markdown --to docx -o index.docx index.md
pandoc --standalone --smart --from markdown --to plain -o index.txt index.md

You can get a look at what it looks like on my own résumé. The full code can be found on git.chmd.fr (and github).

To the comments

All posts

  1. Using openid and the likes to protect static content (lighttpd)
  2. Git on lighttpd
  3. Sigal, a static gallery generator
  4. Jabber notifications on ssh login
  5. Choose your passphrase with a die
  6. Operations Research and Beer drinking
  7. Releasing Michel, a flat-text-file-to-google-tasks uploader
  8. Going static
  9. plowbot, a jabber bot that downloads links from 1-click hosters
  10. SSH over SSL, episode 3: Avoiding using a patched apache.
  11. [Je préfère ton clone] padopi
  12. Using a shell version of supergenpass from vimperator/pentadactyl
  13. Saving your crontab in your dotfiles
  14. Notifications from google calendar on my desktop
  15. SSH over SSL, episode 2: replacing proxytunnel with socat
  16. SSH over SSL, a quick and minimal config.
  17. Vim: complete C++ accurately, pulling informations from the compiler, with gccsense and clang_complete
  18. Google releasing a constraint programming library
  19. Mise à jour de TalkMyPhone
  20. TalkMyPhone, une appli android pour recevoir des notifications de son téléphone
  21. De l'intérêt de détacher des programmes de la console (sans screen)
  22. renaming files and variables from vim
  23. Continuous background compilation within vim
  24. Utilisons incron pour être notifiés des événements du système de fichiers
  25. La TODO liste du pauvre
  26. Gérer ses plugins vim avec :GetLatestVimScripts
  27. gdb 7.0 est sorti, c'est une merveille et vous ne le saviez pas.
  28. autotools, doxygen, et génération conditionnelle
  29. Mettre des couleurs un peu partout (gcc, diff, grep...)
  30. vim+gdb=vimgdb
  31. l'UML automatisé et le libre : c'est pas gagné!
  32. Les lecteurs de flux rss, en ligne, indépendants, libres (suite).
  33. Les lecteurs de flux rss en ligne libres
  34. Couper une vidéo et extraire une scène d'un film
  35. Faire un gif animé à partir d'un film

Atom feed