generated from me/nix-flake-typst-template
194 lines
6.1 KiB
Typst
194 lines
6.1 KiB
Typst
// SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#import "@preview/cmarker:0.1.6"
|
|
#import "@preview/linguify:0.4.2": linguify
|
|
#import "../../base/lib.typ": (
|
|
Education, Experience, Organizations, Projects, Skills, Volunteering, base,
|
|
)
|
|
#import "contact/lib.typ": contact
|
|
#import "education/lib.typ": cvcs, utd, utd-coursework
|
|
#import "experience/lib.typ": (
|
|
bubblefizz, frankford, mcdonalds, rtechnics, scrumfish, sonic, syssec,
|
|
team1790,
|
|
)
|
|
#import "organizations/lib.typ": (
|
|
band, firstlegoleague, firsttechchallenge, tri-m,
|
|
)
|
|
#import "projects/lib.typ": (
|
|
armcfi, cs2340-mips, cs3377-linux, cs4341-digitallogic, cs4347-database,
|
|
cs4348-computer, cs4348-mutex, cs4348-scheduling, cs4459-hacking,
|
|
cs6378-database, cs6378-ordering, provviz, resume, scoretracker, server,
|
|
syscfg, workspace, zipversioncontrol,
|
|
)
|
|
#import "skills/lib.typ": skills
|
|
#import "volunteering/lib.typ": foodnotbombs, openstreetmap, sandwichsundays
|
|
|
|
#let self = toml("typst.toml")
|
|
|
|
#let lang-data = toml("lang.toml")
|
|
#let l(content) = linguify(content, from: lang-data)
|
|
|
|
#let item-heading-above = 1.2em
|
|
#let item-heading-below = 0.95em
|
|
|
|
#let name = l("name")
|
|
|
|
#context base(
|
|
lang: sys.inputs.lang,
|
|
region: sys.inputs.region,
|
|
self: self,
|
|
name-below: 1.5em,
|
|
name-size: 2.8em,
|
|
cmarker.render(
|
|
read(lang-data.lang.at(text.lang).content),
|
|
scope: (
|
|
name: name,
|
|
contact: contact(below: 2.4em),
|
|
Skills: Skills,
|
|
skills: skills,
|
|
Education: Education,
|
|
utd: utd(
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
utd-coursework: utd-coursework,
|
|
cvcs: cvcs(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
Experience: Experience,
|
|
bubblefizz: bubblefizz(
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
syssec: syssec(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
frankford: frankford(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
scrumfish: scrumfish(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
rtechnics: rtechnics(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
sonic: sonic(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
mcdonalds: mcdonalds(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
team1790: team1790(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
Projects: Projects,
|
|
workspace: workspace(
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
armcfi: armcfi(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
provviz: provviz(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
resume: resume(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
syscfg: syscfg(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
server: server(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs6378-database: cs6378-database(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs4459-hacking: cs4459-hacking(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs6378-ordering: cs6378-ordering(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs4347-database: cs4347-database(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs4341-digitallogic: cs4341-digitallogic(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs4348-scheduling: cs4348-scheduling(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs4348-mutex: cs4348-mutex(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs4348-computer: cs4348-computer(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs3377-linux: cs3377-linux(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
cs2340-mips: cs2340-mips(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
scoretracker: scoretracker(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
zipversioncontrol: zipversioncontrol(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
Volunteering: Volunteering,
|
|
foodnotbombs: foodnotbombs(
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
sandwichsundays: sandwichsundays(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
openstreetmap: openstreetmap(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
Organizations: Organizations,
|
|
tri-m: tri-m(
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
band: band(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
firsttechchallenge: firsttechchallenge(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
firstlegoleague: firstlegoleague(
|
|
item-heading-above: item-heading-above,
|
|
item-heading-below: item-heading-below,
|
|
),
|
|
),
|
|
),
|
|
)
|