Skip to main content

Use a theme


Use the flag --theme=<theme-name> to specify the theme you want to use.

To use the theme named my-theme:

cvwonder generate [...] --theme=my-theme

The theme must be located in the themes directory in the current working directory.

Theme branches

When you generate your CV, CVWonder will use whatever branch is currently checked out in the theme directory. To switch branches, use the install command:

# Switch to develop branch
cvwonder theme install github.com/germainlefebvre4/cvwonder-theme-default@develop

# Generate with the theme (will use the currently checked out branch)
cvwonder generate --theme=default

CVWonder will display the current branch being used:

CV Wonder
Input file: cv.yml
Output directory: generated/
Theme: default (default@main)
Format: html
Verifying the current branch

The output shows both the theme name and the current branch in parentheses. In this example, the default theme is using the main branch.

Theme directory structure

Themes are stored in simple directories like themes/default/ regardless of which branch is checked out. The branch is managed by git inside the directory.

Default theme

Themes have a specific structure including a theme.yaml and an index.html file.

themes
└── default
├── theme.yaml # Theme metadata
└── index.html # Theme template

To use you theme, specify the theme name with the --theme flag.

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

Render

The default theme renders the CV with a simple and clean design.

CVWonder Default Theme Render

CV input

Here is the content of the cv.yml file for the rendered CV.

---
company:
name: Zatsit
logo: images/zatsit-logo.webp

person:
name: Germain
depiction: profile.png
profession: Bâtisseur de Plateformes et de Nuages
location: Lille
citizenship: FR
email: germain.lefebvre@mycompany.fr
site: http://germainlefebvre.fr
phone: +33 6 00 00 00 00
experience:
since: 2014

socialNetworks:
github: germainlefebvre4
stackoverflow: germainlefebvre4
linkedin: germainlefebvre4
twitter: germainlefebvr4
bluesky: germainlefebvre4

abstract:
- "J'ai grandi dans l'univers des systèmes Linux. Ma volonté de progression m'a rapidement amené vers des outils automatisation, d'Infra-as-Code, ainsi que les plateformes de CI/CD."
- "La découverte de l'univers des conteneurs est digne de 'Rencontre avec le 3ème type'. C'est devenu un écosystème que j'aime tester, utiliser et transmettre."
- "Mon amour pour le logiciel libre m'a amené à contribuer pour des librairies, sqlfluff, libtado, crossplane-assistant ou encore cvwonder."
- "J'aime passer du temps sur des 'side projects' qui peuvent aider, servir et simplifier le quotidien des Techs. Ce que nous enseigne la sphère de l'open source est vertueux : l'entraide et le partage."

career:
- companyName: Zatsit
companyLogo: images/zatsit-logo.webp
duration: 10 mois, aujourd'hui
missions:
- position: Platform Engineer
company: Adeo
location: Ronchin, France
dates: 2024, mars - 2024, décembre
summary: Construire une IDP, plateforme interne de développement, totalement managée pour aider les développeurs à se focaliser sur le code. Sur base du code source, la plateforme provisionne l'infrastructure sous-jacente, les base de données, la construction des artefact et publication sur la registry, le déploiement dans Kubernetes, l'intégration du monitoring avec Datadog et construction des Monitors.
technologies:
- ArgoCD
- Kubernetes
- K8s Operrator
- Crossplane
- Vault
- Github Actions
- JFrog Artifactory
- Backstage
- Python
- Golang
description:
- Développement de l'operator Kubernetes responsable du provisioning des bases de données
- Développement des Compositions Crossplane pour provisionner les base de données
- Développement de l'API de l'IDP en Golang
- Déploiement avec ArgoCD
- Vulgarisation d'une architecture applicative en langage déclaratif (yaml)

- companyName: Ineat
companyLogo: images/ineat-logo.webp
duration: 7 ans, 10 mois
missions:
- position: Lead Tech Ops
company: Siemens
location: Lille, France
dates: 2022, juin - 2024, février
summary: Mettre en place l'infrastructure d'un puit de logs et métriques.
technologies:
- Linux
- Apache Zookeeper
- Apache Kafka
- Kafka Streams
- Clickhouse
- Prometheus
- Prometheus Exporters
- AlertManager
- Fluentbit
- Terraform
- Ansible
- Gitlab CI
- Python
- Pytest testinfra
description:
- Création d'un produit déclinable (couches de configuration multiples)
- Création d'un générateur de configuration pour les déclinaisons clients
- Développement d'un système de déploiement offline et asynchrone
- Industrialisation de la plateforme de développement
- Création d'environnements éphémères pour rendre les développeurs autonomes
- position: Lead Tech Ops
company: Kiloutou
project: Kite
location: Lille, France
dates: 2023, juin - 2024, février
summary: Maintenir opérationnellement les infrastructures liées aux applications. Gestion d'une équipe de 3 personnes pour assurer l'infogérance des applications du client. L'une d'entre elle est le site kiloutou.fr.
technologies:
- Linux
- Terraform
- Gitlab CI
description:
- Supervision de la plateforme
- Amélioration continue de la partie Cloud et Infra
- Analyse et mitigation sur la partie sécurité

technicalSkills:
domains:
- name: Cloud
competencies:
- name: AWS
level: 80
- name: GCP
level: 70
- name: Azure
level: 40
- name: Ops
competencies:
- name: Linux
level: 90
- name: Ansible
level: 90
- name: Terraform
level: 90
- name: Docker
level: 90
- name: Kubernetes
level: 90
- name: Others
competencies:
- name: Golang
level: 40
- name: Python
level: 70
- name: Gitlab CI
level: 80
- name: Github Actions
level: 70

sideProjects:
- name: cvwonder
position: maintainer
description: A CLI to render your CV from a YAML file.
link: germainlefebvre4/cvwonder
type: github
langs: Go
color: 3572A5

certifications:
- companyName: AWS
certificationName: Solutions Architect Associate
issuer: Coursera
date: Mars 2018
link: https://www.credly.com/badges/dd09dc40-9ef8-43a4-addb-d861d4dadf26/public_url
badge: images/aws-certified-solutions-architect-associate.png

languages:
- name: Francais
level: Maternelle
- name: Anglais
level: Aisance professionnelle

education:
- schoolName: IG2I - Centrale
schoolLogo: images/centrale-lille-logo.webp
degree: Titre d'ingénieur (BAC+5)
location: Lens, France
dates: 2019 - 2014
link: https://ig2i.centralelille.fr

references:
- name: Jane Doe
position: CTO
company: TechCorp
date: Jan 2024
url: https://linkedin.com/in/janedoe
socialNetworks:
linkedin: janedoe
github: janedoe-gh
description: "Germain est un excellent ingénieur, très compétent sur les sujets DevOps et Kubernetes. Je recommande vivement !"