mirror of
https://github.com/supabase/supabase.git
synced 2026-07-02 02:54:18 +08:00
* chore(docs,refs): prebuild self-hosted ref data Pregenerate self-hosted ref data files, in the style of the client lib, Management API, and CLI references. Preparatory step for migrating the self-hosted references to App Router. * refactor(docs): convert self-hosting to app router Convert self-hosting reference pages to App Router. * fix(docs,sitemap)
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { REFERENCES } from '../../content/navigation.references'
|
|
import { getFlattenedSections } from '../../features/docs/Reference.generated.singleton'
|
|
|
|
export async function generateReferencePages() {
|
|
return (
|
|
await Promise.all(
|
|
Object.keys(REFERENCES)
|
|
.flatMap((key) => {
|
|
if (REFERENCES[key].versions.length === 0) {
|
|
return [
|
|
{
|
|
sdkId: REFERENCES[key].libPath,
|
|
version: 'latest',
|
|
isLatestVersion: true,
|
|
libPath: REFERENCES[key].libPath,
|
|
},
|
|
]
|
|
}
|
|
return REFERENCES[key].versions.map((version) => {
|
|
return {
|
|
sdkId: key,
|
|
version: version,
|
|
isLatestVersion: version === REFERENCES[key].versions[0],
|
|
libPath: REFERENCES[key].libPath,
|
|
}
|
|
})
|
|
})
|
|
.map(async ({ sdkId, version, libPath, isLatestVersion }) => {
|
|
const flattenedSections = await getFlattenedSections(sdkId, version)
|
|
return (
|
|
flattenedSections?.map((section) => ({
|
|
link: isLatestVersion
|
|
? `reference/${libPath}/${section.slug}`
|
|
: `reference/${libPath}/${version}/${section.slug}`,
|
|
})) ?? []
|
|
)
|
|
})
|
|
)
|
|
).flat()
|
|
}
|