From 4779c0142b2db1a9a89d6448710d017da3e3b15e Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Tue, 31 Dec 2024 19:17:37 -0800 Subject: [PATCH] initial commit --- .gitignore | 1 + cv.pdf | Bin 0 -> 35068 bytes cv.typ | 120 ++++++++++++++++++++++++++++ flake.lock | 116 +++++++++++++++++++++++++++ flake.nix | 127 +++++++++++++++++++++++++++++ template.typ | 220 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 584 insertions(+) create mode 100644 .gitignore create mode 100644 cv.pdf create mode 100644 cv.typ create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 template.typ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fcfc4a1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +result* diff --git a/cv.pdf b/cv.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d7ffc83954ceb297e1cf0a9434282cf8fa49db78 GIT binary patch literal 35068 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 { + set text(weight: "regular") + set text(color) + set block(above: 0pt) + _cv-line( + [], + [#it.body], + ) + } + #show heading.where(level: 1): it => { + set text(weight: "regular") + set text(color) + _cv-line( + align: horizon, + [#box(fill: color, width: 28mm, height: 0.25em)], + [#it.body], + ) + } + + #show heading.where(level: 2): it => { + set text(weight: "regular", size: 13pt) + pad(left: 6.9em, [#it.body]) + } + + #_header(title: name, subtitle: subtitle, socials: social) + + #body + + #if show-footer [ + #v(1fr, weak: false) + #name\ + #datetime.today().display("[month repr:long] [day], [year]") + ] +] + +#let cv-line(left-side, right-side) = { + _cv-line( + align(right, left-side), + par(right-side, justify: true), + ) +} + +#let cv-entry( + date: [], + title: [], + employer: [], + ..description, +) = { + let elements = ( + strong(title), + emph(employer), + ..description.pos(), + ) + cv-line( + date, + elements.join(", "), + ) +} + +#let cv-language(name: [], level: [], comment: []) = { + _cv-line( + align(right, name), + stack(dir: ltr, level, align(right, emph(comment))), + ) +} + +#let cv-paper-item(name: [], date: [], journal: []) = { + show link: it => [ + #set text(red) + #it + ] + _cv-line( + align(right, date), + stack( + dir: ttb, + spacing: 1em, + [*#name*], + journal, + ), + ) +} + +#let cv-double-item(left-1, right-1, left-2, right-2) = { + set block(below: 0pt) + table( + columns: (1fr, 2fr, 1fr, 2fr), + stroke: none, + align(right, left-1), right-1, align(right, left-2), right-2, + ) +} + +#let cv-list-item(item) = { + _cv-line( + [], + list(item), + ) +} + +#let cv-list-double-item(item1, item2) = { + set block(below: 0pt) + table( + columns: (1fr, 2.5fr, 2.5fr), + stroke: none, + [], list(item1), list(item2), + ) +}