feat: remove backlink

This commit is contained in:
Stefan Imhoff
2026-01-27 17:14:31 +01:00
committed by Stefan Imhoff
parent 30d02803c6
commit 4fd145f387
22 changed files with 26 additions and 91 deletions

View File

@@ -1,35 +0,0 @@
---
import { ArrowLeft } from './icons';
import Link from './Link.astro';
interface Props {
class?: string;
backLink?: string;
}
const { backLink, class: className, ...props } = Astro.props;
---
{
backLink && (
<Link
aria-label="Back to overview"
class:list={[
'col-span-2 col-start-1 h-clickarea w-clickarea items-center justify-center self-center justify-self-center transition-transform duration-500 ease-in-out hover:-translate-x-1 focus:-translate-x-1 md:col-span-1 print:hidden',
className,
]}
data-umami-event="Back to overview"
href={backLink}
{...props}
>
<button
aria-hidden="true"
class="flex h-clickarea w-clickarea cursor-pointer items-center justify-center border-none text-[0]"
type="button"
tabindex={-1}
>
<ArrowLeft aria-hidden="true" className="icon h-icon w-icon" />
</button>
</Link>
)
}

View File

@@ -1,15 +1,13 @@
---
import Backlink from '../components/Backlink.astro';
import MainNavigation from '../components/MainNavigation.astro';
import ThemeToggle from '../components/ThemeToggle.astro';
export interface Props {
backLink?: string;
class?: string;
navigation?: boolean;
}
const { backLink, class: className, navigation = true } = Astro.props;
const { class: className, navigation = true } = Astro.props;
---
<header
@@ -19,7 +17,6 @@ const { backLink, class: className, navigation = true } = Astro.props;
]}
role="banner"
>
<Backlink backLink={backLink} />
{navigation && <MainNavigation />}
<ThemeToggle />
</header>

View File

@@ -28,7 +28,7 @@ const schema = JSON.stringify({
});
---
<GridLayout title={frontmatter.title} grid="narrow" backLink="/" {...frontmatter}>
<GridLayout title={frontmatter.title} grid="narrow" {...frontmatter}>
<PageTitle grid="narrow" slot="title" {...frontmatter}>
{frontmatter.title}
</PageTitle>

View File

