Added pictures for CEOAS, formatting fixes, new work to dictionary
All checks were successful
Build and Test - Staging / test (pull_request) Successful in 4m6s
Build and Test - Staging / build_and_push (pull_request) Successful in 4m6s
Build and Test - Staging / deploy_staging (pull_request) Successful in 3s

This commit is contained in:
2025-11-30 19:44:24 -08:00
parent 4a59e44716
commit 91cd9af0f8
27 changed files with 108 additions and 40 deletions

2
.editorconfig Normal file
View File

@@ -0,0 +1,2 @@
[**.{js,ts,astro}]
indent_size = 2

View File

@@ -21,6 +21,7 @@ Loctite
luxon
MGMT
nixos
offroad
Onshape
OSSM
OSURC

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -60,16 +60,14 @@ class CustomCarousel extends HTMLElement {
indicators: {
activeClasses: "border-2 border-caperren-green bg-black",
inactiveClasses: "bg-caperren-green/40 hover:bg-caperren-green-light",
items: Array.from(customIndicators).map(
(item): IndicatorItem => {
return {
el: item as HTMLElement,
position: Number(
item.getAttribute("data-custom-carousel-slide-to"),
),
};
},
),
items: Array.from(customIndicators).map((item): IndicatorItem => {
return {
el: item as HTMLElement,
position: Number(
item.getAttribute("data-custom-carousel-slide-to"),
),
};
}),
},
};
};

View File

@@ -30,7 +30,6 @@ export const siteLayout: navLink[] = [
path: "robotic-oceanographic-surface-sampler",
},
{
enabled: false,
navText: "LeConte Glacier Deployments",
path: "leconte-glacier-deployments",
},

View File

@@ -1,5 +1,45 @@
---
import ExperienceLayout from "@layouts/ExperienceLayout.astro";
import H3 from "@components/CustomHtmlWrappers/H3.astro";
import Timeline from "@components/Timeline/Timeline.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
import H2 from "@components/CustomHtmlWrappers/H2.astro";
import { deploymentTimeline } from "./osu-ceoas-ocean-mixing-group.ts";
import type { carouselGroup } from "@interfaces/image-carousel.ts";
import building from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/building.jpg";
import glacier_selfie from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/glacier-selfie.jpg";
import ground_station from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/ground-station.jpg";
import iced_in from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/iced-in.jpg";
import pushing_icebergs from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/pushing-icebergs.jpg";
import ross_at_terminus from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/ross-at-terminus.png";
import ross_on_the_docks from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/ross-on-the-docks.jpg";
import whole_glacier from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/whole-glacier.jpg";
import working_at_the_docks from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/working-at-the-docks.jpg";
import working_trailer from "@assets/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments/working-trailer.jpg";
const headerCarouselGroup: carouselGroup = {
animation: "slide",
images: [
ross_at_terminus,
ground_station,
whole_glacier,
glacier_selfie,
iced_in,
pushing_icebergs,
ross_on_the_docks,
working_at_the_docks,
building,
working_trailer,
],
};
---
<ExperienceLayout title="CEOAS - LeConte Glacier Deployments" />
<ExperienceLayout title="CEOAS - LeConte Glacier Deployments">
<Carousel carouselGroup={headerCarouselGroup} />
<H2 text="Summary" />
<H3 text="Timeline" />
<Timeline timeline={deploymentTimeline} />
<H3 text="Details" />
</ExperienceLayout>

View File

@@ -0,0 +1,24 @@
import type { timelineEntry } from "@interfaces/timeline.ts";
export const deploymentTimeline: timelineEntry[] = [
{
event: "Setup & Ocean Trials",
eventDetail: "Petersburg, AK",
date: "April 2017",
},
{
event: "Glacier Deployment #1",
eventDetail: "LeConte Glacier, AK",
date: "May 2017",
},
{
event: "Glacier Deployment #2",
eventDetail: "LeConte Glacier, AK",
date: "September 2017",
},
{
event: "Scientific Paper Published",
eventDetail: "The Oceanographic Society",
date: "September 2017",
},
];

View File

