UNPKG

996 BJavaScriptView Raw
1const { DefaultTheme, Renderer } = require('typedoc');
2const { RendererEvent } = require('typedoc/dist/lib/output/events');
3const Handlebars = require('handlebars');
4
5module.exports = class CustomTheme extends DefaultTheme {
6
7 /**
8 * @param {Renderer} renderer
9 * @param {string} basePath
10 */
11 constructor(renderer, basePath) {
12 super(renderer, basePath);
13 this.listenTo(renderer, RendererEvent.BEGIN, (e) => this.handleRenderBegin(e, renderer), 1024);
14 }
15
16 /**
17 * @param {RendererEvent} event
18 * @param {Renderer} renderer
19 */
20 handleRenderBegin(event, renderer) {
21 // Swap out `header` template with `header-override` template.
22 const overrideResource = renderer.theme.resources.partials.getResource('header-override')
23 const headerResource = renderer.theme.resources.partials.getResource('header')
24 Handlebars.registerPartial('header-original', headerResource.getTemplate())
25 Handlebars.registerPartial('header', overrideResource.getTemplate())
26 }
27
28}