Skip to content

germainlefebvre4/cvwonder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

86 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

CV Wonder

๐Ÿ“š Documentation | ๐Ÿณ Docker Hub

CV Wonder is a tool that allows you to create a CV in a few minutes. It allows you to massively generate CVs, base on a theme, for thousands of people in a few seconds without friction. The Theme system allows you to use community themes and create your own for your purposes.

Don't waste any more time formatting your CV, let CV Wonder do it for you and just focus on the content.

cvwonder

Table of Contents

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

Branch Management

Install themes from specific branches or switch between them:

# Install from default branch
cvwonder themes install https://github.com/germainlefebvre4/cvwonder-theme-default

# Install from specific branch
cvwonder themes install https://github.com/germainlefebvre4/cvwonder-theme-default@develop

# Switch to another branch (use --force to discard local changes)
cvwonder themes install https://github.com/germainlefebvre4/cvwonder-theme-default@main --force

Installing Private Themes

CVWonder supports installing themes from private GitHub repositories with automatic authentication detection:

# Option 1: GitHub CLI (recommended - automatic credential detection)
gh auth login
cvwonder themes install https://github.com/your-org/your-private-theme

# Option 2: Environment variable
export GITHUB_TOKEN="ghp_your_personal_access_token"
cvwonder themes install https://github.com/your-org/your-private-theme

# Option 3: Alternative environment variable
export GH_TOKEN="ghp_your_personal_access_token"
cvwonder themes install https://github.com/your-org/your-private-theme

Authentication Priority:

  1. GitHub CLI (gh) credentials
  2. GITHUB_TOKEN environment variable
  3. GH_TOKEN environment variable
  4. Unauthenticated (public repositories only)

See the Theme Installation Documentation for more details.

Validate your CV

CV Wonder includes comprehensive YAML schema validation to catch errors early:

# Validate your CV file
cvwonder validate --input=cv.yml

# Validate during generation
cvwonder generate --validate --input=cv.yml

See the Validation Documentation for more details.

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

See the Theme Functions Documentation for more details.

Docker

CV Wonder is also available as a Docker image on Docker Hub.

To generate the CV.

docker run -v $(pwd):/cv germainlefebvre4/cvwonder:latest generate --input=cv.yml --output=generated/ --theme=default

To serve the CV and watch for changes.

docker run -v $(pwd):/cv germainlefebvre4/cvwonder:latest serve --input=cv.yml --output=generated/ --theme=default --watch

To validate the CV.

docker run -v $(pwd):/cv germainlefebvre4/cvwonder:latest validate

Development

Run

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

Build

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

Test

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

VSCode

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

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting a pull request.

Contributors

Sponsors

They help CV Wonder to grow.

They use CV Wonder!

Companies and organizations that use CV Wonder.

What about you? Contact me to add your company here!

About

Generate your CV with Wonder!

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 5

Languages