diff options
Diffstat (limited to 'templates/cv.typ')
-rw-r--r-- | templates/cv.typ | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/templates/cv.typ b/templates/cv.typ new file mode 100644 index 0000000..e3c7378 --- /dev/null +++ b/templates/cv.typ @@ -0,0 +1,169 @@ +#let configuration = yaml("../content/content.yaml") +#let settings = yaml("../settings.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:" + configuration.contacts.email) \ + Phone: #link("tel:" + configuration.contacts.phone) \ + LinkedIn: #link(configuration.contacts.linkedin)[#configuration.contacts.name] \ + + #configuration.contacts.address + ] + #line(length: 100%) + ] + + = Summary + + #par[ + #set text( + eval(settings.font.size.education_description), + font: settings.font.minor_highlight, + ) + An experienced *software engineer* with a confident grasp of *protocols*, *infrastructure*, *system design* and *fluid dynamics*, seeking opportunities for research I can take pride in. + + Open to roles in research. + ] + + = Education + + #{ + for place in configuration.education [ + #par[ + #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 text( + eval(settings.font.size.education_description), + font: settings.font.minor_highlight, + ) + #place.degree #place.major \ + #place.track track + ] + ] + } + + = Skills + + #{ + for skill in configuration.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(" • ") + ] + ] + } +]} + +#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, + ) + *#configuration.contacts.name* + ] + + #par[ + #set text( + size: eval(settings.font.size.heading), + font: settings.font.minor_highlight, + top-edge: 0pt + ) + #configuration.contacts.title + ] + + = Experience + + #{ + for job in configuration.jobs [ + #par(justify: false)[ + #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 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 + ) + #{ + let tag_line = job.tags.join(" • ") + tag_line + } + ] + ] + } + + + +]} + +#{ + grid( + columns: (2fr, 5fr), + column-gutter: 3em, + sidebarSection, + mainSection, + ) +} |