@@ -6,7 +6,7 @@ import * as runtime from 'react/jsx-runtime';
66import  { remarkPlugins }  from  '../../plugins/markdownToHtml' ; 
77import  remarkGfm  from  'remark-gfm' ; 
88import  remarkFrontmatter  from  'remark-frontmatter' ; 
9- import  { MDXComponents }  from  '../components/MDX/MDXComponents' ; 
9+ import  { MDXComponents ,   MDXComponentsToc }  from  '../components/MDX/MDXComponents' ; 
1010import  { MaxWidthWrapperPlugin }  from  './mdx/MaxWidthWrapperPlugin' ; 
1111import  { ExtractedTOC ,  TOCExtractorPlugin }  from  './mdx/TOCExtractorPlugin' ; 
1212import  { MetaAttributesPlugin }  from  './mdx/MetaAttributesPlugin' ; 
@@ -96,22 +96,44 @@ export async function generateMDX(
9696  } ) ; 
9797
9898  const  { data : meta }  =  grayMatter ( mdx ) ; 
99+   const  toc  =  compiled . data . toc  as  ExtractedTOC [ ] ; 
99100  const  result : CachedResult  =  { 
100101    code : String ( compiled ) , 
101-     toc :  compiled . data . toc   as   ExtractedTOC [ ] , 
102+     toc, 
102103    meta, 
103104  } ; 
104105
105106  await  writeToCache ( store ,  hash ,  result ,  path ) ; 
106107
108+   const  tocWithMDX  =  await  Promise . all ( 
109+     toc . map ( async  ( item )  =>  { 
110+       if  ( typeof  item . node  !==  'string' )  { 
111+         return  item ; 
112+       } 
113+ 
114+       const  compiled  =  await  compile ( item . node ,  { 
115+         outputFormat : 'function-body' , 
116+       } ) ; 
117+ 
118+       const  { default : MDXContent }  =  await  run ( compiled ,  { 
119+         ...runtime , 
120+         baseUrl : import . meta. url , 
121+       } ) ; 
122+ 
123+       item . node  =  < MDXContent  components = { { ...MDXComponentsToc } }  /> ; 
124+ 
125+       return  item ; 
126+     } ) 
127+   ) ; 
128+ 
107129  const  { default : MDXContent }  =  await  run ( result . code ,  { 
108130    ...runtime , 
109131    baseUrl : import . meta. url , 
110132  } ) ; 
111133
112134  return  { 
113135    content : < MDXContent  components = { { ...MDXComponents } }  /> , 
114-     toc : result . toc , 
136+     toc : tocWithMDX , 
115137    meta : result . meta , 
116138  } ; 
117139} 
0 commit comments