cv/main.typ

344 lines
7.8 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#let config = yaml("config.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,
)
Email: #link("mailto:" + config.contacts.email)\
#if (not settings.public) {
[Phone: #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)
]
= Summary
#par[
#set text(
eval(settings.font.size.education_description),
font: settings.font.minor_highlight,
)
A *software engineer* with a confident grasp of *infrastructure*, *system design*, and *DevOps*, now seeking opportunities to excel in the realms of solution architecture.
Open to roles ranging from *software engineering* to *DevOps*.
]
= Skills
#{
for skill in config.skills [
#par[
#set text(
size: eval(settings.font.size.description),
)
#set text(
// size: eval(settings.font.size.tags),
font: settings.font.minor_highlight,
)
*#skill.name*
#linebreak()
#skill.items.join(" • ")
]
]
}
= Languages
#{
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)
= Hobbies
#{
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 align(center)
// #figure(
// image("images/Kodak 20 Zanvoort Lumi.jpg", width: 6em),
// placement: top,
// )
// ]
#par[
#set text(
size: eval(settings.font.size.heading_huge),
font: settings.font.general,
)
*#config.contacts.name*
]
= Education
#{
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,
)
#h(0.5cm)
#place.degree #place.major \
#if (place.at("track") != "None"){
h(0.5cm)
[#place.track]
}
]
]
}
= Revelant Experience
#{
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 text(
size: eval(settings.font.size.tags),
font: settings.font.minor_highlight
)
#set block(spacing: eval(settings.paragraph.spacing))
#{
let tag_line = job.tags.join(" • ")
tag_line
}
]
]
}
= School related Projects
#{
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
}
]
]
]
}
= Notable Personnal Projects
#{
for project in config.projects.personnal [
#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,
)
}