Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,6 @@ The apps below are all local-first: data stays on your device by default, and an

## Contact
- Email: dev@leinss.xyz
- Social profiles: https://leinss.xyz/social/
- X: https://x.com/t_leinss
- GitHub: https://github.com/leinss
- LinkedIn: https://www.linkedin.com/in/tobias-leinss
4 changes: 0 additions & 4 deletions src/components/Header.astro
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,6 @@ const staticPages = (await getCollection("staticPages"))
{`/`}
</span>
<Link href="/projects" underline={false}> projects </Link>
{/* The social link is out of the navigation while the Bluesky feed it
renders is empty, so visitors are not sent to a blank page. The
page itself stays at /social; restore the link once there are
posts. */}
<button
data-theme-toggle
aria-label="Toggle theme"
Expand Down
9 changes: 7 additions & 2 deletions src/consts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,15 @@ export const EDUCATION: Metadata = {
DESCRIPTION: "Where I have studied.",
}

// Bluesky is deliberately absent. The account exists but has no posts, and
// `NAME` is also the Feather icon name, which has no `bluesky` glyph, so the
// entry rendered a bare word with an empty box beside it. The Bluesky feed at
// /social is gone with it.
export const SOCIALS: Socials = [
{
NAME: "bluesky",
HREF: "https://bsky.app/profile/leinss.bsky.social",
NAME: "twitter",
HREF: "https://x.com/t_leinss",
LABEL: "x",
},
{
NAME: "github",
Expand Down
6 changes: 4 additions & 2 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -241,14 +241,16 @@ const education = await Promise.all(
<Link
href={SOCIAL.HREF}
external
aria-label={`${SITE.NAME} on ${SOCIAL.NAME}`}
aria-label={`${SITE.NAME} on ${SOCIAL.LABEL ?? SOCIAL.NAME}`}
underline={false}
>
<i
data-feather={SOCIAL.NAME}
class="w-5 h-5 mr-1.5 inline-block"
/>
<span class="underline text-sm">{SOCIAL.NAME}</span>
<span class="underline text-sm">
{SOCIAL.LABEL ?? SOCIAL.NAME}
</span>
</Link>
{"/"}
</li>
Expand Down
232 changes: 0 additions & 232 deletions src/pages/social.astro

This file was deleted.

7 changes: 7 additions & 0 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ export type Metadata = {
};

export type Socials = {
/**
* Doubles as the Feather icon name and as the key Head.astro looks up for
* the schema.org `sameAs` list, so it has to stay a name Feather ships.
* Feather has no `x` icon, which is why the X profile is keyed `twitter`.
*/
NAME: string;
HREF: string;
/** What the visitor reads, when the network has outgrown its icon name. */
LABEL?: string;
}[];