@@ -6,45 +6,45 @@ import type { timelineEntry } from "@interfaces/timeline.ts";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
import H2 from "@components/CustomHtmlWrappers/H2.astro";
import H3 from "@components/CustomHtmlWrappers/H3.astro";
import LinkButton from "@components/LinkButton.astro";
import PdfViewer from "@components/Media/PdfViewer.astro";
import Timeline from "@components/Timeline/Timeline.astro";
import publication from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-publication.pdf";
import electronics_box from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/electronics-box.jpg";
import jet_drive from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/jet-drive.jpg";
import ross_on_vessel from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-on-vessel.jpg";
import ross_on_vessel_at_night from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-on-vessel-at-night.jpg";
import ross_team from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-team.jpg";
import ui from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ui.jpg";
import { deploymentTimeline } from "./osu-ceoas-ocean-mixing-group.ts";
const headerCarouselGroup: carouselGroup = {
animation: "slide",
images: [],
images: [
ross_team,
ross_on_vessel,
ross_on_vessel_at_night,
electronics_box,
jet_drive,
ui,
],
};
const timeline: timelineEntry[] = [
{
event: "Started",
eventDetail: "Satellite Hardware Test Team",
date: "September 2019",
description:
"Owned test systems for four generations of Starlink flight computers and two generations of power boards",
},
{
event: "Transitioned To Remote",
eventDetail: "Moved To Oregon",
date: "August 2022",
description:
"Personal decision, but I was allowed to work on tools for the build reliability engineering team",
},
{
event: "Changed Teams",
eventDetail: "Components Test Infra Team",
date: "March 2024 - VERIFY",
description:
"Vertical move that allowed for broader application of my skills",
eventDetail: "Joined ROSS",
date: "April 2016",
},
...deploymentTimeline,
{
event: "Finished",
eventDetail: "Thanks for all the fish!",
date: "April 2025",
description:
"Celebrated five and a half years of helping put thousands of satellites, and dozens of rockets, into orbit",
eventDetail: "Left ROSS",
date: "May 2018",
},
];
---
@@ -57,10 +57,10 @@ const timeline: timelineEntry[] = [
title="Official Scientific Publication"
/>
</div>
<h2 class="my-4 font-bold md:text-2xl">Summary</h2>
<h3 class="my-4 font-bold md:text-lg">Timeline</h3>
<H2 text="Summary" />
<H3 text="Timeline" />
<Timeline timeline={timeline} />
<h3 class="my-4 font-bold md:text-lg">Key Takeaways</h3>
<H3 text="Key Takeaways" />
<ul class="list-inside list-disc">
<li>One</li>
<li>Two</li>
@@ -91,6 +91,8 @@ const timeline: timelineEntry[] = [
<hr class="text-caperren-green" />
</div>
</div>
<H2 text="Details" />
power and voltage logging
<H2 text="Official Scientific Publication" />
<div class="h-334">
<PdfViewer pdf={publication} />

View File

@@ -31,7 +31,7 @@ const timeline: timelineEntry[] = [
{
event: "Changed Teams",
eventDetail: "Components Test Infra Team",
date: "March 2024 - VERIFY",
date: "March 2024",
description:
"Vertical move that allowed for broader application of my skills",
},

View File

@@ -7,6 +7,8 @@ import type { carouselGroup } from "@interfaces/image-carousel.ts";
import kz750 from "@assets/hobby/motorcycling/lineup/1979-kawasaki-kz750-senior-photo.jpg";
import ninja600 from "@assets/hobby/motorcycling/lineup/1991-kawasaki-ninja-600r.jpg";
import concours from "@assets/hobby/motorcycling/lineup/1999-kawasaki-concours.jpg";
import concours_offroad from "@assets/hobby/motorcycling/lineup/1999-kawasaki-concours-offroad.jpg";
import concours_trailer from "@assets/hobby/motorcycling/lineup/1999-kawasaki-concours-with-trailer.jpg";
import drz400 from "@assets/hobby/motorcycling/lineup/2005-suzuki-drz-400.jpg";
import fjr1300 from "@assets/hobby/motorcycling/lineup/2015-fjr-1300-mountaintop.jpg";
import sg400 from "@assets/hobby/motorcycling/lineup/2021-csc-sg400.jpg";
@@ -22,7 +24,7 @@ const drzCarouselGroup: carouselGroup = {
};
const concoursCarouselGroup: carouselGroup = {
animation: "slide",
images: [concours],
images: [concours, concours_offroad, concours_trailer],
};
const ninjaCarouselGroup: carouselGroup = {
animation: "slide",