@gobstones/typedoc-theme-gobstones
Version:
A simple theme for the Gobstones generated documentation.
72 lines • 4.19 kB
TypeScript
/**
* @module Theme
* @author Alan Rodas Bonjour <alanrodas@gmail.com>
*/
import { CommentDisplayPart, ContainerReflection, DeclarationHierarchy, DeclarationReflection, DefaultTheme, DefaultThemeRenderContext, DocumentReflection, JSX, Options, PageEvent, ProjectReflection, Reflection, RenderTemplate, SignatureReflection, SomeType, Type, TypeParameterReflection } from 'typedoc';
import { IconRecord } from './Icons';
/**
* The main context of the theme. This class contains the
* basic behavior of how the theme should look on different scenarios,
* that is, how it will render every part of the theme depending on
* the reflection to render.
*/
export declare class GobstonesThemeContext extends DefaultThemeRenderContext {
readonly theme: DefaultTheme;
page: PageEvent<Reflection>;
private _customRefIcons;
defaultLayout: (template: RenderTemplate<PageEvent<Reflection>>, props: PageEvent<Reflection>) => JSX.Element;
documentTemplate: (props: PageEvent<DocumentReflection>) => JSX.Element;
hierarchyTemplate: (props: PageEvent<ProjectReflection>) => JSX.Element;
indexTemplate: (props: PageEvent<ProjectReflection>) => JSX.Element;
reflectionTemplate: (props: PageEvent<ContainerReflection>) => JSX.Element;
toolbar: (props: PageEvent<Reflection>) => JSX.Element;
footer: () => JSX.Element;
sidebar: (props: PageEvent<Reflection>) => JSX.Element;
pageSidebar: (props: PageEvent<Reflection>) => JSX.Element;
sidebarLinks: () => JSX.Element | null;
settings: () => JSX.Element;
navigation: (props: PageEvent<Reflection>) => JSX.Element;
pageNavigation: (props: PageEvent<Reflection>) => JSX.Element;
header: (props: PageEvent<Reflection>) => JSX.Element;
breadcrumb: (props: Reflection) => JSX.Element | undefined;
commentShortSummary: (props: Reflection) => JSX.Element | undefined;
commentSummary: (props: Reflection) => JSX.Element | undefined;
commentTags: (props: Reflection) => JSX.Element | undefined;
reflectionFlags: (props: Reflection) => JSX.Element;
displayParts: (parts: readonly CommentDisplayPart[] | undefined) => JSX.Element | undefined;
type: (typ: SomeType | undefined, options?: {
topLevelLinks: boolean;
}) => JSX.Element;
typeAndParent: (props: Type) => JSX.Element;
typeParameters: (typeParameters: TypeParameterReflection[]) => JSX.Element;
typeDetails: (props: SomeType, renderAnchors: boolean) => JSX.Children;
typeDetailsIfUseful: (props: SomeType | undefined) => JSX.Children;
typeDeclaration: (props: SomeType) => JSX.Children;
member: (props: DeclarationReflection | DocumentReflection) => JSX.Element;
memberDeclaration: (props: DeclarationReflection) => JSX.Element;
memberGetterSetter: (props: DeclarationReflection) => JSX.Element;
memberSignatureBody: (props: SignatureReflection) => JSX.Element;
memberSignatureTitle: (props: SignatureReflection) => JSX.Element;
memberSignatures: (props: DeclarationReflection) => JSX.Element;
memberSources: (props: SignatureReflection | DeclarationReflection) => JSX.Element;
members: (props: ContainerReflection) => JSX.Element;
/**
* Rendered just after the description for a reflection.
* This can be used to render a shortened type display of a reflection that the
* rest of the page expands on.
*
* Note: Will not be called for variables/type aliases, as they are summarized
* by their type declaration, which is already rendered by {@link GobstonesThemeContext.memberDeclaration}
*/
reflectionPreview: (props: Reflection) => JSX.Element | undefined;
moduleReflection: (mod: ProjectReflection | DeclarationReflection) => JSX.Element;
hierarchy: (props: DeclarationHierarchy | undefined) => JSX.Element | undefined;
index: (props: ContainerReflection) => JSX.Element;
constructor(theme: DefaultTheme, page: PageEvent<Reflection>, options: Options);
/**
* Icons available for use within the page.
*/
get icons(): Readonly<IconRecord>;
markdown: (md: readonly CommentDisplayPart[] | string | undefined) => string;
}
//# sourceMappingURL=GobstonesThemeContext.d.ts.map