import { categorizeRelatedDocuments, generateRelatedDocumentsTemplate, ProcessedDocument, RelatedDocument, } from '@nrwl/nx-dev/models-document'; import { Breadcrumbs, Footer } from '@nrwl/nx-dev/ui-common'; import { renderMarkdown } from '@nrwl/nx-dev/ui-markdoc'; import { NextSeo } from 'next-seo'; import { useRouter } from 'next/router'; import { useRef } from 'react'; import { collectHeadings, TableOfContents } from './table-of-contents'; export function DocViewer({ document, relatedDocuments, }: { document: ProcessedDocument; relatedDocuments: RelatedDocument[]; }): JSX.Element { const router = useRouter(); const ref = useRef(null); const { metadata, node, treeNode } = renderMarkdown( document.content.toString(), { filePath: document.filePath, } ); const vm = { title: metadata['title'] ?? document.name, description: metadata['description'] ?? document.description, content: node, relatedContent: renderMarkdown( generateRelatedDocumentsTemplate( categorizeRelatedDocuments(relatedDocuments) ), { filePath: '', } ).node, tableOfContent: collectHeadings(treeNode), }; return ( <>
{/*MAIN CONTENT*/}
{vm.content}
{/*RELATED CONTENT*/}
{vm.relatedContent}
{document.filePath ? ( ) : null}