You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
They are a bit different though, as mine is based on the JSON, while the new ones seem based on the model? Which kind of makes them not easily reusable.
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
The text was updated successfully, but these errors were encountered: