extra-typedoc-theme
Version:
TypeDoc theme for extra-* packages.
24 lines • 930 B
JavaScript
import { DefaultTheme } from "typedoc";
// Preserve static methods of DefaultTheme.
const getUrlDefault = DefaultTheme.getUrl;
// Check if symbol is external.
function isExternalSymbol(reflection) {
return !reflection.sources
|| reflection.sources.length === 0
|| reflection.sources[0].fileName.startsWith("node_modules");
}
// Modify the default theme.
class ExtraTypedocTheme extends DefaultTheme {
// Remove url suffix (function-1.html → function.html).
static getUrl(reflection, relative, separator) {
var def = getUrlDefault(reflection, relative, separator);
var mod = def.replace(/\-\d+(\.\w+)?$/, "$1");
return isExternalSymbol(reflection) ? def : mod;
}
}
// Define the theme.
export function load(app) {
app.renderer.defineTheme("extra-typedoc-theme", ExtraTypedocTheme);
DefaultTheme.getUrl = ExtraTypedocTheme.getUrl;
}
//# sourceMappingURL=index.js.map