feat(docs): redirect console docs to docs site

This commit is contained in:
Haitao Pan 2026-03-20 22:45:13 +08:00
parent 4acd8ead70
commit be0424652c
2 changed files with 14 additions and 20 deletions

View File

@ -4,6 +4,7 @@ import { withContentlayer } from "next-contentlayer";
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename); const __dirname = path.dirname(__filename);
const docsSiteBaseUrl = (process.env.NEXT_PUBLIC_DOCS_BASE_URL || "https://docs.svc.plus").replace(/\/$/, "");
const nextConfig = { const nextConfig = {
// =============================== // ===============================
@ -85,6 +86,16 @@ const nextConfig = {
export async function redirects() { export async function redirects() {
return [ return [
{
source: '/docs',
destination: `${docsSiteBaseUrl}/docs`,
permanent: true,
},
{
source: '/docs/:path*',
destination: `${docsSiteBaseUrl}/docs/:path*`,
permanent: true,
},
{ {
source: '/XStream', source: '/XStream',
destination: '/xstream', destination: '/xstream',

View File

@ -1,6 +1,6 @@
import type { MetadataRoute } from 'next' import type { MetadataRoute } from 'next'
import { getBlogList, getDocCollections } from '@/lib/docsServiceClient' import { getBlogList } from '@/lib/docsServiceClient'
import { PRODUCT_LIST } from '@/modules/products/registry' import { PRODUCT_LIST } from '@/modules/products/registry'
const baseUrl = 'https://console.svc.plus' const baseUrl = 'https://console.svc.plus'
@ -9,10 +9,7 @@ export const dynamic = 'force-dynamic'
export const revalidate = 3600 // Revalidate every hour export const revalidate = 3600 // Revalidate every hour
export default async function sitemap(): Promise<MetadataRoute.Sitemap> { export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const [{ posts }, collections] = await Promise.all([ const { posts } = await getBlogList({ page: 1, pageSize: 500 })
getBlogList({ page: 1, pageSize: 500 }),
getDocCollections(),
])
const staticEntries: MetadataRoute.Sitemap = [ const staticEntries: MetadataRoute.Sitemap = [
{ {
@ -30,11 +27,6 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
changeFrequency: 'weekly', changeFrequency: 'weekly',
priority: 0.8, priority: 0.8,
}, },
{
url: `${baseUrl}/docs`,
changeFrequency: 'weekly',
priority: 0.8,
},
{ {
url: `${baseUrl}/download`, url: `${baseUrl}/download`,
changeFrequency: 'monthly', changeFrequency: 'monthly',
@ -76,14 +68,5 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
priority: 0.7, priority: 0.7,
})) }))
const docsEntries: MetadataRoute.Sitemap = collections.flatMap((collection) => return [...staticEntries, ...productEntries, ...blogEntries]
collection.versions.map((version) => ({
url: `${baseUrl}/docs/${collection.slug}/${version.slug}`,
lastModified: version.updatedAt ? new Date(version.updatedAt) : undefined,
changeFrequency: 'monthly',
priority: 0.6,
})),
)
return [...staticEntries, ...productEntries, ...blogEntries, ...docsEntries]
} }