@@ -2,7 +2,9 @@ import { DocsLayout } from '@/app/docs/[[...slug]]/docs.layout';
22import { getPage } from '@/lib/docs' ;
33import { createMetadata } from '@/lib/metadata' ;
44import { getPageTreePeers } from '@/lib/pageTree' ;
5+ import { getToc } from '@/lib/remark-plugins/toc' ;
56import { type DocsPage , type DocsSource , docs } from '@/lib/source' ;
7+ import { filterCotent } from '@/lib/toc' ;
68import { getDocId , getDocUrl , parseDocId } from '@/lib/utils' ;
79import { getMDXComponents } from '@/mdx-components' ;
810import { Identity } from '@/mdx/Identity' ;
@@ -25,25 +27,28 @@ export default async function Docs(props: {
2527 const page = getPage ( docUrl ) ;
2628 if ( ! page ) notFound ( ) ;
2729 const { isApp, isPages, isVLatest, version } = parseDocId ( docId ) ;
30+ let content = page . data . content ;
2831
2932 let { body : MdxContent , toc } = await page . data . load ( ) ;
30-
31- // source: app/getting-started/installation
3233 const ref = page . data . source ;
3334 if ( ref ) {
3435 const refUrl = getDocUrl ( isVLatest ? ref : `${ version } /${ ref } ` ) ;
3536 const refPage = getPage ( refUrl ) ;
3637 if ( ! refPage ) notFound ( ) ;
37-
3838 const { body : MdxContent2 , toc : toc2 } = await refPage . data . load ( ) ;
3939
40+ content = refPage . data . content ;
4041 MdxContent = MdxContent2 ;
4142 toc = toc2 ;
4243 }
4344
4445 const hasRelated = page . data . related ;
4546 const isIndex = page . file . name === 'index' ;
4647
48+ if ( isApp || isPages ) {
49+ toc = await getToc ( filterCotent ( { content, isApp, isPages } ) ) ;
50+ }
51+
4752 return (
4853 < DocsLayout docId = { docId } pageTree = { docs . pageTree } >
4954 < UiDocsPage
0 commit comments