generateReferenceMetadata() — supabase Function Reference
Architecture documentation for the generateReferenceMetadata() function in Reference.utils.ts from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD 201fe934_d9a7_666d_72d6_d4c613257d3c["generateReferenceMetadata()"] 9e04b292_66c7_6129_dcb5_dfa277f2392b["parseReferencePath()"] 201fe934_d9a7_666d_72d6_d4c613257d3c -->|calls| 9e04b292_66c7_6129_dcb5_dfa277f2392b 32dd3152_4871_894d_754e_0b5325558dba["getFlattenedSections()"] 201fe934_d9a7_666d_72d6_d4c613257d3c -->|calls| 32dd3152_4871_894d_754e_0b5325558dba 470231a1_c969_e49c_869a_855dad8b74f8["generateOpenGraphImageMeta()"] 201fe934_d9a7_666d_72d6_d4c613257d3c -->|calls| 470231a1_c969_e49c_869a_855dad8b74f8 style 201fe934_d9a7_666d_72d6_d4c613257d3c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/docs/features/docs/Reference.utils.ts lines 130–193
export async function generateReferenceMetadata(
props: { params: Promise<{ slug: Array<string> }> },
resolvingParent: ResolvingMetadata
): Promise<Metadata> {
const { slug } = await props.params
const { alternates: parentAlternates, openGraph: parentOg } = await resolvingParent
const parsedPath = parseReferencePath(slug)
const isClientSdkReference = parsedPath.__type === 'clientSdk'
const isCliReference = parsedPath.__type === 'cli'
const isApiReference = parsedPath.__type === 'api'
const isSelfHostingReference = parsedPath.__type === 'self-hosting'
if (isClientSdkReference) {
const { sdkId, maybeVersion, path } = parsedPath
const version = maybeVersion ?? REFERENCES[sdkId].versions[0]
const flattenedSections = await getFlattenedSections(sdkId, version)
const displayName = REFERENCES[sdkId].name
const sectionTitle =
slug.length > 0
? flattenedSections?.find((section) => section.slug === slug[0])?.title
: undefined
const url = [BASE_PATH, 'reference', sdkId, path[0]].filter(Boolean).join('/')
const images = generateOpenGraphImageMeta({
type: 'API Reference',
title: `${displayName}${sectionTitle ? `: ${sectionTitle}` : ''}`,
})
return {
title: `${displayName} API Reference | ${metadataTitle || 'Supabase'}`,
description: `API reference for the ${displayName} Supabase SDK`,
...(slug.length > 0
? {
alternates: {
canonical: url,
},
}
: {}),
openGraph: {
...parentOg,
url,
images,
},
}
} else if (isCliReference) {
return {
title: 'CLI Reference | Supabase Docs',
description: 'CLI reference for the Supabase CLI',
}
} else if (isApiReference) {
return {
title: 'Management API Reference | Supabase Docs',
description: 'Management API reference for the Supabase API',
}
} else if (isSelfHostingReference) {
return {
title: 'Self-Hosting | Supabase Docs',
}
} else {
return {}
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does generateReferenceMetadata() do?
generateReferenceMetadata() is a function in the supabase codebase.
What does generateReferenceMetadata() call?
generateReferenceMetadata() calls 3 function(s): generateOpenGraphImageMeta, getFlattenedSections, parseReferencePath.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free