Skip to content

Commit 7505cef

Browse files
committed
kill the projects page in favor of a unified home page
1 parent 1fa348b commit 7505cef

35 files changed

Lines changed: 490 additions & 716 deletions

src/lib/Header.astro

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ const pages = [
88
{ url: '/milliblog/', title: 'milliblog', description: 'human research' },
99
{ url: 'https://x.com/KTibow', title: 'microblog', description: 'X' },
1010
{ url: '/nanoblog/', title: 'nanoblog', description: 'small thoughts' },
11-
{ url: '/projects/', title: 'projects', description: 'past work' },
1211
{ url: '/', title: 'home', description: 'about me' },
1312
];
1413
---

src/pages/_motive.astro

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<article class="motive">
2+
<slot name="graphic" />
3+
<div class="body prose">
4+
<slot />
5+
</div>
6+
</article>
7+
<style>
8+
.motive {
9+
display: grid;
10+
grid-template-columns: auto 1fr;
11+
width: 100%;
12+
max-width: 40rem;
13+
background-color: var(--m3c-surface-container);
14+
border-radius: 1.5rem;
15+
> svg {
16+
min-width: 10rem;
17+
min-height: 10rem;
18+
border-radius: 1.5rem;
19+
}
20+
}
21+
.body {
22+
display: flex;
23+
flex-direction: column;
24+
padding: 0 0.5rem;
25+
> h2 {
26+
font-size: inherit;
27+
line-height: inherit;
28+
}
29+
}
30+
</style>

src/pages/index.astro

Lines changed: 356 additions & 74 deletions
Large diffs are not rendered by default.

