diff --git a/public/images/dark-avatar.png b/public/images/dark-avatar.png new file mode 100644 index 0000000..0ebf6b3 Binary files /dev/null and b/public/images/dark-avatar.png differ diff --git a/src/components/Nav.astro b/src/components/Nav.astro index 004aed5..20e28e8 100644 --- a/src/components/Nav.astro +++ b/src/components/Nav.astro @@ -6,10 +6,7 @@ const links = [ { href: "/about", label: "about" }, { href: "/projects", label: "projects" }, { href: "/now", label: "now" }, - { href: "/uses", label: "uses" }, { href: "/blog", label: "blog" }, - { href: "/coffee", label: "coffee" }, - { href: "/links", label: "links" }, { href: "/guestbook", label: "guestbook" }, ]; diff --git a/src/pages/about.astro b/src/pages/about.astro index cc561c1..c15bdc9 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -99,6 +99,9 @@ import BaseLayout from "../layouts/BaseLayout.astro";

+
@@ -357,6 +360,20 @@ import BaseLayout from "../layouts/BaseLayout.astro"; font-weight: 600; } + .uses-link { + margin-top: var(--space-md); + font-size: 0.875rem; + color: var(--color-text-dim); + } + + .uses-link a { + color: var(--color-accent); + } + + .uses-link a:hover { + color: var(--color-accent-bright); + } + .compact { margin-top: var(--space-md); } diff --git a/src/pages/coffee.astro b/src/pages/coffee.astro deleted file mode 100644 index 36fe56a..0000000 --- a/src/pages/coffee.astro +++ /dev/null @@ -1,315 +0,0 @@ ---- -import BaseLayout from "../layouts/BaseLayout.astro"; -import { getCollection } from "astro:content"; - -const coffeeEntries = (await getCollection("coffee", ({ data }) => !data.draft)) - .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()); - -const renderedEntries = await Promise.all( - coffeeEntries.map(async (entry) => { - const { Content } = await entry.render(); - - return { - ...entry, - Content, - }; - }), -); - -function formatTimestamp(date: Date) { - const iso = date.toISOString(); - return `${iso.slice(0, 10)} ${iso.slice(11, 16)} UTC`; -} ---- - - - - -
-
-
-

Small reflections

-

Coffee Notes

-
==============================
-

- These are shorter notes than the blog. Small thoughts, - building notes, privacy reflections, and quiet little things - written down while the coffee is still warm. -

-
- - { - renderedEntries.length === 0 ? ( -
-

- No notes yet. The mug is here, the notebook is just - still blank. -

-
- ) : ( -
-

- Coffee Notes entries -

-
    - {renderedEntries.map((entry) => ( -
  1. - -
    - {entry.data.title && ( -

    - {entry.data.title} -

    - )} -
    - -
    -
    -
  2. - ))} -
-
- ) - } - -
-

Made with love by Latte

-
-
-
-
- - diff --git a/src/pages/links.astro b/src/pages/links.astro deleted file mode 100644 index 946aa48..0000000 --- a/src/pages/links.astro +++ /dev/null @@ -1,370 +0,0 @@ ---- -import BaseLayout from "../layouts/BaseLayout.astro"; -import { getCollection } from "astro:content"; - -const links = (await getCollection("links", ({ data }) => !data.draft)).map( - (entry) => ({ - ...entry, - host: new URL(entry.data.url).hostname.replace(/^www\./, ""), - }), -); - -const categoryOrder = [ - "blogs", - "essays", - "tools", - "inspiration", - "music", - "infrastructure", -]; - -const compareLinks = (a: (typeof links)[number], b: (typeof links)[number]) => { - if (a.data.date && b.data.date) { - return b.data.date.valueOf() - a.data.date.valueOf(); - } - - if (a.data.date) return -1; - if (b.data.date) return 1; - - return a.data.title.localeCompare(b.data.title); -}; - -const groupedLinks = Array.from( - links.reduce((groups, link) => { - const category = link.data.category ?? "uncategorized"; - const current = groups.get(category) ?? []; - - current.push(link); - groups.set(category, current); - return groups; - }, new Map()), -).sort(([a], [b]) => { - const leftIndex = categoryOrder.indexOf(a); - const rightIndex = categoryOrder.indexOf(b); - const normalizedLeft = - leftIndex === -1 ? Number.MAX_SAFE_INTEGER : leftIndex; - const normalizedRight = - rightIndex === -1 ? Number.MAX_SAFE_INTEGER : rightIndex; - - if (normalizedLeft !== normalizedRight) { - return normalizedLeft - normalizedRight; - } - - return a.localeCompare(b); -}); - -for (const [, entries] of groupedLinks) { - entries.sort(compareLinks); -} - -function formatCategory(category: string) { - if (category === "uncategorized") return "Elsewhere"; - return category.replace(/\b\w/g, (char) => char.toUpperCase()); -} - -function formatDate(date?: Date) { - if (!date) return null; - return date.toISOString().split("T")[0]; -} ---- - - - - -
-
-
-

A wider web

-

Links

-
==============================
-

- This is a small cabinet of links that matter to me: tools, - essays, communities, and other corners of the web that have - influenced how I think about building places online. Not a - giant bookmark dump, just a shelf of things worth sharing. -

-
- -
- { - groupedLinks.map(([category, entries]) => ( -
-

- {formatCategory(category)} -

- -
- )) - } -
- -
-

Made with love by Latte

-
-
-
-
- -