- Improve title tags with specific page context (Getting Started)
- Enhance meta descriptions to be more action-oriented
- Fix Open Graph locale format (zh_CN instead of zh-CN)
- Add specific OG titles and descriptions per language
- Update siteName to 'FastGPT Documentation'
- Unify Twitter Card image path to /og-image.png
- Add language-specific alt text for OG images
These changes improve:
- Documentation discoverability in search engines
- Social sharing preview quality
- AI system understanding of documentation content
- User engagement from search results
Co-authored-by: archer <archer@archerdeMac-mini.local>
* feat(docs): add analytics tracking script support
- Add tracking script injection in document layout
- Support separate site IDs for CN and IO domains
- Add build-time environment variables for tracking config
- Requires GitHub secrets: DOC_TRACK_SRC, DOC_TRACK_CN, DOC_TRACK_IO
* fix(docs): simplify tracking to single site ID per build
---------
Co-authored-by: archer <archer@archerdeMac-mini.local>
* feat(docs): enable i18n language selector
* docs(i18n): translate introduction page to English
* fix(i18n): fix language switching issue by always showing locale prefix
* fix(docs): use relative paths for internal links to preserve language
* refactor(i18n): add getLocalizedPath helper to simplify URL generation
* refactor(i18n): make getLocalizedPath respect hideLocale config
* feat(i18n): fallback to default language when translation missing, keep URL unchanged
* feat(i18n): fix language loss in navigation and add language selector
- Set hideLocale to 'never' to always show language prefix
- Add localized-navigation.ts with useLocalizedRouter hook
- Update all navigation points to preserve language:
1. Tab navigation (already using getLocalizedPath)
2. Sidebar navigation (handled by Fumadocs)
3. Home/404 redirects (using getLocalizedPath)
4. MDX Redirect component (using useLocalizedRouter)
5. Old page redirects (updated not-found.tsx)
6. Document links (custom LocalizedLink component)
- Configure language selector in layout.config.tsx
- Add LOCALIZED_NAVIGATION.md documentation
* fix(i18n): fix type errors and useEffect dependencies
* refactor(i18n): move redirects to middleware for SSR support
- Move old path redirects from client-side (not-found.tsx) to server-side (middleware.ts)
- Use 301 permanent redirects for better SEO
- Preserve language prefix in redirects
- Fix SSR issue caused by client-side redirects
* refactor(i18n): clean up not-found.tsx, remove duplicate redirect maps
- Remove duplicate exactMap and prefixMap (now in middleware)
- Keep dynamic meta.json lookup for unknown pages
- Simplify to only handle fallback cases
- Two-layer approach: middleware (SSR) + not-found (dynamic)
* refactor(i18n): simplify not-found to always redirect to introduction
- Remove dynamic meta.json lookup
- Always redirect to introduction page on 404
- Ensures no 404 pages are shown
- Keep language prefix in redirect
* fix(i18n): fix middleware type error with ts-expect-error
- Add @ts-expect-error for Fumadocs middleware signature mismatch
- Fix syntax error in config matcher (remove literal \n)
---------
Co-authored-by: archer <archer@archerdeMac-mini.local>
* fix(document): improve mobile sidebar style and UX
- Add icons to 6 navigation tabs (BookOpen, Code, Lightbulb, CircleHelp, Scale, History)
- Reduce mobile sidebar padding and separator spacing
- Fix icon container size in RootToggle dropdown (36px → 20px)
- Keep sidebar open when switching between top-level tabs
- Remove top gradient mask on mobile sidebar viewport
- Fix long URL overflow in article content on mobile
- Fix TOC popover trigger text overflow on mobile
* docs: 中国大陆 → 中国大陆版
* docs: 海外版→国际版, 国内版→中国大陆版
---------
Co-authored-by: archer <archer@archerdeMac-mini.local>