Browse Source

meow

pull/1/head
xenua 1 year ago
parent
commit
3121389b98
Signed by: xenua
GPG Key ID: 8F93B68BD37255B8
  1. 104
      cv.typ
  2. BIN
      meow.pdf
  3. 22
      meow.typ
  4. BIN
      old.pdf
  5. 232
      old.typ
  6. 9
      self.typ
  7. BIN
      test.pdf
  8. 58
      test.typ
  9. 79
      xenua_cv.typ

104
cv.typ

@ -1,35 +1,99 @@ @@ -1,35 +1,99 @@
#import "@preview/fontawesome:0.1.0"
#import "@preview/fontawesome:0.1.0": *
#let process_colors(colors) = {
if colors.at("base", none) == none {
colors.insert("base", rgb(#b00b69))
#let process_colors(colors: (:)) = {
if colors.at("base", default: none) == none {
colors.insert("base", rgb("#b00b69"))
}
if colors.at("light", none) == none {
if colors.at("light", default: none) == none {
colors.insert("light", colors.base.lighten(35%))
}
if colors.at("lighter", none) == none {
if colors.at("lighter", default: none) == none {
colors.insert("lighter", colors.base.lighten(70%))
}
if colors.at("dark", none) == none {
if colors.at("dark", default: none) == none {
colors.insert("dark", colors.base.darken(35%))
}
if colors.at("darker", none) == none {
if colors.at("darker", default: none) == none {
colors.insert("darker", colors.base.darken(70%))
}
return colors
}
#let _default_colors() = {
let c = process_colors()
let textc = rgb("#281f24")
c.insert("text", textc)
c.insert("heading", textc.darken(50%))
c.insert("text_lighter", textc.lighten(25%))
return c
}
#let cv(
colors: {},
self,
left_col,
right_col,
#let default_style = (
left_col_size: 33%,
col_gap: 8mm,
line_height: 0.5mm,
page: (
paper: "a4",
margin: 1cm,
),
size: (
h1: 36pt,
h2: 12pt,
base: 10pt,
small: 9pt,
),
colors: _default_colors(),
)
#let lenk(to, where) = [
#link(to)[#fa-link() #where]
]
#let base_layout(
style,
header,
left,
right,
) = {
process_colors(colors)
set page("a4", margin: 1cm)
set text(
font: "Inter",
size: 10pt
[#header]
grid(
columns: (style.left_col_size, 1fr),
gutter: style.col_gap,
[#left], [#right]
)
}
#let work_item(
style: default_style,
ref: none,
time: none,
location: none,
title: none,
) = {
stack(
dir: ltr,
spacing: 2mm,
[=== #title],
text(fill: style.colors.text_lighter, size: style.size.small)[#time, #location]
)
if ref != none {
v(-2mm)
ref
}
}
#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 put_keyword_dump_in_there() = {
place(top + left, hide([#machine_reading_keyword_dump]))
}

BIN
meow.pdf

Binary file not shown.

22
meow.typ

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
#import "xenua_cv.typ": xenua_cv, xenua_style
#import "cv.typ": work_item, lenk
#import "self.typ"
#xenua_cv(
self,
[
== left content
foo bar meow
],
[
== right content
hellfire r9x missile doesn't know where it is, someone sabotaged it
#work_item(style: xenua_style,
title: "Software Engineer",
time: "2020 - 2021",
location: "Remote",
ref: lenk("https://rami.io")[rami.io],
)
],
)

BIN
old.pdf

Binary file not shown.

232
old.typ

@ -3,144 +3,144 @@ @@ -3,144 +3,144 @@
#set page("a4", margin: 1cm)
#set text(
font: ("Inter", "Noto Color Emoji"),
size: 10pt)
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"),
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
set text(fill: black)
it
}
#show heading.where(level: 2): it => {
it
v(-8pt)
line(length: 100%, stroke: 2pt + colors.muted)
it
v(-8pt)
line(length: 100%, stroke: 2pt + colors.muted)
}
#let accent(body, fill: accent_color) = {
text(fill)[#body]
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)]
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]
}
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,
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
]
}
)
[=== #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*]
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])
(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
// 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
#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*
])
== 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*]]
== Competitions
#accent[#link("https://codingcontest.org")[*codingcontest.org*]]
#fa-calendar-alt() 2019-11-08
#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
#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"
)
== Work
#work_item(
ref: accent[#link("https://rami.io")[rami.io]],
title: "Software Engineer",
time: "2020 - 2021",
location: "Remote"
)
]
#let section_exp = []
@ -154,29 +154,29 @@ @@ -154,29 +154,29 @@
#accent()[*#self.tagline*]
#meta_items.map(
((icon, body)) => meta_item(icon)[#body]
((icon, body)) => meta_item(icon)[#body]
).join(h(1cm))
#show link: it => [
#fa-link() #it
#fa-link() #it
]
#grid(
columns: (58mm, 1fr),
rows: auto,
gutter: 16pt,
[
#section_skills
#section_natlang
#section_competitions
],
[
#section_work
#section_exp
]
columns: (58mm, 1fr),
rows: auto,
gutter: 16pt,
[
#section_skills
#section_natlang
#section_competitions
],
[
#section_work
#section_exp
]
)