src/pages/oldindex.astro

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
import Base from '$lib/layouts/Base.astro';
3+
import Header from '$lib/Header.astro';
4+
import Arrow from './_arrow.astro';
5+
6+
import bg from './_bg.svg?url';
7+
import cursor from './_cursor.svg?url';
8+
9+
const wordmark = `<svg width="161.6" height="40" viewBox="0 0 1753 434" fill="currentColor"><title>Kendell</title><rect width="121" height="50" y="384" rx="25"/><rect width="89" height="50" x="160" y="384" rx="25"/><rect width="89" height="50" x="32" y="320" rx="25"/><rect width="89" height="50" x="160" y="320" rx="25"/><rect width="89" height="50" x="32" y="256" rx="25"/><rect width="89" height="50" x="128" y="256" rx="25"/><rect width="153" height="50" x="32" y="192" rx="25"/><rect width="89" height="50" x="32" y="128" rx="25"/><rect width="89" height="50" x="128" y="128" rx="25"/><rect width="89" height="50" x="32" y="64" rx="25"/><rect width="89" height="50" x="160" y="64" rx="25"/><rect width="121" height="50" rx="25"/><rect width="89" height="50" x="160" rx="25"/><rect width="153" height="50" x="320" y="384" rx="25"/><rect width="89" height="50" x="288" y="320" rx="25"/><rect width="217" height="50" x="288" y="256" rx="25"/><rect width="89" height="50" x="288" y="192" rx="25"/><rect width="89" height="50" x="416" y="192" rx="25"/><rect width="153" height="50" x="320" y="128" rx="25"/><rect width="89" height="50" x="544" y="384" rx="25"/><rect width="89" height="50" x="672" y="384" rx="25"/><rect width="89" height="50" x="544" y="320" rx="25"/><rect width="89" height="50" x="672" y="320" rx="25"/><rect width="89" height="50" x="544" y="256" rx="25"/><rect width="89" height="50" x="672" y="256" rx="25"/><rect width="89" height="50" x="544" y="192" rx="25"/><rect width="89" height="50" x="672" y="192" rx="25"/><rect width="185" height="50" x="544" y="128" rx="25"/><rect width="121" height="50" x="832" y="384" rx="25"/><rect width="89" height="50" x="960" y="384" rx="25"/><rect width="89" height="50" x="800" y="320" rx="25"/><rect width="89" height="50" x="928" y="320" rx="25"/><rect width="89" height="50" x="800" y="256" rx="25"/><rect width="89" height="50" x="928" y="256" rx="25"/><rect width="89" height="50" x="800" y="192" rx="25"/><rect width="121" height="50" x="896" y="192" rx="25"/><rect width="89" height="50" x="832" y="128" rx="25"/><rect width="89" height="50" x="928" y="128" rx="25"/><rect width="89" height="50" x="928" y="64" rx="25"/><rect width="121" height="50" x="896" rx="25"/><rect width="153" height="50" x="1088" y="384" rx="25"/><rect width="89" height="50" x="1056" y="320" rx="25"/><rect width="217" height="50" x="1056" y="256" rx="25"/><rect width="89" height="50" x="1056" y="192" rx="25"/><rect width="89" height="50" x="1184" y="192" rx="25"/><rect width="153" height="50" x="1088" y="128" rx="25"/><rect width="153" height="50" x="1344" y="384" rx="25"/><rect width="89" height="50" x="1376" y="320" rx="25"/><rect width="89" height="50" x="1376" y="256" rx="25"/><rect width="89" height="50" x="1376" y="192" rx="25"/><rect width="89" height="50" x="1376" y="128" rx="25"/><rect width="89" height="50" x="1376" y="64" rx="25"/><rect width="121" height="50" x="1344" rx="25"/><rect width="153" height="50" x="1600" y="384" rx="25"/><rect width="89" height="50" x="1632" y="320" rx="25"/><rect width="89" height="50" x="1632" y="256" rx="25"/><rect width="89" height="50" x="1632" y="192" rx="25"/><rect width="89" height="50" x="1632" y="128" rx="25"/><rect width="89" height="50" x="1632" y="64" rx="25"/><rect width="121" height="50" x="1600" rx="25"/></svg>`;
10+
---
11+
12+
<Base title="Kendell">
13+
<Header span />
14+
<style
15+
set:html={':root {' +
16+
[
17+
`cursor: url("${cursor}"), auto`,
18+
`background-image: url("${bg}")`,
19+
`background-color: var(--m3c-primary)`,
20+
`color: var(--m3c-surface)`,
21+
`background-size: 100%`,
22+
`background-repeat: no-repeat`,
23+
`background-attachment: fixed`,
24+
`background-position: top center`,
25+
].join(';') +
26+
'}' +
27+
':root.midnight {' +
28+
[
29+
`background-image: linear-gradient(rgb(0 0 0 / 0.8), rgba(0 0 0 / 0.8)), url("${bg}")`,
30+
`color: var(--m3c-on-surface)`,
31+
].join(';') +
32+
'}'}
33+
></style>
34+
<main>
35+
<div>
36+
<h1><Fragment set:html={wordmark} /></h1>
37+
<time class="link"></time>
38+
<a class="link layer" href="https://github.com/KTibow">GitHub <Arrow /></a>
39+
<a class="link layer" href="https://github.com/sponsors/KTibow">GitHub Sponsors <Arrow /></a>
40+
<a class="link layer" href="https://discord.gg/DSzZQxpzHR">Discord <Arrow /></a>
41+
</div>
42+
<div>
43+
<p>EHLO! i like making things; this site has some things i've made.</p>
44+
<p>
45+
you might also know me for my chatting (where i'm known as KTibow) or for my interest in
46+
minification (e18e, svgo, etc are awesome).
47+
</p>
48+
</div>
49+
</main>
50+
<script>
51+
const time = document.querySelector('time')!;
52+
function updateTime() {
53+
const now = new Date();
54+
time.dateTime = now.toISOString();
55+
time.textContent = now.toLocaleTimeString(undefined, {
56+
hour: 'numeric',
57+
minute: '2-digit',
58+
timeZone: 'America/Los_Angeles',
59+
});
60+
setTimeout(updateTime, 60000 - (Date.now() % 60000));
61+
}
62+
updateTime();
63+
</script>
64+
</Base>
65+
66+
<style>
67+
main {
68+
display: flex;
69+
@media (width < 52.5rem) {
70+
flex-direction: column;
71+
}
72+
gap: 1.5rem;
73+
margin-inline: 0.5rem;
74+
margin-block: auto;
75+
align-self: center;
76+
> * {
77+
display: flex;
78+
flex-direction: column;
79+
}
80+
}
81+
h1 {
82+
margin-bottom: auto;
83+
}
84+
.link {
85+
display: flex;
86+
align-items: center;
87+
justify-content: space-between;
88+
height: 2.5rem;
89+
border-radius: 0.5rem;
90+
font-weight: 500;
91+
&:last-child {
92+
margin-bottom: -0.5rem;
93+
}
94+
}
95+
p {
96+
&:not(:first-child) {
97+
margin-top: 1em;
98+
}
99+
@media (width >= 52.5rem) {
100+
line-height: 1.3;
101+
max-width: 13rem;
102+
}
103+
}
104+
</style>

src/pages/projects/2020.png

-20 KB
Binary file not shown.

src/pages/projects/2021.png

-19.5 KB
Binary file not shown.

src/pages/projects/2022.png

-21.1 KB
Binary file not shown.

src/pages/projects/2023.png

-21.1 KB
Binary file not shown.

src/pages/projects/2024.png

-20.9 KB
Binary file not shown.

src/pages/projects/2025.png

-19.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)