From 873744a2679aca00f9d50ef5bd4a699c5a355874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=7BAI=7Df=20D=2E=20M=C3=BCller?= Date: Fri, 29 May 2026 15:06:39 +0200 Subject: [PATCH] feat(footer): add heise online press coverage link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a separate "Featured in" / "Bekannt aus" row linking the heise online article about Semantic Anchors. Kept distinct from the existing "As seen on" / "Zu Gast bei" row, which is for podcast/live-coding appearances — press coverage is not a guest appearance, so "Zu Gast bei: heise" would read wrong in German. The heise mark (navy circle + white "h.") sits on a white chip so it stays legible in both light and dark themes; the bundled SVG has the OS-level prefers-color-scheme media query stripped so it renders predictably against the site's class-based dark mode. Co-Authored-By: Claude Opus 4.8 (1M context) --- website/public/heise-logo.svg | 4 ++++ website/src/components/footer.js | 20 ++++++++++++++++++++ website/src/translations/de.json | 2 ++ website/src/translations/en.json | 2 ++ 4 files changed, 28 insertions(+) create mode 100644 website/public/heise-logo.svg diff --git a/website/public/heise-logo.svg b/website/public/heise-logo.svg new file mode 100644 index 0000000..830d5d0 --- /dev/null +++ b/website/public/heise-logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/website/src/components/footer.js b/website/src/components/footer.js index 03e1daf..eeeaa1f 100644 --- a/website/src/components/footer.js +++ b/website/src/components/footer.js @@ -102,6 +102,26 @@ export function renderFooter(version) { rabauer.dev (EN) +
+ ${i18n.t('footer.featuredIn')} + + heise online + heise online (DE) + +
diff --git a/website/src/translations/de.json b/website/src/translations/de.json index 6f16d7a..66fcb03 100644 --- a/website/src/translations/de.json +++ b/website/src/translations/de.json @@ -88,6 +88,8 @@ "footer.asSeenOn": "Zu Gast bei", "footer.hmzeAlt": "HMZE Podcast — Beyond Vibe Coding", "footer.rabauerAlt": "rabauer.dev — Live-Coding-Session: From Vibe Coding to a Real Java App (Englisch)", + "footer.featuredIn": "Bekannt aus", + "footer.heiseAlt": "heise online — Semantische Anker verkürzen den Kontext für das agentische Coden", "categories.communication-presentation": "Kommunikation & Präsentation", "categories.design-principles": "Design-Prinzipien & Muster", "categories.development-workflow": "Entwicklungs-Workflow", diff --git a/website/src/translations/en.json b/website/src/translations/en.json index e979245..ca93e95 100644 --- a/website/src/translations/en.json +++ b/website/src/translations/en.json @@ -88,6 +88,8 @@ "footer.asSeenOn": "As seen on", "footer.hmzeAlt": "HMZE Podcast — Beyond Vibe Coding (German)", "footer.rabauerAlt": "rabauer.dev — Live coding session: From Vibe Coding to a Real Java App (English)", + "footer.featuredIn": "Featured in", + "footer.heiseAlt": "heise online — Semantic Anchors shorten the context for agentic coding (German)", "categories.communication-presentation": "Communication & Presentation", "categories.design-principles": "Design Principles & Patterns", "categories.development-workflow": "Development Workflow",