generated from me/nix-flake-typst-template
88 lines
2.6 KiB
Typst
88 lines
2.6 KiB
Typst
// SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#import "@preview/linguify:0.4.2": linguify
|
|
#import "../../../base/lib.typ": item-heading
|
|
#import "../../../base/months/lib.typ": April, August, January, July, May
|
|
#import "../education/lib.typ": cvcs-title
|
|
#import "../experience/lib.typ": team1790-name
|
|
#import "../roles/lib.typ": Band_Member, Leader, Robotics_Team_Member
|
|
#import "../skills/lib.typ": C_Sharp_WPF, EasyOpenCV, Git, Java_Android, Python
|
|
|
|
#let lang-data = toml("lang.toml")
|
|
#let l(content) = linguify(content, from: lang-data)
|
|
|
|
#let band-location = cvcs-title
|
|
#let band-name = l("band")
|
|
#let band-role = Band_Member
|
|
#let band-timeframe = [#July 2016 -- #May 2022]
|
|
|
|
#let band(
|
|
item-heading-above: 0em,
|
|
item-heading-below: 0em,
|
|
) = item-heading(
|
|
title: band-role,
|
|
subtitle: band-name,
|
|
timeframe: band-timeframe,
|
|
location: band-location,
|
|
condensed: true,
|
|
above: item-heading-above,
|
|
below: item-heading-below,
|
|
)
|
|
|
|
#let firstlegoleague-location = team1790-name
|
|
#let firstlegoleague-name = l("firstlegoleague")
|
|
#let firstlegoleague-role = Robotics_Team_Member
|
|
#let firstlegoleague-skills = (Git, C_Sharp_WPF, Python)
|
|
#let firstlegoleague-timeframe = [#August 2014 -- #April 2019]
|
|
|
|
#let firstlegoleague(
|
|
item-heading-above: 0em,
|
|
item-heading-below: 0em,
|
|
) = item-heading(
|
|
title: firstlegoleague-role,
|
|
subtitle: firstlegoleague-name,
|
|
timeframe: firstlegoleague-timeframe,
|
|
skills: firstlegoleague-skills,
|
|
location: firstlegoleague-location,
|
|
above: item-heading-above,
|
|
below: item-heading-below,
|
|
)
|
|
|
|
#let firsttechchallenge-location = cvcs-title
|
|
#let firsttechchallenge-name = l("firsttechchallenge")
|
|
#let firsttechchallenge-role = Robotics_Team_Member
|
|
#let firsttechchallenge-skills = (Java_Android, EasyOpenCV)
|
|
#let firsttechchallenge-timeframe = [#August 2021 -- #January 2022]
|
|
|
|
#let firsttechchallenge(
|
|
item-heading-above: 0em,
|
|
item-heading-below: 0em,
|
|
) = item-heading(
|
|
title: firsttechchallenge-role,
|
|
subtitle: firsttechchallenge-name,
|
|
timeframe: firsttechchallenge-timeframe,
|
|
skills: firsttechchallenge-skills,
|
|
location: firsttechchallenge-location,
|
|
above: item-heading-above,
|
|
below: item-heading-below,
|
|
)
|
|
|
|
#let tri-m-location = cvcs-title
|
|
#let tri-m-name = l("tri-m")
|
|
#let tri-m-role = Leader
|
|
#let tri-m-timeframe = [#August 2018 -- #May 2022]
|
|
|
|
#let tri-m(
|
|
item-heading-above: 0em,
|
|
item-heading-below: 0em,
|
|
) = item-heading(
|
|
title: tri-m-role,
|
|
subtitle: tri-m-name,
|
|
timeframe: tri-m-timeframe,
|
|
location: tri-m-location,
|
|
condensed: true,
|
|
above: item-heading-above,
|
|
below: item-heading-below,
|
|
)
|