Skip to content

librefos/cv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

--- Português (pt-BR) --------------------------------------------------

Este repositório contém o código-fonte LaTeX do meu Curriculum Vitae
profissional. Ele foi projetado para ser modular, automatizado e
versionado, tratando o documento como um projeto de software em vez de
um binário estático.

---- Estrutura do Projeto ----------------------------------------------

.
|-- assets/      # Ativos binários (Foto de perfil)
|-- build/       # Artefatos gerados (*.pdf, *.log, *.aux)
|-- .git/        # Metadados do Git
|-- .gitignore   # Lista de exclusão de artefatos de build
|-- cv.tex       # Ponto de entrada principal
|-- preamble.tex # Configuração, Pacotes e Lógica de Design
|-- toPDF.sh     # Script de automação de build
|-- LICENSE      # Termos da Licença MIT
`-- README       # Este arquivo

----------------------------------------------- Estrutura do Projeto ---
---- Requisitos --------------------------------------------------------

Para compilar este documento, você precisa de uma distribuição TeX Live
padrão instalada no seu sistema.

Arch Linux: # pacman -S texlive-most texlive-lang

Debian:     # apt install texlive-latex-extra texlive-lang-portuguese \
                          texlive-fonts-extra

Pacotes Essenciais Utilizados:
  - paracol      (Layout em colunas)
  - tikz         (Barras de habilidades e gráficos)
  - fontawesome5 (Ícones)
  - raleway      (Tipografia)
  - babel        (Hifenização em português)

--------------------------------------------------------- Requisitos ---
---- Instruções de Build -----------------------------------------------

Um script shell é fornecido para automatizar o processo de build e
manter o diretório raiz limpo, direcionando a saída para a pasta
'build/'.

1. Torne o script executável:        $ chmod +x toPDF.sh
2. Compile o documento:              $ ./toPDF.sh cv.tex
3. O PDF final estará disponível em: build/cv.pdf

------------------------------------------------ Instruções de Build ---
---- Container (Docker/Podman) ---------------------------------------

Caso prefira não instalar o TeX Live localmente, um Containerfile é
fornecido para compilar o documento em um ambiente isolado.

Requisito: Docker ou Podman com suporte a Compose.

1. Construa a imagem (apenas na primeira vez):

   $ docker compose build

2. Compile o documento:

   $ docker compose run --rm texlive

3. O PDF final estará disponível em: build/cv-<tag>.pdf

O nome do arquivo reflete a tag Git atual do repositório. Caso não
haja uma tag no commit atual, o nome será 'cv-dev.pdf'.

Nota: O diretório do projeto inteiro é montado em '/workspace' dentro
do container, incluindo '.git/', o que permite que a tag seja
detectada corretamente.

--------------------------------------- Container (Docker/Podman) ---
---- Integração Contínua (CI/CD) -------------------------------------

O repositório utiliza dois workflows do GitHub Actions localizados em
'.github/workflows/':

  publish-image.yml — Publicação da Imagem de Container
  Disparado quando há alterações no Containerfile (apenas na branch
  master). Constrói a imagem TeX Live e a publica no GitHub Container
  Registry (GHCR) em ghcr.io/librefos/texlive-cv:latest. Isso garante
  que a imagem usada pelo CI esteja sempre atualizada sem precisar ser
  reconstruída a cada compilação.

  build.yml — Compilação e Release
  Disparado ao criar uma tag Git. Realiza o checkout completo do
  repositório (incluindo histórico de tags), puxa a imagem publicada
  no GHCR e executa toPDF.sh dentro do container. O PDF gerado é
  nomeado automaticamente com a tag atual (ex: cv-2026-03.pdf) e
  publicado como artefato na página de Releases do repositório.

Fluxo completo:

  1. Alterações no código  →  commit  →  push para master
  2. Versão pronta         →  git tag -s <tag>  →  git push origin <tag>
  3. GitHub Actions compila e publica o PDF em Releases automaticamente

A imagem de container é pública e está disponível em:
ghcr.io/librefos/texlive-cv:latest

------------------------------------- Integração Contínua (CI/CD) ---
---- Customização ------------------------------------------------------

- Conteúdo: Edite 'cv.tex' para atualizar experiência e skills.
- Design:   Edite 'preamble.tex' para mudar cores, fontes ou margens.
- Assets:   Substitua 'assets/profile.jpeg' pela sua própria imagem.

------------------------------------------------------- Customização ---
---- Licença -----------------------------------------------------------

Baseado no trabalho original de Jan Kuester (2019).
Refatorado e mantido por Thiago C. Silva (2026).

Distribuído sob a Licença MIT. Veja LICENSE para detalhes.

------------------------------------------------------------ Licença ---

-------------------------------------------------- Português (pt-BR) ---
--- English ------------------------------------------------------------

This repository contains the LaTeX source code for my professional
Curriculum Vitae. It is designed to be modular, automated, and version-
controlled, treating the document as a software project rather than a
static binary.

---- Project Structure -------------------------------------------------

.
|-- assets/      # Binary assets (Profile picture)
|-- build/       # Generated artifacts (*.pdf, *.log, *.aux)
|-- .git/        # Git metadata
|-- .gitignore   # Build artifacts exclusion list
|-- cv.tex       # Main entry point
|-- preamble.tex # Configuration, Packages, and Design Logic
|-- toPDF.sh     # Build automation script
|-- LICENSE      # MIT License terms
`-- README       # This file

