Building CVs with Go and ConTeXt.
Find a file
2023-02-23 19:44:06 +00:00
docker chore: renamed project to spruce 2023-02-23 19:44:06 +00:00
example feat: new cv builder tool 2023-02-18 21:01:28 +00:00
templates/tex feat: new cv builder tool 2023-02-18 21:01:28 +00:00
.dockerignore fix: update the Dockerfile 2023-02-21 08:30:31 +00:00
.gitignore chore: renamed project to spruce 2023-02-23 19:44:06 +00:00
.hadolint.yaml feat: new cv builder tool 2023-02-18 21:01:28 +00:00
cv.go feat: new cv builder tool 2023-02-18 21:01:28 +00:00
go.mod chore: renamed project to spruce 2023-02-23 19:44:06 +00:00
go.sum chore: go mod tidy 2023-02-19 07:42:25 +00:00
LICENSE feat: new cv builder tool 2023-02-18 21:01:28 +00:00
main.go fix: update the Dockerfile 2023-02-21 08:30:31 +00:00
README.md chore: renamed project to spruce 2023-02-23 19:44:06 +00:00
template_funcs.go feat: new cv builder tool 2023-02-18 21:01:28 +00:00

Spruce - A tool for building CVs

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.