@@ -12,7 +12,6 @@ import SearchModal from '../components/SearchModal.astro';
import Scripts from '../components/Scripts.astro';
export interface Props {
backLink?: string;
cover?: string;
description?: string;
footer?: boolean;
@@ -23,7 +22,6 @@ export interface Props {
}
const {
backLink,
description,
footer = true,
header = true,
@@ -165,7 +163,7 @@ const webManifest = isProduction && {
class="flex grow flex-col bg-shibui-100 font-sans font-normal leading-relaxed text-shibui-950 common-ligatures dark:bg-shibui-900 dark:text-shibui-200/[0.87]"
>
<div class="flex h-screen grow flex-col">
{header && <PageHeader backLink={backLink} />}
{header && <PageHeader />}
<div class="page-content flex grow">
<main class="h-full w-full" {...pagefind}>
<slot />

View File

@@ -2,7 +2,6 @@
import BaseLayout from './BaseLayout.astro';
export interface Props {
backLink?: string;
class?: string;
cover?: string;
description?: string;
@@ -18,7 +17,6 @@ export interface Props {
}
const {
backLink,
class: className,
cover,
description,
@@ -35,7 +33,6 @@ const {
---
<BaseLayout
backLink={backLink}
cover={cover}
description={description}
footer={footer}

View File

@@ -12,7 +12,6 @@ const description = 'Page not found.';
---
<GridLayout
backLink="/"
class="grid"
description={description}
grid="wide"

View File

@@ -78,7 +78,6 @@ const schema = JSON.stringify({
---
<GridLayout
backLink="/journal/"
cover={entry.data.cover}
description={description}
grid="fullsize"

View File

@@ -3,7 +3,6 @@ layout: ../layouts/AboutLayout.astro
title: About
updated: 2025-12-15
description: Im Stefan Imhoff, a Web Developer from Hamburg, Germany.
backLink: /
---
import { mapping } from "../mdx-components.ts";

View File

@@ -22,7 +22,6 @@ const description = 'The resume of Stefan Imhoff, Senior Software Engineer from
---
<GridLayout
backLink="/"
class="grid"
description={description}
grid="wide"
@@ -93,19 +92,20 @@ const description = 'The resume of Stefan Imhoff, Senior Software Engineer from
</ListItem>
<ListItem>
<strong>Accelerated XING Design System adoption by 278%</strong> (cumulative growth
by Q3 2025), successfully deprecating legacy systems and reducing technical debt through
aggressive migration strategies acknowledged as <q>technically demanding</q> successes.
by Q3 2025), successfully deprecating legacy systems and reducing technical debt
through aggressive migration strategies acknowledged as <q
>technically demanding</q
> successes.
</ListItem>
<ListItem>
<strong>Spearheaded WCAG 2.2 AA compliance</strong> for the EU Accessibility Act,
conducting comprehensive audits on 50+ core components and implementing semantic standards,
focus management, and high-contrast support.
conducting comprehensive audits on 50+ core components and implementing semantic
standards, focus management, and high-contrast support.
</ListItem>
<ListItem>
<strong>Recognized as a <q>Role Model for AI Tooling</q></strong> by leadership, integrating
generative AI into daily workflows for debugging and documentation, and winning <strong
>2nd Place in the 2023 AI Hackweek</strong
> for profile image generation.
<strong>Recognized as a <q>Role Model for AI Tooling</q></strong> by leadership,
integrating generative AI into daily workflows for debugging and documentation, and
winning <strong>2nd Place in the 2023 AI Hackweek</strong> for profile image generation.
</ListItem>
<ListItem>
<strong>Engineered a scalable Dark Mode architecture</strong> by creating a dual-mode
@@ -119,8 +119,8 @@ const description = 'The resume of Stefan Imhoff, Senior Software Engineer from
</ListItem>
<ListItem>
<strong>Lead the technical upgrade to Styled Components</strong> and TypeScript modernization,
refactoring complex types and eliminating “snowflake” implementations to enhance build
performance and developer experience.
refactoring complex types and eliminating “snowflake” implementations to enhance
build performance and developer experience.
</ListItem>
<ListItem>
<strong>Mentored junior engineers and working students</strong> through dedicated
@@ -145,7 +145,8 @@ const description = 'The resume of Stefan Imhoff, Senior Software Engineer from
<Text>
<em
>Key contributor to high-traffic product verticals including Onboarding, SEO,
Mobile, and Jobs. Consistently rated <q>Expectations Clearly Exceeded</q> (2018, 2019).</em
Mobile, and Jobs. Consistently rated <q>Expectations Clearly Exceeded</q> (2018,
2019).</em
>
</Text>
@@ -177,9 +178,9 @@ const description = 'The resume of Stefan Imhoff, Senior Software Engineer from
Vitals.
</ListItem>
<ListItem>
<strong>Pioneered the first production usage of CSS Grid</strong> at XING during the
relaunch of Public Search, setting the standard for modern layout implementation across
the company.
<strong>Pioneered the first production usage of CSS Grid</strong> at XING during
the relaunch of Public Search, setting the standard for modern layout implementation
across the company.
</ListItem>
</UnorderedList>

View File

@@ -20,7 +20,7 @@ const description =
'This is an ever-growing collection of Haiku I have written. My Haiku reflect my own unique perspective on the world, and I hope they bring a bit of beauty and insight to the reader.';
---
<GridLayout title={title} description={description} grid="wide" backLink="/" class="grid" innerGrid>
<GridLayout title={title} description={description} grid="wide" class="grid" innerGrid>
<PageTitle grid="wide" innerGrid>Haiku</PageTitle>
<article

View File

@@ -37,7 +37,6 @@ const description = `Haiku ${entry.slug} in German and English.`;
<PageHeader
class="z-10 col-span-full row-start-1 bg-transparent !mbe-0 dark:bg-transparent"
navigation={false}
backLink="/haiku/"
/>
<div
class="min-[700px]:grid-cols-[repeat(auto-fit,_minmax(25rem,_1fr)] col-span-full row-start-1 row-end-3 grid w-full grid-cols-[repeat(auto-fit,_minmax(15rem,_1fr))] print:block"

View File

@@ -4,7 +4,6 @@ title: Imprint
description: The imprint of this website.
noindex: true
nofollow: true
backLink: /
---
import { mapping } from "../mdx-components.ts";

View File

@@ -24,7 +24,7 @@ const title = 'Journal';
const description = 'I am writing essays about various topics in this Journal.';
---
<GridLayout title={title} description={description} grid="wide" backLink="/" innerGrid>
<GridLayout title={title} description={description} grid="wide" innerGrid>
<PageTitle grid="wide" innerGrid>Journal</PageTitle>
<article

View File

@@ -7,7 +7,6 @@ description: This site serves as an extensive collection of libertarian resource
updated: 2025-06-13
intro: Libertarianism is a political philosophy and movement that upholds liberty as a core principle.
cover: /assets/images/cover/anarcho-capitalist-city.webp
backLink: /
---
import { mapping } from "../mdx-components.ts";

View File

@@ -4,7 +4,6 @@ title: Life Rules
updated: 2025-06-26
description: My personal rules and principles for living a meaningful life. A guide to how I try to navigate life.
intro: These are the rules, beliefs, and principles that guide my life.
backLink: /
---
import { mapping } from "../mdx-components.ts";

View File

@@ -4,7 +4,6 @@ title: Now
updated: 2026-01-25
description: This is my Now page, listing the things I currently do.
intro: This is my Now page, a website with the content of what I am focused on at this point in my life.
backLink: /
---
import { mapping } from "../mdx-components.ts";

View File

@@ -20,7 +20,7 @@ const description =
'Im a Frontend Developer by profession. I worked in Design, Editing, and 3D Animation. These are projects I created over the last years.';
---
<GridLayout title={title} description={description} grid="wide" class="grid" backLink="/" innerGrid>
<GridLayout title={title} description={description} grid="wide" class="grid" innerGrid>
<PageTitle grid="wide" innerGrid class="">Projects</PageTitle>
<article

View File

@@ -41,7 +41,7 @@ const title = entry.data.title;
const description = entry.data.intro || `The detail for project "${entry.data.title}"`;
---
<GridLayout title={title} description={description} grid="narrow" innerGrid backLink="/projects/">
<GridLayout title={title} description={description} grid="narrow" innerGrid>
<PageTitle slot="title">
{entry.data.title}
</PageTitle>

View File

@@ -15,14 +15,7 @@ const title = 'Tags';
const description = 'This is a list of all the tags used in my journal.';
---
<GridLayout
backLink="/journal/"
class="grid"
description={description}
grid="wide"
innerGrid
title={title}
>
<GridLayout class="grid" description={description} grid="wide" innerGrid title={title}>
<PageTitle grid="wide" innerGrid>Tags</PageTitle>
<aside class="col-start-1 col-end-18 flex flex-wrap gap-y-3">
{uniqueTags.map((t) => <TagComponent href={`/tag/${t}/`}>{t}</TagComponent>)}

View File

@@ -45,14 +45,7 @@ const description = `These are all the articles categorized with the tag "${titl
)}".`;
---
<GridLayout
title={title}
description={description}
grid="wide"
class="grid"
innerGrid
backLink="/journal/"
>
<GridLayout title={title} description={description} grid="wide" class="grid" innerGrid>
<PageTitle slot="title" class="capitalize">
{tag}
</PageTitle>

View File

@@ -5,7 +5,6 @@ updated: 2025-12-15
description: I enjoy learning how other people work, what hardware, software, tools, and gadgets they use. On this page, I present my tools.
intro: I enjoy learning how other people work, what hardware, software, tools, and gadgets they use. Here, I present my tools.
cover: /assets/images/cover/home-office.webp
backLink: /
---
import { mapping } from "../mdx-components.ts";

View File

@@ -16,7 +16,7 @@ const description =
'I took the time and converted all colors in the book “Traditional Colors of Japan” by Nobyoshi Hamada into an ASE file free to download.';
---
<GridLayout title={title} description={description} grid="wide" backLink="/" class="grid" innerGrid>
<GridLayout title={title} description={description} grid="wide" class="grid" innerGrid>
<PageTitle grid="wide" innerGrid>The Traditional Colors of&nbsp;Japan</PageTitle>
<article class="col-start-1 col-end-17 grid md:col-end-8 xl:content-center">