feat: add website documentation early mvp (#8183)

Co-authored-by: iCrawl <buechler.noel@outlook.com>
This commit is contained in:
Suneet Tipirneni
2022-07-01 14:54:15 -04:00
committed by GitHub
parent e0c8282490
commit d95197cc78
41 changed files with 1800 additions and 647 deletions

View File

@@ -0,0 +1,19 @@
import { DocContainer } from '../DocContainer';
import { MethodList } from '../MethodList';
import { PropertyList } from '../PropertyList';
import type { DocClass } from '~/DocModel/DocClass';
export interface ClassProps {
data: ReturnType<DocClass['toJSON']>;
}
export function Class({ data }: ClassProps) {
return (
<DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary}>
<>
{data.properties.length ? <PropertyList data={data.properties} /> : null}
{data.methods.length ? <MethodList data={data.methods} /> : null}
</>
</DocContainer>
);
}

View File

@@ -0,0 +1,21 @@
import { DocContainer } from '../DocContainer';
import type { DocEnum } from '~/DocModel/DocEnum';
export interface EnumProps {
data: ReturnType<DocEnum['toJSON']>;
}
export function Enum({ data }: EnumProps) {
return (
<DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary}>
<>
<h3>Members</h3>
<ul>
{data.members.map((member) => (
<li key={member.name}>{member.name}</li>
))}
</ul>
</>
</DocContainer>
);
}

View File

@@ -0,0 +1,15 @@
import { DocContainer } from '../DocContainer';
import { ParameterTable } from '../ParameterTable';
import type { DocFunction } from '~/DocModel/DocFunction';
export interface FunctionProps {
data: ReturnType<DocFunction['toJSON']>;
}
export function Function({ data }: FunctionProps) {
return (
<DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary}>
<ParameterTable data={data.parameters} />
</DocContainer>
);
}

View File

@@ -0,0 +1,19 @@
import { DocContainer } from '../DocContainer';
import { MethodList } from '../MethodList';
import { PropertyList } from '../PropertyList';
import type { DocInterface } from '~/DocModel/DocInterface';
export interface InterfaceProps {
data: ReturnType<DocInterface['toJSON']>;
}
export function Interface({ data }: InterfaceProps) {
return (
<DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary}>
<>
{data.properties.length ? <PropertyList data={data.properties} /> : null}
{data.methods.length ? <MethodList data={data.methods} /> : null}
</>
</DocContainer>
);
}

View File

@@ -0,0 +1,14 @@
import { DocContainer } from '../DocContainer';
import type { DocTypeAlias } from '~/DocModel/DocTypeAlias';
export interface TypeAliasProps {
data: ReturnType<DocTypeAlias['toJSON']>;
}
export function TypeAlias({ data }: TypeAliasProps) {
return (
<DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary}>
<div>WIP</div>
</DocContainer>
);
}

View File

@@ -0,0 +1,10 @@
import { DocContainer } from '../DocContainer';
import type { DocVariable } from '~/DocModel/DocVariable';
export interface VariableProps {
data: ReturnType<DocVariable['toJSON']>;
}
export function Variable({ data }: VariableProps) {
return <DocContainer name={data.name} kind={data.kind} excerpt={data.excerpt} summary={data.summary} />;
}