Merge pull request #35 from barrett-ruth/feat/death

death
This commit is contained in:
Barrett Ruth 2025-12-27 16:21:08 -06:00 committed by GitHub
commit d8e13262c3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 80 additions and 2 deletions

View file

BIN
public/death/death.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

View file

@ -16,6 +16,7 @@ export const collections = {
software: defineCollection({ type: "content", schema: base }),
meditations: defineCollection({ type: "content", schema: base }),
"autonomous-racing": defineCollection({ type: "content", schema: base }),
death: defineCollection({ type: "content", schema: base }),
git: defineCollection({ type: "content", schema: base }),
gists: defineCollection({ type: "content", schema: base }),

View file

@ -6,6 +6,7 @@ const {
title,
description = "Barrett Ruth's website",
bodyClass = "graph-background",
useHeader = true,
} = Astro.props;
---
@ -33,7 +34,7 @@ const {
<slot name="head" />
</head>
<body class={bodyClass}>
<Header />
{useHeader && <Header />}
<main class="main">
<slot />
</main>
@ -51,6 +52,8 @@ const {
return "#3d8a44";
case "git":
return "#cc5500";
case "death":
return "#000000";
default:
return getComputedStyle(document.documentElement)
.getPropertyValue("--text")

View file

@ -41,6 +41,9 @@ posts.sort(sortItem);
>autonomous-racing</a
>
</li>
<li class="topic death">
<a href="/death" data-topic="death">death</a>
</li>
</ul>
<div class="posts" id="posts">

64
src/pages/death.astro Normal file
View file

@ -0,0 +1,64 @@
---
import BaseLayout from "../layouts/BaseLayout.astro";
const title = "my father";
---
<BaseLayout title={title} useHeader={false}>
<div class="death-container">
<img id="death-image" src="/death/death.webp" alt="Philip Matthew Ruth" />
<div id="tribute-text" class="tribute">
rip philip matthew ruth<br />
february 8, 1967 c. december 2, 2025
</div>
<div class="credit">
gary wray<br />
<em>waiting in line</em>, 2021
</div>
</div>
<style>
html,
body {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
overflow: hidden;
background: black;
}
.death-container {
position: relative;
width: 100vw;
height: 100vh;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tribute {
position: fixed;
bottom: 1.5rem;
right: 1.5rem;
font-size: 3em;
z-index: 10;
text-align: right;
}
.credit {
position: fixed;
bottom: 1.5rem;
left: 1.5rem;
z-index: 10;
font-size: 2em;
text-align: left;
}
</style>
</BaseLayout>

View file

@ -57,6 +57,9 @@ for (const c of CATS) {
>autonomous racing</a
>
</li>
<li class="topic death">
<a href="/death.html" data-topic="death">death</a>
</li>
</ul>
<div class="posts" id="posts"></div>
</div>

View file

@ -6,7 +6,8 @@ export type CollectionKey =
| "meditations"
| "autonomous-racing"
| "git"
| "gists";
| "gists"
| "death";
export type PostCollection = Exclude<CollectionKey, "git" | "gists">;
export type AnyCollectionEntry =
@ -14,5 +15,6 @@ export type AnyCollectionEntry =
| CollectionEntry<"software">
| CollectionEntry<"meditations">
| CollectionEntry<"autonomous-racing">
| CollectionEntry<"death">
| CollectionEntry<"git">
| CollectionEntry<"gists">;

View file

@ -10,6 +10,8 @@ export function getTopicColor(topicName) {
return "#3d8a44";
case "git":
return "#cc5500";
case "death":
return "#000000";
default:
return null;
}