Remove AstroWind from Material docs while preserving Starlight and homepage design - #13490
NigelBreslaw wants to merge 13 commits into
Conversation
Use the Starlight splash page component for base-aware hero actions. Preserve the landing content and downloads while removing the AstroWind widgets, browser scripts, and Tailwind dependencies.
Keep Astro 7.3 and Starlight with shared Slint documentation components. Remove redundant Sharp and MDX type declarations, obsolete Knip exclusions, and Tailwind parser configuration. Make remaining root-relative content links respect the deployment base. Validate root and /material/ builds, documentation content parity, lint, formatting, spelling, Knip, and 24 Chromium/WebKit browser checks. Firefox qualification is limited by a local profile-folder launch failure. ChangeLog: Simplify the Material documentation site by removing AstroWind while retaining Starlight.
Restore the announcement bar, navigation, gradient heading, large tablet image, feature rows, download panel, component cards, and footer using a plain Astro page and local CSS. Keep the Inter font and existing SVG icons as static assets with the font license. Keep theme preferences compatible with Starlight and make the mobile menu work without JavaScript. Verify both deployment paths, 28 Chromium/WebKit checks, documentation content parity, lint, formatting, spelling, and Knip.
Extend the gradient paint area around glyphs and keep the span inline so the heading line box retains its height. Verify the local rendering and desktop/mobile homepage checks in Chromium and WebKit.
Initialize the homepage theme without unused Starlight picker support. Remove inherited TypeScript defaults, redundant CSS and obsolete archive exclusions.
Keep the APK and web gallery actions on the current host and deployment base path. Update the homepage checks to verify both links.
Replace the obsolete AstroWind vendor exclusion with the exact third-party font license path. Preserve the upstream license text.
The Material homepage's vendored WOFF2 font made CI autofix fail because the checker only recognized WOFF. Treat both binary formats alike; font licensing remains covered by its OFL sidecar. Validation: CI=1 mise run --force ci:autofix:fix passes, including the license header check, with no unrelated changes.
| // SPDX-License-Identifier: MIT | ||
| import { test, expect } from "@playwright/test"; | ||
|
|
||
| test.describe("homepage", () => { |
There was a problem hiding this comment.
It doesn't look like to me that these tests are run in the CI. Am I missing something?
| lazyImagesRehypePlugin, | ||
| rehypeExternalLinksSlint, | ||
| ], | ||
| processor: unified({ rehypePlugins: [rehypeExternalLinksSlint] }), |
There was a problem hiding this comment.
Perhaps this could be replaced with slintStarlightMarkdownRehypeExternalLinksOnly() for consistency with the other Astro sites in the repo?
| { text: "Demo", href: base + "wasm/index.html" }, | ||
| { text: "Slint Home", href: "https://slint.dev" }, | ||
| ]; | ||
| const social = [ |
There was a problem hiding this comment.
Don't we have a central config for this so that it doesn't have to be duplicated? slintStarlightSocial or so?
|
@claude Review please (There is no aspect of public API in this PR; but code-reuse and CI coverage is particularly valuable; check licenses as well) |
|
Claude encountered an error after 3m 3s —— View job Review
Public API: no impact. This PR only touches the Material docs website ( Confirmed: the new Playwright tests never run in CI
Compare with The 180+ new lines in Code reuse: two places duplicate a helper instead of using it
Licenses: look correct
SummaryNo public API risk. The main thing I'd want addressed before merge is wiring the new Playwright suite into |
|
@claude Review again please (There is no aspect of public API in this PR; but code-reuse and CI coverage is particularly valuable; check licenses as well |
|
Claude finished @tronical's task in 1m 14s —— View job Review
Public API: still no impact. The five commits added since the last review ( CI coverage: not yet addressedThe new Playwright tests in Code reuse: also not yet addressed
Licenses: still look correct
SummaryNo public API risk. The two things flagged in the first review — wiring the Playwright suite into |
Run the Material Playwright suite in CI and retain its report. Reuse the shared markdown and social configuration while preserving Astro 7.3's processor API, the Material repository link, and the homepage icon order.
Knip does not infer the workflow job's default working directory. Set it on both Playwright steps so CI attributes the binary to the Material docs package.
The material site was based on AstroWind and causes non stop security alerts from outdated dependencies. This strips everything out so it is just a boring normal Astro site and can be updated with all the docs sites instead.