Skip to content

JSX theming #1631

@cspotcode

Description

@cspotcode

Creating an issue to track the work that I'm doing.

Search Terms

jsx, theme, handlebars

Problem

Themes implemented in handlebars, do not use native TS language features. Themes can be typechecked, compiled, and rendered with less tooling if they are written natively in TS.

Suggested Solution

Implement themes as JSX components which can be rendered at build time to static HTML.

Theme is an object with functions/methods. Default themes are implemented as a class, so they can be subclassed, but themes can also use {...defaultTheme, ...overrideFunctions} if they prefer to avoid classes.

Some "extension points" in the theme can be implemented as stubbed methods which return void. Theme implementers can choose to implement these methods to inject markup into the emitted docs.

Related issues:
#1266
TypeStrong/typedoc-default-themes#137
#1543

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions