Skip to content

germainlefebvre4/cvwonder

Repository files navigation

CV Wonder

cvwonder

Getting started

  1. Download the latest release from the releases page OR in your terminal.
apt install curl jq

DISTRIBUTION=linux   # linux, darwin, windows
CPU_ARCH=amd64       # amd64, arm64, i386

VERSION=$(curl -s "https://api.github.com/repos/germainlefebvre4/cvwonder/releases/latest" | jq -r '.tag_name')
curl -L -o cvwonder "https://github.com/germainlefebvre4/cvwonder/releases/download/${VERSION}/cvwonder_${DISTRIBUTION}_${CPU_ARCH}"
chmod +x cvwonder
sudo mv cvwonder /usr/local/bin/
  1. Write your CV in a YAML file
# i.e. cv.yml
vim cv.yml
  1. Generate your CV using the following command:
cvwonder themes install https://github.com/germainlefebvre4/cvwonder-theme-default
cvwonder generate --input=cv.yml --output=generated/ --theme=default

Generate your CV

Generate your CV in HTML format:

cvwonder generate
# cvwonder generate --input=cv.yml --output=generated/ --theme=default

Serve your CV

Serve your CV on a local server to preview it in your browser:

cvwonder serve
# cvwonder serve --input=cv.yml --output=generated/ --theme=default

Watch for changes

Enable the watcher to automatically generate your CV when any involved file is modified:

  • themes/<theme-name>/index.html: The main template of the theme
  • <input-cv>.yml: Your CV in YAML format
cvwonder serve -w
# cvwonder serve --input=cv.yml --output=generated/ --theme=default --watch

Themes

Default

The default theme is a simple theme to help you get started. It includes:

  • Simple design
  • Printable version of your CV
  • Web version of your CV
  • Github stars and forks count of your side projects
  • Graphical bar level for you Tech Skills
  • Logo of your companies and schools

Theme Functions

Theme templating is based on template/html package from Go. It is a simple and basic templating engine without any flourish stuff.

To allow basic string manipulation, here are the functions available in the templates:

  • dec - Decrement a number
  • replace - Replace a substring by another
  • join - Join a list of strings with a separator
Function Description Example Result
dec Decrement a number {{ dec 2 }} 1
replace Replace a substring by another {{ replace "Hello World" "World" "Universe" }} Hello Universe
join Join a list of strings with a separator {{ join ["one", "two", "three"] ", " }} one, two, three

Development

Run

go run ./cmd/cvwonder/cvwonder.go --input=cv.yml --output=generated/ --theme=default 
# make run

Build

go build -o cvwonder ./cmd/cvwonder/cvwonder.go
# make build

Test

go test -v ./...
# make test

VSCode

A .vscode/launch.json file is provided to help you debug the application.