More website content updates #10

Merged
caperren merged 20 commits from website-content-updates into main 2025-12-05 10:00:14 +00:00
27 changed files with 108 additions and 40 deletions
Showing only changes of commit 91cd9af0f8 - Show all commits

2
.editorconfig Normal file
View File

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

View File

@@ -21,6 +21,7 @@ Loctite
luxon luxon
MGMT MGMT
nixos nixos
offroad
Onshape Onshape
OSSM OSSM
OSURC 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: { indicators: {
activeClasses: "border-2 border-caperren-green bg-black", activeClasses: "border-2 border-caperren-green bg-black",
inactiveClasses: "bg-caperren-green/40 hover:bg-caperren-green-light", inactiveClasses: "bg-caperren-green/40 hover:bg-caperren-green-light",
items: Array.from(customIndicators).map( items: Array.from(customIndicators).map((item): IndicatorItem => {
(item): IndicatorItem => {
return { return {
el: item as HTMLElement, el: item as HTMLElement,
position: Number( position: Number(
item.getAttribute("data-custom-carousel-slide-to"), item.getAttribute("data-custom-carousel-slide-to"),
), ),
}; };
}, }),
),
}, },
}; };
}; };

View File

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

View File

@@ -1,5 +1,45 @@
--- ---
import ExperienceLayout from "@layouts/ExperienceLayout.astro"; 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 Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
import H2 from "@components/CustomHtmlWrappers/H2.astro"; import H2 from "@components/CustomHtmlWrappers/H2.astro";
import H3 from "@components/CustomHtmlWrappers/H3.astro";
import LinkButton from "@components/LinkButton.astro"; import LinkButton from "@components/LinkButton.astro";
import PdfViewer from "@components/Media/PdfViewer.astro"; import PdfViewer from "@components/Media/PdfViewer.astro";
import Timeline from "@components/Timeline/Timeline.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 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 = { const headerCarouselGroup: carouselGroup = {
animation: "slide", animation: "slide",
images: [], images: [
ross_team,
ross_on_vessel,
ross_on_vessel_at_night,
electronics_box,
jet_drive,
ui,
],
}; };
const timeline: timelineEntry[] = [ const timeline: timelineEntry[] = [
{ {
event: "Started", event: "Started",
eventDetail: "Satellite Hardware Test Team", eventDetail: "Joined ROSS",
date: "September 2019", date: "April 2016",
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",
}, },
...deploymentTimeline,
{ {
event: "Finished", event: "Finished",
eventDetail: "Thanks for all the fish!", eventDetail: "Left ROSS",
date: "April 2025", date: "May 2018",
description:
"Celebrated five and a half years of helping put thousands of satellites, and dozens of rockets, into orbit",
}, },
]; ];
--- ---
@@ -57,10 +57,10 @@ const timeline: timelineEntry[] = [
title="Official Scientific Publication" title="Official Scientific Publication"
/> />
</div> </div>
<h2 class="my-4 font-bold md:text-2xl">Summary</h2> <H2 text="Summary" />
<h3 class="my-4 font-bold md:text-lg">Timeline</h3> <H3 text="Timeline" />
<Timeline timeline={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"> <ul class="list-inside list-disc">
<li>One</li> <li>One</li>
<li>Two</li> <li>Two</li>
@@ -91,6 +91,8 @@ const timeline: timelineEntry[] = [
<hr class="text-caperren-green" /> <hr class="text-caperren-green" />
</div> </div>
</div> </div>
<H2 text="Details" />
power and voltage logging
<H2 text="Official Scientific Publication" /> <H2 text="Official Scientific Publication" />
<div class="h-334"> <div class="h-334">
<PdfViewer pdf={publication} /> <PdfViewer pdf={publication} />

View File

@@ -31,7 +31,7 @@ const timeline: timelineEntry[] = [
{ {
event: "Changed Teams", event: "Changed Teams",
eventDetail: "Components Test Infra Team", eventDetail: "Components Test Infra Team",
date: "March 2024 - VERIFY", date: "March 2024",
description: description:
"Vertical move that allowed for broader application of my skills", "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 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 ninja600 from "@assets/hobby/motorcycling/lineup/1991-kawasaki-ninja-600r.jpg";
import concours from "@assets/hobby/motorcycling/lineup/1999-kawasaki-concours.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 drz400 from "@assets/hobby/motorcycling/lineup/2005-suzuki-drz-400.jpg";
import fjr1300 from "@assets/hobby/motorcycling/lineup/2015-fjr-1300-mountaintop.jpg"; import fjr1300 from "@assets/hobby/motorcycling/lineup/2015-fjr-1300-mountaintop.jpg";
import sg400 from "@assets/hobby/motorcycling/lineup/2021-csc-sg400.jpg"; import sg400 from "@assets/hobby/motorcycling/lineup/2021-csc-sg400.jpg";
@@ -22,7 +24,7 @@ const drzCarouselGroup: carouselGroup = {
}; };
const concoursCarouselGroup: carouselGroup = { const concoursCarouselGroup: carouselGroup = {
animation: "slide", animation: "slide",
images: [concours], images: [concours, concours_offroad, concours_trailer],
}; };
const ninjaCarouselGroup: carouselGroup = { const ninjaCarouselGroup: carouselGroup = {
animation: "slide", animation: "slide",