Conversation
Replaced MkDocs Material documentation site with Astro + Starlight. Added Astro config, custom components, content structure, and deployment workflow. Removed legacy MkDocs files and migrated all documentation content to the new format with bilingual support and improved project organization.
Implements a snap scroll experience for landing and documentation pages by introducing new CSS for section snapping and visual enhancements. Refactors index.mdx (en/zh) to use snap sections and moves feature cards from Hero.astro to the docs index pages. Simplifies language redirect logic in index.astro to use only client-side detection. Updates sponsor roadmaps and adds CNAME and favicon for deployment. Removes the legacy GitHub Actions CI workflow.
There was a problem hiding this comment.
Pull request overview
This pull request migrates the FlightNG documentation from MkDocs Material to Astro + Starlight, modernizing the documentation infrastructure with improved performance, better mobile experience, and enhanced customization capabilities.
Changes:
- Complete migration from MkDocs Material to Astro + Starlight framework
- Conversion of all Markdown documentation with updated syntax (MkDocs admonitions to Starlight)
- Custom CSS styling system with Apple-inspired design and snap-scroll landing pages
- Bilingual support (Chinese/English) with language detection and redirects
Reviewed changes
Copilot reviewed 56 out of 70 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| astro.config.mjs | Main Astro configuration with Starlight integration, i18n setup, and sidebar navigation |
| package.json | New dependencies for Astro and Starlight framework |
| src/pages/index.astro | Root page with language detection and redirect logic |
| src/styles/custom.css | Custom CSS with snap-scroll sections and Apple-inspired design tokens |
| src/content/docs/** | All documentation files converted from MkDocs to Starlight format |
| src/components/Hero.astro | Custom hero component for landing pages |
| .github/workflows/deploy.yml | Updated CI/CD for Astro deployment to GitHub Pages |
| mkdocs.yml, requirements.txt | Removed legacy MkDocs configuration files |
| .npmrc | NPM registry configuration for China mirror |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1 @@ | |||
| registry=https://registry.npmmirror.com | |||
There was a problem hiding this comment.
The .npmrc file configures npm to use a China-specific mirror registry. This should be removed or moved to a local user configuration, as it forces all contributors to use this registry which may not be desired for international collaborators. Consider documenting this as an optional setup step in the README instead.
| <head> | ||
| <meta charset="utf-8" /> | ||
| <title>FlightNG - Redirecting...</title> | ||
| <meta http-equiv="refresh" content="0;url=/en/" /> |
There was a problem hiding this comment.
The meta refresh tag hardcodes '/en/' as the fallback, but the JavaScript below may redirect to '/zh/' based on browser language. This creates a race condition where both redirects compete. Remove the meta refresh and rely solely on the JavaScript redirect, or align the fallback with the defaultLocale setting in astro.config.mjs (which is 'zh').
| import starlight from '@astrojs/starlight'; | ||
|
|
||
| export default defineConfig({ | ||
| site: 'https://flightng.com', |
There was a problem hiding this comment.
The site configuration specifies 'https://flightng.com' but the deployment workflow and README reference GitHub Pages deployment. If deploying to GitHub Pages at flightng.github.io, this should be updated to match, or a 'base' property should be added if using a subdirectory. The CNAME file in public/ suggests custom domain usage, which should be confirmed and documented.
No description provided.