-------------------------------------------------- Project Structure ---
---- Requirements ------------------------------------------------------

To compile this document, you need a standard TeX Live distribution
installed on your system.

Arch Linux: # pacman -S texlive-most texlive-lang

Debian:     # apt install texlive-latex-extra texlive-lang-portuguese \
                          texlive-fonts-extra

Essential Packages Used:
  - paracol      (Column layout)
  - tikz         (Skill bars and graphics)
  - fontawesome5 (Icons)
  - raleway      (Typography)
  - babel        (Portuguese hyphenation)

------------------------------------------------------- Requirements ---
---- Build Instructions ------------------------------------------------

A shell script is provided to automate the build process and keep the
root directory clean by directing output to the 'build/' folder.

1. Make the script executable:         $ chmod +x toPDF.sh
2. Compile the document:               $ ./toPDF.sh cv.tex
3. The final PDF will be available at: build/cv.pdf

------------------------------------------------- Build Instructions ---
---- Container (Docker/Podman) ---------------------------------------

If you prefer not to install TeX Live locally, a Containerfile is
provided to compile the document in an isolated environment.

Requirement: Docker or Podman with Compose support.

1. Build the image (first time only):

   $ docker compose build

2. Compile the document:

   $ docker compose run --rm texlive

3. The final PDF will be available at: build/cv-<tag>.pdf

The filename reflects the current Git tag of the repository. If there
is no tag on the current commit, the output will be 'cv-dev.pdf'.

Note: The entire project directory is mounted at '/workspace' inside
the container, including '.git/', allowing the tag to be detected
correctly.

--------------------------------------- Container (Docker/Podman) ---
---- Continuous Integration (CI/CD) ----------------------------------

The repository uses two GitHub Actions workflows located in
'.github/workflows/':

  publish-image.yml — Container Image Publishing
  Triggered when the Containerfile changes on the master branch.
  Builds the TeX Live image and publishes it to the GitHub Container
  Registry (GHCR) at ghcr.io/librefos/texlive-cv:latest. This ensures
  the image used by CI is always up to date without being rebuilt on
  every compilation run.

  build.yml — Compilation and Release
  Triggered when a Git tag is pushed. Performs a full checkout of the
  repository (including tag history), pulls the published image from
  GHCR, and runs toPDF.sh inside the container. The generated PDF is
  automatically named after the current tag (e.g. cv-2026-03.pdf) and
  published as an artifact on the repository's Releases page.

Full workflow:

  1. Code changes  →  commit  →  push to master
  2. Version ready →  git tag -s <tag>  →  git push origin <tag>
  3. GitHub Actions compiles and publishes the PDF to Releases

The container image is public and available at:
ghcr.io/librefos/texlive-cv:latest

---------------------------------- Continuous Integration (CI/CD) ---
---- Customization -----------------------------------------------------

- Content: Edit 'cv.tex' to update experience and skills.
- Design:  Edit 'preamble.tex' to change colors, fonts, or margins.
- Assets:  Replace 'assets/profile.jpeg' with your own image.

------------------------------------------------------ Customization ---
---- License -----------------------------------------------------------

Based on the original work by Jan Kuester (2019).
Refactored and maintained by Thiago C. Silva (2026).

Distributed under the MIT License. See LICENSE for details.

------------------------------------------------------------ License ---

------------------------------------------------------------ English ---

About

Código-fonte de Currículo Profissional | Professional Curriculum Vitae source code

Topics

Resources

License

Stars

Watchers

Forks

Contributors