You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
2.6 KiB

1 year ago
#import "@preview/fontawesome:0.1.0": *
1 year ago
1 year ago
#let process_colors(colors: (:)) = {
if colors.at("base", default: none) == none {
colors.insert("base", rgb("#b00b69"))
1 year ago
}
1 year ago
if colors.at("light", default: none) == none {
1 year ago
colors.insert("light", colors.base.lighten(35%))
}
1 year ago
if colors.at("lighter", default: none) == none {
1 year ago
colors.insert("lighter", colors.base.lighten(70%))
}
1 year ago
if colors.at("dark", default: none) == none {
1 year ago
colors.insert("dark", colors.base.darken(35%))
}
1 year ago
if colors.at("darker", default: none) == none {
1 year ago
colors.insert("darker", colors.base.darken(70%))
}
1 year ago
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
1 year ago
}
1 year ago
#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,
1 year ago
) = {
1 year ago
[#header]
grid(
columns: (style.left_col_size, 1fr),
gutter: style.col_gap,
[#left], [#right]
1 year ago
)
1 year ago
}
#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]))
1 year ago
}