commit 6d4a5792090b1c22afe63405467f66f9482e4b47 Author: xenua Date: Sun Jul 9 06:31:05 2023 +0200 wip diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e408070 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "typst-fontawesome"] + path = typst-fontawesome + url = https://github.com/duskmoon314/typst-fontawesome.git diff --git a/cv.typ b/cv.typ new file mode 100644 index 0000000..6a8c469 --- /dev/null +++ b/cv.typ @@ -0,0 +1,35 @@ +#import "@preview/fontawesome:0.1.0" + +#let process_colors(colors) = { + if colors.at("base", none) == none { + colors.insert("base", rgb(#b00b69)) + } + if colors.at("light", none) == none { + colors.insert("light", colors.base.lighten(35%)) + } + if colors.at("lighter", none) == none { + colors.insert("lighter", colors.base.lighten(70%)) + } + if colors.at("dark", none) == none { + colors.insert("dark", colors.base.darken(35%)) + } + if colors.at("darker", none) == none { + colors.insert("darker", colors.base.darken(70%)) + } +} + +#let cv( + colors: {}, + self, + left_col, + right_col, + +) = { + process_colors(colors) + set page("a4", margin: 1cm) + set text( + font: "Inter", + size: 10pt + ) + +} \ No newline at end of file diff --git a/de.typ b/de.typ new file mode 100644 index 0000000..e69de29 diff --git a/en.typ b/en.typ new file mode 100644 index 0000000..e69de29 diff --git a/old.pdf b/old.pdf new file mode 100644 index 0000000..35bec98 Binary files /dev/null and b/old.pdf differ diff --git a/old.typ b/old.typ new file mode 100644 index 0000000..d539b07 --- /dev/null +++ b/old.typ @@ -0,0 +1,182 @@ +#import "typst-fontawesome/fontawesome.typ": * +#import "self.typ" + +#set page("a4", margin: 1cm) +#set text( + font: ("Inter", "Noto Color Emoji"), + size: 10pt) +#let accent_color = rgb("#B00B69") +#let colors = ( + accent: rgb("#b00b69"), + muted: rgb("#af4682"), + dark: rgb("#353133"), + mid: rgb("#635e61"), + light: rgb("#d8d0d4"), +) + +#set text(fill: colors.dark) +#show heading: it => { + set text(fill: black) + it +} +#show heading.where(level: 2): it => { + it + v(-8pt) + line(length: 100%, stroke: 2pt + colors.muted) +} + +#let accent(body, fill: accent_color) = { + text(fill)[#body] +} +#let skillbox(percent) = { + v(-2pt) + rect(width: 100%, fill: colors.light, inset: 0pt, height: 10pt, radius: 3pt)[#rect(width: percent, fill: accent_color, radius: 3pt)] +} +#let skill(desc: none, name, percent) = { + grid( + columns: (1fr, 2cm), + [*#name*], + skillbox(percent) + ) + if desc != none { + v(-8pt) + text(size: 8pt)[#desc] + } +} +#let work_item( + ref: none, + time: none, + location: none, + title: none, +) = { + [=== #title] + if ref != none { + + } + grid( + columns: (1fr, auto), + [=== #title], + ref + ) + grid( + columns: (1fr, 1fr), + { + if time != none [ + #fa-calendar-alt() #time + ] + }, + { + if location != none [ + #fa-map-marker-alt() #location + ] + } + ) +} +#let meta_item(icon, body) = { + accent()[#icon] + h(5pt) + text(size: 9pt, baseline: -2pt, fill: colors.mid)[*#body*] +} + +#let meta_items = ( + (fa-at(), self.email), + (fa-id-card(), [they/them]), + (fa-map-marker-alt(), [Germany]) +) + +#let machine_reading_keyword_dump = [ // the future we live in... this actually does help and i hate that + // based in part on the stackoverflow dev survey + Rust, Python, Nix, JS, CSS, HTML, Web, Desktop, Embedded, Scalable, Server, Service, SAAS, Network, Administration, + Java, Backend, High performance Async, Serverless, React, NextJS, Scala, Erlang, Haskell, COBOL, Kubernetes, K8s, k3s, + Docker, Podman, Ansible, Terraform, Container, .NET, C\#, PHP, MySQL, Nginx, Apache, Database, SQLite, SQL, NoSQL, + MongoDB, npm, yarn, Unity, Unreal, Elixir, Clojure, TypeScript, Go, Kotlin, Swift, Dart, Bash, Ruby, C++, Lua, + Fortran, Assembly, Redis, Elasticsearch, Firebase, AWS, OVH, GCP, OpenStack, OpenShift, Phoenix, Svelte, Deno, + ASP.NET, FastAPI, Node.js, Django, Laravel, Flask, jQuery, Flutter, Keras, NumPy, Spring, React Native, Electron, + Git, CI/CD, DevOps, Observability, Grafana, Prometheus, OpenTelemetry, OTel, Microservice, debugging, gdb +] + +#let section_skills = [ + #set text(size: 9pt) + == Skills + //I am confident in my skills with: \ + //- *Rust*—my current favorite language, which I picked up in 2020 and used for anything from embedded development to web backends or network proxies + //- *Python*—my first major language which i've used since 2012, sometimes interleaving with C (and recently Rust) for performance critical code + //- *PCB EDA tools*—designing digital circuits from component choice to finished boards, specifically using kicad + //- *Hardware design*—primarily using 3d printing and other maker accessible techniques + + //Additionally, I have used and am somewhat fluent with: \ + //- *Programming languages:* C, Java + //- *Web languages:* HTML, CSS, JS, Sass + +] + +#let section_natlang = [ + == Natural Languages + #skill("English", 100%, desc: [Native Language]) + #skill("German", 100%, desc: [Native Language]) + #skill("Spanish", 20%, desc: [ + Studied in school \ + Self assessment: *A2* + ]) +] + +#let section_competitions = [ + == Competitions + #accent[#link("https://codingcontest.org")[*codingcontest.org*]] + + #fa-calendar-alt() 2019-11-08 + + #set text(size: 9pt) + Worldwide level-based coding game. + - University of Salzburg: *1#super[st]* place + - Worldwide: *47#super[th]* place +] + +#let section_work = [ + == Work + #work_item( + ref: accent[#link("https://rami.io")[rami.io]], + title: "Software Engineer", + time: "2020 - 2021", + location: "Remote" + ) + +] + +#let section_exp = [] + +// start layouting + +#place(top + right, hide[#machine_reading_keyword_dump]) + +#text(size: 18pt)[= #upper(self.name)] +#v(-4pt) +#accent()[*#self.tagline*] + +#meta_items.map( + ((icon, body)) => meta_item(icon)[#body] +).join(h(1cm)) + +#show link: it => [ + #fa-link() #it +] + +#grid( + columns: (58mm, 1fr), + rows: auto, + gutter: 16pt, + [ + #section_skills + + + #section_natlang + + #section_competitions + ], + [ + #section_work + + #section_exp + ] +) + diff --git a/self.typ b/self.typ new file mode 100644 index 0000000..d468670 --- /dev/null +++ b/self.typ @@ -0,0 +1,5 @@ +#let name = [Julia Luna] + +#let tagline = [Software engineer, embedded developer] + +#let email = link("mailto:me@julialuna.dev") diff --git a/test.pdf b/test.pdf new file mode 100644 index 0000000..0a3c468 Binary files /dev/null and b/test.pdf differ diff --git a/test.typ b/test.typ new file mode 100644 index 0000000..bd2ea34 --- /dev/null +++ b/test.typ @@ -0,0 +1,33 @@ +#let base_color = rgb("#b00b69") + +#let bc_dark = base_color.darken(35%) +#let bc_darker = base_color.darken(70%) +#let bc_light = base_color.lighten(35%) +#let bc_lighter = base_color.lighten(70%) + +#let vis(color) = { + rect(width: 3cm, height: 3cm, fill: color, stroke: 8pt + white, radius: 8pt) +} + +#let process_colors(colors) = { + if colors.at("base", none) == none { + colors.insert("base", rgb("#b00b69")) + } + if colors.at("light", none) == none { + colors.insert("light", colors.base.lighten(35%)) + } + if colors.at("lighter", none) == none { + colors.insert("lighter", colors.base.lighten(70%)) + } + if colors.at("dark", none) == none { + colors.insert("dark", colors.base.darken(35%)) + } + if colors.at("darker", none) == none { + colors.insert("darker", colors.base.darken(70%)) + } +} + +#let colors = (:) +#process_colors(colors) + + diff --git a/typst-fontawesome b/typst-fontawesome new file mode 160000 index 0000000..fdf8141 --- /dev/null +++ b/typst-fontawesome @@ -0,0 +1 @@ +Subproject commit fdf81416dd89c5c20d6f22bc68365c124bab436d