feat(website): render syntax and mdx on the server (#9086)

This commit is contained in:
Suneet Tipirneni
2023-03-23 17:17:41 -04:00
committed by GitHub
parent bc641fa936
commit ee5169e0aa
91 changed files with 820 additions and 1688 deletions

View File

@@ -14,8 +14,8 @@ export function Enum({ item }: { item: ApiEnum }) {
<SummarySection item={item} />
<DocumentationSection icon={<VscSymbolEnum size={20} />} padded title="Members">
<div className="flex flex-col gap-4">
{item.members.map((member) => (
<Panel key={member.containerKey}>
{item.members.map((member, idx) => (
<Panel key={`${member.displayName}-${idx}`}>
<EnumMember member={member} />
</Panel>
))}

View File

@@ -9,7 +9,7 @@ export function Function({ item }: { item: ApiFunction }) {
if (item.getMergedSiblings().length > 1) {
const overloads = item
.getMergedSiblings()
.map((sibling, idx) => <FunctionBody item={sibling as ApiFunction} key={idx} />);
.map((sibling, idx) => <FunctionBody item={sibling as ApiFunction} key={`${sibling.displayName}-${idx}`} />);
return (
<div>

View File

@@ -1,7 +1,6 @@
import type { ApiFunction } from '@microsoft/api-extractor-model';
import { SyntaxHighlighter } from '~/components/SyntaxHighlighter';
import { Documentation } from '~/components/documentation/Documentation';
import { Header } from '~/components/documentation/Header';
import { ParameterSection } from '~/components/documentation/section/ParametersSection';
import { SummarySection } from '~/components/documentation/section/SummarySection';
import { TypeParameterSection } from '~/components/documentation/section/TypeParametersSection';
@@ -13,7 +12,7 @@ export interface FunctionBodyProps {
export function FunctionBody({ item }: { item: ApiFunction }) {
return (
<Documentation item={item} showHeader={false}>
<Documentation>
<SyntaxHighlighter code={item.excerpt.text} />
<SummarySection item={item} />
{item.typeParameters.length ? <TypeParameterSection item={item} /> : null}

View File

@@ -20,7 +20,9 @@ export function Method({
// each overload node on the server.
const overloads = method
.getMergedSiblings()
.map((sibling, idx) => <MethodDocumentation key={idx} method={sibling as ApiMethod | ApiMethodSignature} />);
.map((sibling, idx) => (
<MethodDocumentation key={`${sibling.displayName}-${idx}`} method={sibling as ApiMethod | ApiMethodSignature} />
));
return (
<OverloadSwitcher overloads={overloads}>