-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
241 lines (171 loc) · 9.34 KB
/
README
File metadata and controls
241 lines (171 loc) · 9.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
--- 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 ---