feat: add meta descriptions to all pages - #180
Merged
Merged
Conversation
None of the ten pages carried a <meta name="description">, 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) <noreply@anthropic.com>
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) <noreply@anthropic.com>
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) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
None of the ten pages carried a
<meta name="description">. Search engines were synthesising snippets from page content — on the homepage that means starting from<h1>Flix —</h1>— and chat clients had no text to unfurl.Changes
Layout.astrogains a typedPropsinterface and renders the tag:descriptionis required rather than optional, so a page added later without one failsastro check— already run by CI on every push and PR. This also typestitle, which was previously implicitany.Each of the ten pages then passes a description written from its actual content, 69–157 characters, front-loaded so the distinctive part survives truncation.
Scope
Description tag only.
og:*andtwitter:*are still absent — those need a 1200×630 card image designed before the markup does anything, so they are left for a follow-up. No JSON-LD.Verification
npm run check— 0 errors, 0 warnings, 0 hints across 20 filesnpm run build— clean, 10 pages🤖 Generated with Claude Code