Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 3.16 KB

using-typedoc.mdx

File metadata and controls

83 lines (62 loc) · 3.16 KB

import { Callout, FileTree } from 'nextra/components';

Using TypeDoc

This plugin is like any other TypeDoc plugin and is fully compatible with the TypeDoc ecosystem, supporting other plugins (not specifically targetting HTML output) and the majority of TypeDoc's options.

Please refer to TypeDoc's Configuration Options for detailed information on how to configure options.

Option Typings

You can inform your IDE about the shape of the exported options the plugin provides.

JSON Files

You can utilize the provided JSON schema at https://typedoc-plugin-markdown.org/schema.json. For simplicity of configuration, this schema consolidates all options from TypeDoc and the plugin.

{
  "$schema": "https://typedoc-plugin-markdown.org/schema.json",
  "entryPoints": ["./src/index.ts", "./src/secondary-entry.ts"],
  "out": "docs",
  "plugin": ["typedoc-plugin-markdown", "some-other-plugin"],
};

JavaScript Files

For JavaScript files, the PluginOptions interface that can be imported to a typedoc.config.js file with a @type annotation.

You can use intersection types to combine the TypeDoc options with the plugin options.

/** @type {import('typedoc').TypeDocOptions & import('typedoc-plugin-markdown').PluginOptions} */
module.exports = {
  entryPoints: ['./src/index.ts', './src/secondary-entry.ts'],
  out: 'doc',
  plugin: ['typedoc-plugin-markdown', 'some-other-plugin'],
};

Supported TypeDoc Options

Pre-Render Options

The majority of TypeDoc's options are used internally by TypeDoc to convert a project and define the structure of the models.

These options are output/theme agnostic and can be set in the same as you would with the HTML theme:

Output Options

TypeDoc's Output options are used by the renderer and theme. The majority of these options are specific to HTML output and are not applicable to markdown output.

Below is a list of which TypeDoc Output options are supported or not:

  • --out Yes ✅
  • --theme Yes ✅ (theme should be MarkdownTheme instance)
  • --cleanOutputDir Yes ✅
  • --basePath Yes ✅
  • --hideParameterTypesInTitle No ❌ (use --expandParameters)
  • --navigation No ❌ (use --navigationModel)
  • --titleLink No ❌
  • --navigationLinks No ❌
  • --sidebarLinks No ❌
  • --navigationLeaves No ❌
  • --lightHighlightTheme No ❌
  • --darkHighlightTheme No ❌
  • --customCss No ❌
  • --markedOptions No ❌
  • --cname No ❌
  • --sourceLinkExternal No ❌
  • --htmlLang No ❌
  • --githubPages No ❌
  • --cacheBust No ❌
  • --gaID No ❌
  • --hideGenerator No ❌
  • --searchInComments No ❌