spruce/README.md
Dan Anglin 11b9d4df15
feat: new cv builder tool
New CV builder tool migrated from the private repository.
2023-02-18 21:01:28 +00:00

2 KiB

CV Builder

Overview

This project parses a CV, written in JSON and generates it as a PDF document. The PDF generation is completed in two steps:

  1. The application parses the JSON document and generates a TEX file using the TEX template files located in the templates directory.
  2. The application then uses ConTeXt to generate the final PDF document from the generated TEX file.

Dependencies

If you are interested in generating your own CV, then below is a list of dependencies that you'll need to install:

  • Go: Please go here to download the latest version of the Go programming language.
  • ConTeXt: You can go to the installation page to find out how to install ConTeXt for your Operating System.
  • The Carlito font (ttf-carlito): In previous iterations of my CV I used the Calibri font. Carlito is the free, metric compatible alternative to this and is specified in the TEX template.
    • For Ubuntu/Debian installation you can use apt:
      $ apt install font-crosextra-carlito
      
    • For Arch Linux you can use pacman:
      $ pacman -S ttf-carlito
      
    • Alternatively you can download the font from https://fontlibrary.org/en/font/carlito
    • Once this font is installed you'll need to update ConTeXt so it can find the font when generating the PDF:
      $ OSFONTDIR=/usr/share/fonts
      $ mtxrun --script fonts --reload
      

Generating the example PDF Document

You can generate a PDF from the example CV by running the following command:

$ go run . --input example/cv.json

This will create a file called cv.pdf which you can view in your favourite PDF viewer.

Inspirations

  • The Markdown Resume - This project uses ConTeXt and pandoc to convert Markdown based CVs into multiple formats including PDF, HTML and DOCX. This is where I discovered ConTeXt.
  • melkir/resume - This project generates CVs using Go and LaTeX.