9
self.typ

@ -1,5 +1,14 @@ @@ -1,5 +1,14 @@
#import "@preview/fontawesome:0.1.0": *
#let name = [Julia Luna]
#let tagline = [Software engineer, embedded developer]
#let email = link("mailto:me@julialuna.dev")
#let meta = (
(fa-at(), email),
(fa-id-card(), [they/them]),
(fa-map-marker-alt(), [Germany]),
([*\[#h(-1pt)m#h(-1pt)\]*], link("https://matrix.to/#/@julialuna:finallycoffee.eu")[\@julialuna:finallycoffee.eu])
)

BIN
test.pdf

Binary file not shown.

58
test.typ

@ -6,28 +6,70 @@ @@ -6,28 +6,70 @@
#let bc_lighter = base_color.lighten(70%)
#let vis(color) = {
rect(width: 3cm, height: 3cm, fill: color, stroke: 8pt + white, radius: 8pt)
rect(width: 2cm, height: 2cm, fill: color, stroke: 8pt + white, radius: 8pt)
}
#let process_colors(colors) = {
if colors.at("base", none) == none {
if colors.at("base", default: none) == none {
colors.insert("base", rgb("#b00b69"))
}
if colors.at("light", none) == none {
if colors.at("light", default: none) == none {
colors.insert("light", colors.base.lighten(35%))
}
if colors.at("lighter", none) == none {
if colors.at("lighter", default: none) == none {
colors.insert("lighter", colors.base.lighten(70%))
}
if colors.at("dark", none) == none {
if colors.at("dark", default: none) == none {
colors.insert("dark", colors.base.darken(35%))
}
if colors.at("darker", none) == none {
if colors.at("darker", default: none) == none {
colors.insert("darker", colors.base.darken(70%))
}
return colors
}
#let colors = (:)
#process_colors(colors)
#let variations = (
"#b00b69",
"#b0690b",
"#69b00b",
"#690bb0",
"#0b69b0",
"#0bb069",
"#c0ffee",
"#c0eeff",
"#ffc0ee",
"#ffeec0",
"#eeffc0",
"#eec0ff",
"#69c0ff",
"#69ffc0",
"#c0693e",
)
#let owo(colors) = [
#vis(colors.at("lighter"))
#vis(colors.at("light"))
#vis(colors.at("base"))
#vis(colors.at("dark"))
#vis(colors.at("darker"))
]
#let meowmeow = ()
#for var in variations {
meowmeow.push([
= #var
#owo(process_colors(("base": rgb(var))))
])}
#set page(
width: 60cm,
height: 18cm,
)
#stack(
dir: ltr,
..meowmeow
)

79
xenua_cv.typ

@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
#import "@preview/fontawesome:0.1.0": *
#import "cv.typ": base_layout, put_keyword_dump_in_there, default_style, lenk
#let xenua_style = default_style
#xenua_style.insert("confidential", true)
#let xenua_cv(
style: xenua_style,
self,
lcol, rcol,
) = {
set page(
style.page.paper,
margin: style.page.margin,
background: if style.confidential {
rotate(60deg, text(112pt, fill: rgb("FFDCD5"))[
*CONFIDENTIAL*
])} else {none}
)
set text(
font: "Inter",
size: style.size.base,
fill: style.colors.text
)
show heading: it => {
set text(fill: style.colors.heading)
it
}
show heading.where(level: 1): it => {
set text(size: style.size.h1)
it
}
show heading.where(level: 2): it => {
set text(size: style.size.h2)
upper(it)
v(-4mm)
line(length: 100%, stroke: style.line_height + style.colors.light)
}
put_keyword_dump_in_there()
let header = {
grid(
columns: (1fr, auto),
[
= #self.name
#v(-2mm)
#text(fill: style.colors.base)[*#self.tagline*]
],
[
#table(
columns: 2,
stroke: none,
inset: 0pt,
align: (center, left),
row-gutter: 5pt,
column-gutter: 4pt,
..self.meta.map(
((icon, content)) => (
[#text(fill: style.colors.base)[#icon]],
[*#content*]
)
).flatten()
)
]
)
line(length: 100%, stroke: style.line_height + style.colors.light)
}
base_layout(
style,
header,
lcol, rcol
)
}
Loading…
Cancel
Save