284 lines
6.1 KiB
Text
284 lines
6.1 KiB
Text
#let config = yaml("config_fr.yaml")
|
||
#let settings = yaml("settings.yaml")
|
||
#let personnal = yaml("personnal.yaml")
|
||
|
||
#show link: set text(blue)
|
||
|
||
#show heading: h => [
|
||
#set text(
|
||
size: eval(settings.font.size.heading_large),
|
||
font: settings.font.general
|
||
)
|
||
#h
|
||
]
|
||
|
||
#let sidebarSection = {[
|
||
#par(justify: true)[
|
||
|
||
#par[
|
||
#set text(
|
||
size: eval(settings.font.size.contacts),
|
||
font: settings.font.minor_highlight,
|
||
)
|
||
|
||
Couriel : #link("mailto:" + config.contacts.email)\
|
||
|
||
#if (not settings.public) {
|
||
[Cellulaire : #link("tel:" + personnal.contacts.phone)\ ]
|
||
}
|
||
|
||
Git : #link(config.contacts.git) \
|
||
|
||
Website : #link(config.contacts.website) \
|
||
|
||
#if (not settings.public) {
|
||
personnal.contacts.address
|
||
}
|
||
]
|
||
#line(length: 100%, stroke: blue + 0.5pt)
|
||
]
|
||
|
||
= Simplement :
|
||
|
||
#par(justify: true)[
|
||
#set text(
|
||
eval(settings.font.size.education_description),
|
||
font: settings.font.minor_highlight,
|
||
hyphenate: false
|
||
)
|
||
|
||
Je suis une développeuse ayant des capacités pertinantes en tant que
|
||
*DevOps*, et en conception de systèmes répartis.
|
||
|
||
]
|
||
|
||
= Compétences
|
||
|
||
#{
|
||
for skill in config.skills [
|
||
#par[
|
||
#set text(
|
||
size: eval(settings.font.size.description),
|
||
)
|
||
#set text(
|
||
font: settings.font.minor_highlight,
|
||
)
|
||
*#skill.name*
|
||
#linebreak()
|
||
#skill.items.join(" • ")
|
||
]
|
||
]
|
||
}
|
||
|
||
= Langues
|
||
|
||
#{
|
||
for lang in config.languages [
|
||
#par(leading: 0pt)[
|
||
|
||
#set text(
|
||
size: eval(settings.font.size.description),
|
||
font: settings.font.minor_highlight,
|
||
)
|
||
#grid(
|
||
columns: (1fr, 2fr),
|
||
column-gutter: 3em,
|
||
[*#lang.name*],
|
||
{
|
||
let count = 0
|
||
while count < 5 {
|
||
if (count < lang.proficiency) {
|
||
text(blue, size: 15pt)[#sym.circle.filled]
|
||
}
|
||
else {
|
||
text(blue, size: 15pt)[#sym.circle]
|
||
}
|
||
count = count + 1
|
||
}
|
||
},
|
||
if (lang.at("comment") != "None"){
|
||
par[#sym.arrow.r.curve #lang.comment]
|
||
}
|
||
)
|
||
|
||
]
|
||
]
|
||
}
|
||
|
||
#line(length: 100%, stroke: blue + 0.5pt)
|
||
|
||
= Loisirs
|
||
#{
|
||
par(
|
||
justify: true,
|
||
leading: eval(settings.paragraph.leading)
|
||
)[
|
||
#set text(
|
||
size: eval(settings.font.size.tags),
|
||
font: settings.font.general
|
||
)
|
||
|
||
#config.hobbies.tech.join(" • ")
|
||
]
|
||
|
||
par(
|
||
justify: true,
|
||
leading: eval(settings.paragraph.leading)
|
||
)[
|
||
#set text(
|
||
size: eval(settings.font.size.tags),
|
||
font: settings.font.general
|
||
)
|
||
|
||
#config.hobbies.other.join(" • ")
|
||
]
|
||
|
||
}
|
||
]}
|
||
|
||
#let mainSection = {[
|
||
|
||
#par[
|
||
#set text(
|
||
size: eval(settings.font.size.heading_huge),
|
||
font: settings.font.general,
|
||
)
|
||
*#config.contacts.name*
|
||
]
|
||
|
||
= Études
|
||
|
||
#{
|
||
for place in config.education [
|
||
#par[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.heading),
|
||
font: settings.font.general
|
||
)
|
||
#place.from – #place.to \
|
||
#link(place.university.link)[#place.university.name]
|
||
]
|
||
#par[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
eval(settings.font.size.education_description),
|
||
font: settings.font.minor_highlight,
|
||
)
|
||
*#place.degree #place.major* \
|
||
#if (place.at("track") != "None"){
|
||
[#place.track]
|
||
}
|
||
]
|
||
]
|
||
}
|
||
|
||
= Expérience utile
|
||
|
||
#{
|
||
for job in config.jobs [
|
||
#par(justify: false)[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.heading),
|
||
font: settings.font.general
|
||
)
|
||
#job.from – #job.to \
|
||
|
||
*#job.position*
|
||
#link(job.company.link)[#job.company.name]
|
||
]
|
||
#par(
|
||
justify: false,
|
||
leading: eval(settings.paragraph.leading)
|
||
)[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.description),
|
||
font: settings.font.general
|
||
)
|
||
#{
|
||
for point in job.description [
|
||
#h(0.5cm) • #point \
|
||
]
|
||
}
|
||
]
|
||
#par(
|
||
justify: true,
|
||
leading: eval(settings.paragraph.leading),
|
||
)[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.tags),
|
||
font: settings.font.minor_highlight
|
||
)
|
||
#{
|
||
let tag_line = job.tags.join(" • ")
|
||
tag_line
|
||
}
|
||
]
|
||
]
|
||
}
|
||
|
||
= Projets Scolaires
|
||
|
||
#{
|
||
for project in config.projects.school [
|
||
#par(
|
||
justify: true,
|
||
leading: eval(settings.paragraph.leading)
|
||
)[
|
||
#par[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.heading),
|
||
font: settings.font.general
|
||
)
|
||
#project.year --
|
||
#if (project.at("from", default: "") != "" and project.at("to", default: "") != "") {
|
||
[ #project.from – #project.to]
|
||
}
|
||
#link(project.main.link)[#project.main.name]
|
||
]
|
||
#par[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.description),
|
||
font: settings.font.general
|
||
)
|
||
#{
|
||
for point in project.description [
|
||
#h(0.5cm) • #point \
|
||
]
|
||
}
|
||
]
|
||
#par(
|
||
justify: true,
|
||
leading: eval(settings.paragraph.leading),
|
||
)[
|
||
#set block(spacing: eval(settings.paragraph.spacing))
|
||
#set text(
|
||
size: eval(settings.font.size.tags),
|
||
font: settings.font.minor_highlight
|
||
)
|
||
#{
|
||
let tag_line = project.tags.join(" • ")
|
||
tag_line
|
||
}
|
||
]
|
||
]
|
||
]
|
||
}
|
||
|
||
|
||
]}
|
||
|
||
#{
|
||
grid(
|
||
columns: (2fr, 5fr),
|
||
column-gutter: 3em,
|
||
sidebarSection,
|
||
mainSection,
|
||
)
|
||
}
|
||
|