Building CVs with Go and ConTeXt.
Find a file
Dan Anglin 52868d7aa8
fix: add version and print with --version
Add a version variable that is printed to screen with the --version
flag.

Add a basic Makefile for building and installing spruce.
2023-03-08 00:42:04 +00:00
docker chore: renamed project to spruce 2023-02-23 19:44:06 +00:00
example feat(BREAKING): limit shown employment history 2023-03-02 17:40:04 +00:00
internal feat(BREAKING): limit shown employment history 2023-03-02 17:40:04 +00:00
templates/tex feat(BREAKING): limit shown employment history 2023-03-02 17:40:04 +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
go.mod feat(BREAKING): limit shown employment history 2023-03-02 17:40:04 +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: add version and print with --version 2023-03-08 00:42:04 +00:00
Makefile fix: add version and print with --version 2023-03-08 00:42:04 +00:00
README.md feat(BREAKING): limit shown employment history 2023-03-02 17:40:04 +00:00

Spruce - A tool for building CVs

Overview

Spruce is a tool that generates a PDF document from a CV written in JSON. 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): A free, metric compatible alternative to the Calibri.
    • 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.