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
99 lines
2.6 KiB
#import "@preview/fontawesome:0.1.0": * |
|
|
|
#let process_colors(colors: (:)) = { |
|
if colors.at("base", default: none) == none { |
|
colors.insert("base", rgb("#b00b69")) |
|
} |
|
if colors.at("light", default: none) == none { |
|
colors.insert("light", colors.base.lighten(35%)) |
|
} |
|
if colors.at("lighter", default: none) == none { |
|
colors.insert("lighter", colors.base.lighten(70%)) |
|
} |
|
if colors.at("dark", default: none) == none { |
|
colors.insert("dark", colors.base.darken(35%)) |
|
} |
|
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 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, |
|
) = { |
|
[#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])) |
|
} |