From 66c4399ebad0061ffbb1fdeeb824839745ab3e03 Mon Sep 17 00:00:00 2001 From: Magnus Madsen Date: Mon, 3 Aug 2026 14:30:54 +0200 Subject: [PATCH 1/3] feat: add meta descriptions to all pages None of the ten pages carried a , so search engines synthesised snippets from page content and chat clients had no text to unfurl. Add a typed Props interface to Layout.astro and render the tag, then give each page a description written from its actual content. The prop is required rather than optional so that a page added without one fails `astro check`, which CI already runs on every push and PR. This covers the description tag only; og:* and twitter:* are still absent and need a 1200x630 card image before they are worth adding. Co-Authored-By: Claude Opus 5 (1M context) --- src/layouts/Layout.astro | 8 +++++++- src/pages/404.astro | 5 ++++- src/pages/blog.astro | 5 ++++- src/pages/contribute.astro | 5 ++++- src/pages/documentation.astro | 5 ++++- src/pages/faq.astro | 5 ++++- src/pages/get-started.astro | 5 ++++- src/pages/index.astro | 5 ++++- src/pages/internships.astro | 5 ++++- src/pages/principles.astro | 5 ++++- src/pages/vscode.astro | 5 ++++- 11 files changed, 47 insertions(+), 11 deletions(-) diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 424f1b0..b3cd156 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -2,7 +2,12 @@ import 'bootstrap/dist/css/bootstrap.min.css'; import '@fontsource/open-sans/400.css'; -const { title } = Astro.props; +interface Props { + title: string; + description: string; +} + +const { title, description } = Astro.props; const currentPath = Astro.url.pathname; const canonicalURL = new URL(currentPath, Astro.site); @@ -26,6 +31,7 @@ import '../styles/global.css'; {title} + diff --git a/src/pages/404.astro b/src/pages/404.astro index 688882b..981c861 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,7 +1,10 @@ --- import Layout from '../layouts/Layout.astro'; --- - +
diff --git a/src/pages/blog.astro b/src/pages/blog.astro index 70b9ad7..c2dda60 100644 --- a/src/pages/blog.astro +++ b/src/pages/blog.astro @@ -1,7 +1,10 @@ --- import Layout from '../layouts/Layout.astro'; --- - +
diff --git a/src/pages/contribute.astro b/src/pages/contribute.astro index c02b787..0ef8412 100644 --- a/src/pages/contribute.astro +++ b/src/pages/contribute.astro @@ -2,7 +2,10 @@ import Layout from "../layouts/Layout.astro"; --- - +
diff --git a/src/pages/documentation.astro b/src/pages/documentation.astro index 35e2fa7..d90e360 100644 --- a/src/pages/documentation.astro +++ b/src/pages/documentation.astro @@ -39,7 +39,10 @@ const smallLinks = [ ]; --- - +
diff --git a/src/pages/faq.astro b/src/pages/faq.astro index 7a2c700..f9d761b 100644 --- a/src/pages/faq.astro +++ b/src/pages/faq.astro @@ -4,7 +4,10 @@ import QA from "../components/FAQ/QA.astro"; import Question from "../components/FAQ/Question.astro"; --- - +

Frequently Asked Questions

diff --git a/src/pages/get-started.astro b/src/pages/get-started.astro index aa1f560..26b425d 100644 --- a/src/pages/get-started.astro +++ b/src/pages/get-started.astro @@ -2,7 +2,10 @@ import Layout from "../layouts/Layout.astro"; --- - +

Get Started

diff --git a/src/pages/index.astro b/src/pages/index.astro index fdd86a3..c9c14ba 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -32,7 +32,10 @@ const vscodeSlides = [ ]; --- - +
diff --git a/src/pages/internships.astro b/src/pages/internships.astro index ce62cfd..968a3a3 100644 --- a/src/pages/internships.astro +++ b/src/pages/internships.astro @@ -2,7 +2,10 @@ import Layout from '../layouts/Layout.astro'; --- - +
diff --git a/src/pages/principles.astro b/src/pages/principles.astro index e0333a9..159ab76 100644 --- a/src/pages/principles.astro +++ b/src/pages/principles.astro @@ -2,7 +2,10 @@ import Layout from "../layouts/Layout.astro" import Principle from "../components/Principle.astro" --- - +

Design Principles

diff --git a/src/pages/vscode.astro b/src/pages/vscode.astro index 7a8a177..85d774d 100644 --- a/src/pages/vscode.astro +++ b/src/pages/vscode.astro @@ -49,7 +49,10 @@ const features = [ ]; --- - +
From 828326f14a6134b3b750b541127045ae05184c6a Mon Sep 17 00:00:00 2001 From: Magnus Madsen Date: Mon, 3 Aug 2026 14:35:00 +0200 Subject: [PATCH 2/3] feat: lead homepage description with toolchain completeness The previous description listed paradigms and features, which reads much like the other effect-oriented research languages. Lead instead with the claim the homepage itself makes and the tooling comparison table backs: compiler, LSP, REPL, and build tool in a single binary. Co-Authored-By: Claude Opus 5 (1M context) --- src/pages/index.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index c9c14ba..5ee2a85 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -34,7 +34,7 @@ const vscodeSlides = [
From 063843110d34b44d39d7cc173ab7a3741933d5f5 Mon Sep 17 00:00:00 2001 From: Magnus Madsen Date: Mon, 3 Aug 2026 14:37:02 +0200 Subject: [PATCH 3/3] feat: use the site's own opening sentence as the homepage description Reuse the first paragraph of the homepage rather than a rewrite, so the search snippet and the landing page open in the same voice and credit both Aarhus University and the open source contributors. Co-Authored-By: Claude Opus 5 (1M context) --- src/pages/index.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index 5ee2a85..73b8ce1 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -34,7 +34,7 @@ const vscodeSlides = [