cv/template/cv.typ

200 lines
3.1 KiB
Typst

#let pill(fill, content) = {
block(
inset: 4pt,
fill: fill,
radius: 3pt,
text(black, [#content]),
)
}
#let education(degree, university, from, to, location) = {
grid(
align: horizon,
rows: (auto, auto),
columns: (auto, auto, auto),
grid.cell(
inset: (
bottom: 6pt,
),
colspan: 3,
stack(
dir: ltr,
spacing: 6pt,
text(13pt, [*#degree*]),
pill(luma(230), [#from - #to]),
pill(luma(200), location),
),
),
text(luma(90), [*#university*]),
)
v(4pt)
}
#let work(role, company, from, to, location, content) = {
grid(
align: horizon,
rows: (auto, auto),
columns: (auto, auto, auto),
grid.cell(
inset: (
bottom: 6pt,
),
colspan: 3,
stack(
dir: ltr,
spacing: 6pt,
text(13pt, [*#role*]),
pill(luma(230), [#from - #to]),
pill(luma(200), location),
),
),
text(luma(90), [*#company*]),
)
content
}
#let cover(
short,
name,
contacts,
position,
company,
motivation
) = {
set page(
paper: "a4",
margin: 30pt
)
set text(11pt, font: "Victor Mono")
show link: it => {
set text(red)
underline(it)
sym.space.nobreak
sym.arrow.tr
}
stack(
dir: ltr,
spacing: 12pt,
block(
height: 165pt,
clip: true,
radius: 10pt,
image("../assets/profile.jpg"),
),
block(
height: 165pt,
width: 355pt,
radius: 10pt,
fill: black,
inset: (
top: 16pt,
left: 18pt,
right: 18pt,
),
stack(
spacing: 20pt,
stack(
dir: ltr,
spacing: 10pt,
text(red, 22pt, [\$ dennis\@schöpf \~>]),
text(white, 22pt, [./cv.sh]),
),
stack(
for (desc, contact) in contacts [
#block(
[#text(
luma(200),
11pt,
desc
),
#text(
white,
11pt,
contact
)]
)
],
),
),
),
)
text(size: 22pt, weight: 800, [Bewerbung zum #(position)])
block(company.join("\n"))
v(12pt)
text(size: 18pt, [Guten Tag!])
v(6pt)
[#(motivation):]
v(6pt)
[
- Lebenslauf
- Arbeitszeugnisse
- Akademische Zeugnisse
]
v(12pt)
[Mit freundlichen Grüßen,]
v(48pt)
name
}
#let cv(
short,
name,
doc
) = {
set page(
paper: "a4",
margin: 12pt
)
set text(size: 11pt, font: "Victor Mono")
show link: it => {
set text(red)
underline(it)
sym.space.nobreak
sym.arrow.tr
}
stack(
spacing: 20pt,
block(
radius: 10pt,
width: 100%,
fill: black,
inset: (
top: 16pt,
left: 18pt,
bottom: 16pt,
),
stack(
spacing: 12pt,
stack(
dir: ltr,
spacing: 10pt,
text(red, 22pt, [\$ dennis\@schöpf \~>]),
text(white, 22pt, [*Lebenslauf*]),
),
),
),
)
set align(left)
doc
}