291 lines
6.5 KiB
Text
291 lines
6.5 KiB
Text
#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 developer* 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 developer* 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
|
||
}
|
||
]
|
||
]
|
||
]
|
||
}
|
||
]}
|
||
|
||
|
||
#{
|
||
grid(
|
||
columns: (2fr, 5fr),
|
||
column-gutter: 3em,
|
||
sidebarSection,
|
||
mainSection,
|
||
)
|
||
}
|