Fixed weird floating footer behavior, updated Timeline to handle new growing scrolling content div, fixed grammar issue on chubby buttons, removed used nginx configs and Dockerfile comments, made Table not go full-w automatically, added tests to ensure no orphaned astro pages or site layout entries exist, dummy sitemap index so code analysis doesn't freak out
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
---
|
||||
|
||||
<footer class="fixed bottom-0 left-0 z-20 w-full px-6 py-2 bg-black border-t border-t-caperren-green-dark text-caperren-green-dark text-sm flex items-center justify-between">
|
||||
<footer class="z-50 w-full max-w-full px-6 py-2 bg-black border-t border-t-caperren-green-dark text-caperren-green-dark text-sm flex items-center justify-between">
|
||||
<span>{import.meta.env.PUBLIC_BUILD_ENVIRONMENT || "development"}</span>
|
||||
<span>{import.meta.env.PUBLIC_REPO_VERSION_HASH || "invalid"}</span>
|
||||
</footer>
|
||||
|
||||
@@ -8,7 +8,7 @@ const paddingClasses: string = `px-${columnPadding} py-${rowPadding}`;
|
||||
---
|
||||
|
||||
<div class="relative max-w-full overflow-x-auto">
|
||||
<table class="w-full text-sm text-left">
|
||||
<table class="text-sm text-left">
|
||||
<thead class="text-xs border-b-3 border-caperren-green uppercase bg-black">
|
||||
<tr>
|
||||
{data.header.map(headingText => (
|
||||
|
||||
@@ -5,7 +5,6 @@ const timeline: timelineEntry[] = Astro.props.timeline || [];
|
||||
---
|
||||
|
||||
<custom-timeline>
|
||||
|
||||
<div class="relative z-10 grid gap-6 grid-flow-row sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 3xl:grid-cols-6"
|
||||
data-timeline>
|
||||
{timeline.map((entry, index) => (
|
||||
|
||||
@@ -7,7 +7,6 @@ class CustomTimeline extends HTMLElement {
|
||||
super();
|
||||
this._eventElements = this._getNodeElements();
|
||||
|
||||
|
||||
window.addEventListener("load", this._paintLeaderLines);
|
||||
|
||||
}
|
||||
@@ -26,17 +25,20 @@ class CustomTimeline extends HTMLElement {
|
||||
}
|
||||
}).filter(pair => pair !== undefined)
|
||||
|
||||
let contentBodyScrolling = document.getElementById("content-body-scrolling")
|
||||
|
||||
pairs.forEach(pair => {
|
||||
new LeaderLine({
|
||||
start: pair[0],
|
||||
end: pair[1],
|
||||
color: '#10ac25',
|
||||
size: 3,
|
||||
startSocket: "right",
|
||||
endSocket: "left",
|
||||
startPlug: "square",
|
||||
endPlug: "arrow3"
|
||||
});
|
||||
let line = new LeaderLine({
|
||||
start: pair[0],
|
||||
end: pair[1],
|
||||
color: '#10ac25',
|
||||
size: 3,
|
||||
startSocket: "right",
|
||||
endSocket: "left",
|
||||
startPlug: "square",
|
||||
endPlug: "arrow3"
|
||||
});
|
||||
contentBodyScrolling?.addEventListener("scroll", () => line.position())
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,22 +4,18 @@ export const siteLayout: navLink[] = [
|
||||
{navText: "About", path: ""},
|
||||
{navText: "Education", path: "education"},
|
||||
{
|
||||
enabled: false,
|
||||
navText: "Experiences",
|
||||
path: "experience",
|
||||
children: [
|
||||
{
|
||||
enabled: false,
|
||||
navText: "SpaceX",
|
||||
path: "spacex",
|
||||
children: [
|
||||
{
|
||||
enabled: false,
|
||||
navText: "Hardware Test Engineer I/II",
|
||||
path: "hardware-test-engineer-i-ii"
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
navText: "Avionics Test Engineering Internship",
|
||||
path: "avionics-test-engineering-internship"
|
||||
}
|
||||
@@ -151,8 +147,9 @@ export const siteLayout: navLink[] = [
|
||||
navText: "Projects",
|
||||
path: "projects",
|
||||
children: [
|
||||
{navText: "Shed Solar", path: "shed-solar", enabled: false},
|
||||
{navText: "OSSM Overkill Edition", path: "ossm-overkill-edition", enabled: false},
|
||||
{navText: "Rachael Ray Light Box", path: "rachael-ray-light-box", enabled: false},
|
||||
{navText: "Shed Solar", path: "shed-solar", enabled: false},
|
||||
]
|
||||
},
|
||||
{enabled: false, navText: "NixOS", path: "nixos"},
|
||||
|
||||
@@ -16,20 +16,23 @@ const pageEnabled = pathToMetadata(Astro.url.pathname).enabled ?? true;
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<link rel="icon" href="/favicon-solid.png" type="image/png"/>
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<link rel="sitemap" href="/sitemap-index.xml"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>{pageEnabled ? pageTitle : "Corwin Perren"}</title>
|
||||
</head>
|
||||
<body class="bg-black text-white">
|
||||
<Navbar/>
|
||||
<main class="mx-6 mt-6 mb-14">
|
||||
{(Astro.props.title && showTitle && pageEnabled) && (
|
||||
<h1 class="font-extrabold md:text-3xl md:mb-6">{Astro.props.title}</h1>
|
||||
)}
|
||||
{pageEnabled && (
|
||||
<slot/>
|
||||
)}
|
||||
</main>
|
||||
<body class="flex flex-col bg-black text-white h-dvh">
|
||||
<div id="content-body-scrolling" class="grow overflow-y-scroll">
|
||||
<Navbar/>
|
||||
<main class="mx-6 my-6">
|
||||
{(Astro.props.title && showTitle && pageEnabled) && (
|
||||
<h1 class="font-extrabold md:text-3xl md:mb-6">{Astro.props.title}</h1>
|
||||
)}
|
||||
{pageEnabled && (
|
||||
<slot/>
|
||||
)}
|
||||
</main>
|
||||
</div>
|
||||
<Footer/>
|
||||
<script src="../scripts/main.ts"></script>
|
||||
</body>
|
||||
|
||||
@@ -68,7 +68,6 @@ const headerCarouselGroup: carouselGroup = {
|
||||
While my first iteration was sized appropriately and went together with no issues, the ball mount neck ended up
|
||||
snapping due to a low infill percentage. After changing that area to 100% infill, including a handful of the
|
||||
rear mount layers that it attached to, a second iteration has worked perfectly for a few years now! If you're
|
||||
interested in printing this yourself, feel free to download the model and print it yourself using the button
|
||||
under the photos!
|
||||
interested in printing this yourself, feel free to download the model using the button under the photos!
|
||||
</p>
|
||||
</HobbyLayout>
|
||||
@@ -39,7 +39,7 @@ const headerCarouselGroup: carouselGroup = {
|
||||
Through college, I learned electronics and PCB design, embedded and pc programming, basic mechanical design and
|
||||
fabrication, on top of learning how to work well with others in a team.
|
||||
I quickly realized that robotics was an ideal focus due to its inherent multi-disciplinary nature, and joined
|
||||
the OSU Robotics club, which introduced me to people who are still my best friends today.
|
||||
the OSU Robotics Club, which introduced me to people who are still my best friends today.
|
||||
Through student engineering jobs, I had the unique opportunity to work on some incredible projects such as the
|
||||
<a class="text-blue-500 hover:text-blue-300"
|
||||
href="/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler">robotic oceanographic
|
||||
|
||||
5
src/pages/sitemap-index.xml
Normal file
5
src/pages/sitemap-index.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<sitemapindex>
|
||||
<sitemap>
|
||||
<loc>https://caperren.com/sitemap-0.xml</loc>
|
||||
</sitemap>
|
||||
</sitemapindex>
|
||||
Reference in New Issue
Block a user