Class DefaultTheme

Base class of all themes.

The theme class controls which files will be created through the Theme.getUrls function. It returns an array of UrlMapping instances defining the target files, models and templates to use. Additionally themes can subscribe to the events emitted by Renderer to control and manipulate the output process.

Hierarchy (View Summary)

Accessors

Constructors

Methods

  • Stops listening to an event.

    Type Parameters

    • K extends never

    Parameters

    • event: K

      the event to stop listening to.

    • listener: (this: undefined, ...args: {}[K]) => void

      the function to remove from the listener array.

    Returns void

  • Starts listening to an event.

    Type Parameters

    • K extends never

    Parameters

    • event: K

      the event to listen to.

    • listener: (this: undefined, ...args: {}[K]) => void

      function to be called when an this event is emitted.

    • priority: number = 0

      optional priority to insert this hook with.

    Returns void

  • Emits an event to all currently subscribed listeners.

    Type Parameters

    • K extends never

    Parameters

    • event: K

      the event to emit.

    • ...args: {}[K]

      any arguments required for the event.

    Returns void

Properties

componentName: string

The name of this component as set by the @Component decorator.

icons: {
    "1": () => Element;
    "1024": () => Element;
    "1048576": () => Element;
    "128": () => Element;
    "131072": () => Element;
    "16": () => Element;
    "16384": () => Element;
    "2": () => Element;
    "2048": () => Element;
    "2097152": () => Element;
    "256": () => Element;
    "262144": () => Element;
    "32": () => Element;
    "32768": () => Element;
    "4": () => Element;
    "4096": () => Element;
    "4194304": () => Element;
    "512": () => Element;
    "524288": () => Element;
    "64": () => Element;
    "65536": () => Element;
    "8": () => Element;
    "8192": () => Element;
    "8388608": () => Element;
    alertCaution: () => Element;
    alertImportant: () => Element;
    alertNote: () => Element;
    alertTip: () => Element;
    alertWarning: () => Element;
    anchor: () => Element;
    checkbox: () => Element;
    chevronDown: () => Element;
    chevronSmall: () => Element;
    folder: () => Element;
    menu: () => Element;
    search: () => Element;
} = ...

The icons which will actually be rendered. The source of truth lives on the theme, and the DefaultThemeRenderContext.icons member will produce references to these.

These icons will be written twice. Once to an icons.svg file in the assets directory which will be referenced by icons on the context, and once to an icons.js file so that references to the icons can be dynamically embedded within the page for use by the search dropdown and when loading the page on file:// urls.

Custom themes may overwrite this entire object or individual properties on it to customize the icons used within the page, however TypeDoc currently assumes that all icons are svg elements, so custom themes must also use svg elements.

markedPlugin: MarkedPlugin
usedFileNames: Set<string> = ...
URL_PREFIX: RegExp = ...